Methods for coding of variable length for structures of coded units

FIELD: information technologies.

SUBSTANCE: several various VLC-tables are stored in coding devices, in process of coding and decoding, one of VLC-tables is selected and used to do coding of SVR for this video unit. Table may be selected on the basis of number of neighbouring video units for current video unit, which include non-zero transformation ratios.

EFFECT: increased coefficients of coding of SVR video units, in which structures of coefficients occurring with higher probability, are coded with the help of shorter codes, while structures of coefficients, which occur with lower probability, are coded with the help of longer codes, which is especially useful in coding of video units of improved layers in coding of scalable video.

25 cl, 7 dwg, 1 tbl

 

In the present application claims the priority of provisional application U.S. number 60/883591, filed January 8, 2007, the contents of which are fully included in this document by reference.

The technical field to which the invention relates

This disclosure entity refers to the encoding of digital video, and more specifically to a variable length coding (VLC) structures coded blocks (CBP), used to encode video information.

The level of technology

The power of digital video can be embedded in a wide range of devices, including digital televisions, digital direct broadcast, wireless communication devices, wireless broadcast systems, personal digital devices (PDAs), laptops, or desktop computers, digital cameras, digital recording devices, video games, video game consoles, cellular or satellite radio telephones, and other Digital video devices implement such methods of video compression such as MPEG-2, MPEG-4 or H.264/MPEG-4 part 10, advanced video coding (AVC), to more effectively send and receive digital video. Methods of video compression perform graphical and temporal prediction to reduce or remove redundancy present videosignal.

When the video encoding video compression, in General, includes spatial prediction, motion estimation and motion compensation. Internal coding relies on spatial prediction to reduce or remove spatial redundancy between videobloom in this video. Mutual coding based on temporal prediction to reduce or remove temporal redundancy between videobloom consecutive frames in a video sequence. For mutual encoding 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 the forecast videobloom in one or more reference frames. Motion compensation uses the motion vectors to generate the predictive video section of the base frame. After motion compensation residual video section is formed by subtracting the predicted videoblog from the original videoblog.

The video encoder typically uses the processes of transformation, quantization and variable length coding (VLC) to further reduce the bit rate, associative sviazannuju transfer residual block. VLC encompasses the use of arithmetic codes or codes of variable length in order to further compress the residual coefficients generated through the operations of quantization and transformation. One example of VLC is context-adaptive variable length coding (CAVLC). After the information is encoded, it can be sent to another device. The video decoder performs the reverse operation to recover the encoded video using the information of motion and residual information of each block.

Certain video encoding uses scalable methods. For example, scalable video coding (SVC) is referred to as video encoding, which uses a base layer and one or more scalable superior layers. For the SVC base layer is typically carries the video data with a basic level of quality. One or more enhanced layers carry additional video data to support higher spatial, temporal levels and/or levels of SNR. The base layer may be transmitted in a way that is more reliable than the methods of transfer superior layers. For example, the most reliable part of the modulated signal can be used to transmit the base layer, while less reliable part of the modulated signal m which can be used to convey superior layers.

Disclosure of invention

In General, this disclosure entity describes methods for encoding structures coded blocks (CBP) videobloom. CBP referred to as the structure of the coefficients in the framework of videobloom, which are encoded through information, which is converted into the structures. To encode various CBP techniques may be used in the variable length coding (VLC), in which the structure of the coefficients which occur with greater probability, are encoded using shorter codes, whereas the structure of the coefficients that occur with lower probability are encoded using longer codes. The encoded video section may include a flag or other information in its header to indicate that CBP used.

According to the methods of this disclosure are several different VLC tables stored in the device coding. During the process of encoding and decoding one of the VLC tables is selected and used to perform the encoding CBP for this videoblog. The table can be chosen in such a way, which promotes the efficiency of encoding. For this purpose methods can use the phenomenon of spatial redundancy within a video frame. In particular, the methods of this disclosure can perform the selection is ablity CBP VLC current videoblog based on the number of neighboring videoblocks for the current videoblog, which include non-zero transform coefficients. Methods can be particularly useful in the coding of videobloom enhanced layers in the scalable video coding (SVC).

In one example, this disclosure entity provides a method containing a selection of VLC tables for the current videoblog from multiple tables based on the number of neighboring videoblocks for the current videoblog, which include non-zero transform coefficients, and encoding one or more CBP of the current videoblog using the selected VLC table.

In another example, this disclosure entity provides a device containing VLC-module, configured to select a VLC table for the current videoblog from multiple tables based on the number of neighboring videoblocks for the current videoblog, which include non-zero transform coefficients, and encoding one or more CBP of the current videoblog using the selected VLC table.

In another example, this disclosure entity provides a device containing the picker VLC tables for the current videoblog from multiple tables based on the number of neighboring videoblocks for the current videoblog, which include non-zero transform coefficients, and encoding means one or more of the CBP of the current videoblog used with the eating of the selected VLC table.

The techniques described in this disclosure entities that may be implemented in hardware, software, firmware, or in any structure. If implemented in software, the software may be implemented in one or more processors such as a microprocessor, a specialized integrated circuit (ASIC), programmable by the user matrix BIS (FPGA) or digital signal processor (DSP). The software, which results in the execution of the techniques may be initially stored in a machine-readable medium and loaded and executed in the processor.

Accordingly, this disclosure entity also considers the machine-readable medium containing instructions that, when executed in a device for encoding video instruct the device to select a VLC table for the current videoblog from multiple tables based on the number of neighboring videoblocks for the current videoblog, which include non-zero transform coefficients, and encoding one or more CBP of the current videoblog using the selected VLC table. In some cases, the machine-readable medium may form part of a computing program product, which can be sold to manufacturers and/or used in the device Cody is Finance video. The computing program product may include computer-readable media, and in some cases may also include the packaging.

In other cases, the disclosure of an entity can be directed to the scheme, such as integrated circuit chipset, specialized integrated circuit (ASIC), programmable gate array (FPGA), logic, or various patterns above, is configured to perform one or more of the methods described in this document.

The details of one or more embodiments of this disclosure entity set forth on the attached drawings and the following description. Other characteristics, objectives and advantages of the methods described in this disclosure, the entity shall become apparent from the description and drawings, and from the claims.

Brief description of drawings

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

Figure 2 is a conceptual diagram illustrating the video frames of the base layer and the enhanced layer bitstream of scalable video.

Figure 3 is a block diagram illustrating an example of a video encoder in accordance with this disclosure entity.

Figure 4 is a block diagram illustrating an example of a video decoder in accordance with this disclosed is eat entity.

5 is an exemplary block diagram of the module of variable length coding (VLC).

6 is an exemplary block diagram of the module VLC-decoding.

7 is a flowchart of the operational sequence of the method, illustrating the method of VLC to encode structures coded blocks (CBP), in accordance with this disclosure entity.

The implementation of the invention

Figure 1 is a block diagram illustrating a system 10 for encoding and decoding video. As shown in figure 1, the system 10 includes a source device 12 that transmits encoded video in the receiving device 16 via the communication channel 15. Source device 12 may include a video source 20, the video encoder 22 and the modulator/transmitter 24. The receiving device 16 may include a receiver/demodulator 26, the video decoder 28 and the device 30 of the display. The system 10 can be implemented with the possibility to apply the methods for variable length coding (VLC) structures coded blocks (CBP) video.

CBP referred to as the structure of the coefficients in the framework of videobloom, which are encoded through information, which is converted into the structures. In some formats CBP contain chetyrehpostovye sets of coefficients, and several CBP are encoded for each videoblog. However, longer or shorter CBP is there to be specified. To encode various CBP techniques may be used VLC, in which the structure of the coefficients which occur with greater probability, are encoded using shorter codes, and patterns of factors that occur with lower probability are encoded using longer codes. The encoded video section may include a flag or other information in its header to indicate that CBP used in the encoding scheme.

According to the methods of this disclosure are several different VLC tables stored in the corresponding video encoder 22 and video decoder 28 of the device 12, 16 encoding. During the process of encoding and decoding one of the VLC tables is selected and used to perform the encoding or decoding CBP for this videoblog. The encoding and decoding, in General, can be referred to in this document as the encoding. The table can be chosen in such a way, which promotes the efficiency of encoding. For example, video encoder 22 and video decoder 28 may use the phenomenon of spatial redundancy within a video frame. In particular, video encoder 22 and video decoder 28 may perform the selection table for CBP VLC current videoblog based on the number of neighboring videoblocks for the current videoblog, which include a non-zero coefficients of the conversion on the deposits. These methods may be particularly useful in the coding of videobloom enhanced layers in the scalable video coding (SVC).

In the example of figure 1, the channel 15 may also contain any wireless and wired communication environment, such as radio frequency (RF) spectrum or one or more physical transmission lines, or any combination of wired and wireless environment. The channel 15 may form part of a network packet, such as a local area network, global computer network or a global network such as the Internet. The communication channel 15, in General, represents any appropriate communication environment or set of environments to transfer the video data from source device 12 to the receiver 16.

Source device 12 generates video for transmission to the receiving device 16. In some cases, however, the devices 12, 16 can work almost symmetric way. For example, each of devices 12, 16 may include components for encoding and decoding video. Thus, the system 10 may support one-way and two-way video transmission between the devices 12, 16, for example, for streaming video, broadcast video, or video telephony.

Video 20 of source device 12 may include a video capture device, so the e as a camcorder, a video archive containing previously captured video, or visual performance from the provider of the video content. As a further alternative, the video source 20 may generate based on computer graphics data as the source video, or a combination of live video and computer generated video. In some cases, if the video source 20 is a video camera, source device 12 and the receiving device 16 may form a so-called camera phones or video phones. In each case, the captured, pre-captured or created by computer video can be encoded by video encoder 22 for transmission of the video source device 12, 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 methods VLC for CBP as described in this document, in order to improve 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.

Video encoder 22 and video decoder 28 may be in the being, with the ability to support scalable video coding (SVC) for spatial scaling, time scaling and scaling the signal-to-noise ratio (SNR). In some aspects, video encoder 22 and video decoder 28 can be made to support the encoding, scaling SNR with a high degree of detail (FGS) for SVC. The encoder 22 and decoder 28 can support varying degrees of scale by supporting the encoding, transmission and decoding of base layer and one or more scalable superior layers. For scalable video encoding a base layer carries the video data with a basic level of quality. One or more enhanced layers carry additional data to support a higher spatial, temporal levels and/or levels of SNR. The base layer may be transmitted in a way that is more reliable than sending superior layers. For example, the most reliable part of the modulated signal can be used to transmit the base layer, while less reliable part of the modulated signal can be used to convey the superior layers.

To support SVC video encoder 22 may include an encoder 32 base layer and one or more encoders 34 superior layer to encode the base layer and one or more enhanced layers, respectively. The methods of this disclosure essence of the tee, modifying selection table for CBP VLC current videoblog based on the number of neighboring videoblocks for the current videoblog, which include non-zero transform coefficients, can be particularly useful when encoding videobloom superior layers in SVC.

Video decoder 28 may contain combined basic/enhanced decoder that decodes video ad units, associative related to both the base and enhanced layers, and combines the decoded video to restore the frames in the video sequence. The device 30, the display receives the decoded sequence and represents the sequence to the user.

Video encoder 22 and video decoder 28 may operate according to this standard the integration as MPEG-2, MPEG-4, ITU-T H.263, 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 integrated with audiocamera and decoder and may include appropriate modules MUX-DEMUX or other hardware and software, to handle encoding of both audio and video in a common data stream or separate data streams. If applicable, the modules MUX-DEMUX can meet the multiplexer Protocol ITU H.223 or other protocols, so the AK user datagram Protocol (UDP).

H.264/MPEG-4 (AVC) formulated by the Expert group in the field of video encoding (VCEG) of ITU-T jointly with the Expert group on the film image (MPEG) of ISO/IEC as the product of a collective partnership project, known as the combined group video standards (JVT). In some aspects, the methods described in this disclosure entity, can be applied to devices that, in General, conform to the H.264 standard. The H.264 standard is described in the document ITU-T Recommendation H.264, "Advanced video coding for generic audiovisual services" from the study group ITU-T and dated March 2005, which may be referred to in this document as H.264 or H.264 specification, either the standard or specification of H.264/AVC.

United group video standards (JVT) continues to work on addition for scalable video coding (SVC) H.264/MPEG-4 AVC. Specification of the developing additions SVC is given in the form of a 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 entity. Detailed information regarding the encoding, scaling SNR with a high degree of detail (FGS)can be found in the documents together what about the project, in particular in the Joint Draft 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. In addition, additional information, according to one implementation of the methods described in this document can be found in the document with proposals JVT-V092 sent in JVT of ISO/IEC MPEG and ITU-T VCEG authors Marta Karczewicz, Hyukjune Chung and Phoom Sagetong 13-19 January 2007 at 22 conference in Marrakech, Morocco.

In some aspects for broadcast video transmission techniques described in this disclosure entity, can be applied to advanced H.264 video encoding for delivering real-time video services in terrestrial systems multicast in mobile multimedia (TM3), using the specification of the radio interface only direct line of communication (FLO), "Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast," which should be published as Technical standard TIA-1099 (the"FLO Specification"). In other words, the channel 15 may also contain a wireless information channel used in order to broadcast a wireless video information according to the specification FLO, etc. Specification FLO includes examples that specifies the syntax and semantics of the bit stream, and processes decode the Finance, suitable for air FLO. Alternatively, the video can be transmitted in broadcast mode according to other standards, such as DVB-H (digital broadcast video to handheld devices), ISDB-T (integrated services digital terrestrial broadcasting or DMB (digital media stream broadcast). Therefore, the source device 12 may be a mobile wireless terminal, the streaming server video server and broadcast video. However, the techniques described herein are not limited to any particular type of system broadcast, multicast or transfer of point-to-point. In the case of broadcast transmission, the source device 12 may transmit in broadcast mode, multiple channels of video data to multiple receiving devices, each of which may be similar to the receiving device 16 of figure 1. As an example, the receiving device 16 may include a wireless communication device, such as a mobile phone, usually referred to as a cell phone.

Video encoder 22 and video decoder 28 may be implemented as one or more microprocessors, digital signal processors (DSP), specific integrated circuits (ASIC), programmable gate mA the Ritz (FPGA), discrete logic, software, hardware, firmware or any combination of the above. 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, subscriber device, broadcast device, server, etc. in Addition, the source device 12 and the receiving device 16 may include appropriate components of the modulation, demodulation, frequency conversion, filtering, and amplifier for transmission and reception of encoded video, depending on need, including radio frequency (RF) wireless components and antennas, sufficient to maintain wireless communication. For simplicity of illustration, however, such components are summarized as modulator/transmitter 24 source device 12 and a receiver/demodulator 26 of the receiving device 16 in figure 1.

The sequence includes a series of video frames. Video encoder 22 operates on blocks of pixels within individual video frames to encode video data. Video ad units may have a fixed or variable size and may vary in size according to the specified standard is the encoding. Each video frame includes a series of consecutive macroblocks. Each series of consecutive macroblocks may include a series of macroblocks, which can be arranged in the subunits. As an example, the standard ITU-T H.264 supports internal forecasting for various block sizes, such as 16 by 16, 8 by 8, 4 by 4 for the luminance components, and 88 chrominance components, as well as their predictions for 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 components of the color.

Smaller video ad units can provide the best resolution and can be used for the positions of video frames which include a higher level of detail. In General, the macroblock (MB) and the different subunits can be considered videobloom. In addition, the series of consecutive macroblocks can be considered a series of videobloom, such as MB and/or subunits. Each series of consecutive macroblocks can be independently decoded by the unit. After forecasting the conversion can be performed for residual block of 88 or residual block of 44 and additional transformation can be applied to the DC coefficients of blocks of 44 for the components of the color or the luminance components, unless the use is : a prediction mode intra_1616.

Following the internal and mutual prediction coding, additional coding methods can be applied to the transmitted bit stream. These additional coding methods may include methods of transformation (such as the integer transform, the 44 or 88 used in H.264/AVC or a discrete cosine transformation DCT) and variable length coding. In particular, the disclosure entity provides methods for encoding CBP of videobloom that can be performed in the encoder 22 in order to encode the data, and the decoder 26 in order to decode the data. In addition, CBP referred to as the structure of the coefficients in the framework of videobloom, for example the structure of the coefficients of the discrete cosine transform or the coefficients of the integer conversion. To encode various CBP techniques may be used VLC, in which the structure of the coefficients which occur with greater probability, are encoded using shorter codes, and patterns of factors that occur with lower probability are encoded using longer codes. The encoded video section may include a flag or other information in its header to indicate that CBP used in the encoding scheme.

According to the methods of this disclosure are several different VLC tables with ranauts in the source device 12 and the receiving device 16. During the process of encoding and decoding of VLC tables are selected so as to perform encoding CBP for this videoblog. The table can be chosen in such a way that facilitates coding efficiency due to the use of the phenomenon of spatial redundancy within a video frame. In particular, according to the methods of this disclosure, the video encoder 22 and video decoder 28 may perform the selection table for CBP VLC current videoblog based on the number of neighboring videoblocks for the current videoblog, which include non-zero transform coefficients (for example, non-zero DCT-coefficients). The neighboring blocks can contain blocks that are previously encoded, and the number of adjacent blocks, which include non-zero transform coefficients, can provide a good indicator selection table for encoding the CBP of the current videoblog because of the possibility of spatial similarity between the current video section and its neighbors.

In one example, the encoder 22 and decoder 28 may perform such mutually opposite ways that each computes the value of the table index for the current videoblog based on the number of neighboring videoblocks for the current videoblog, which include non-zero transform coefficients, and selects a VLC table from multiple tables based on the table in the EU. Video encoder 22 encodes the CBP of the current videoblog using the selected VLC table, while the video decoder 28 decodes the CBP of the current videoblog using the selected VLC table. Since the encoder 22 and decoder 28 base table is selected on the same criteria, one table selected for this videoblog in the encoding process must be identified and selected in the decoding process, ensuring that the process of coding applied by the encoder and decoder remain synchronous.

Figure 2 is a diagram illustrating the video frames in the base layer 17 and the enhanced layer 18 of the bitstream of scalable video. As noted above, the methods of this disclosure may be particularly useful when encoding videobloom superior layers. The base layer 17 may include a bit stream containing encoded video data, which represent the first level of spatial scalability, temporal scalability or SNR-scalability. Improved layer 18 may include a bit stream containing encoded video data, which represent a second level of spatial-temporal-SNR scalability. In some cases, the bit stream enhanced layer is decoded only with the base layer and is not decoded independently. Improved layer 18 contains the link is on the decoded video data in the base layer 17. Such links may be used, or in the transformation, or in the pixel region to form the final decoded video data.

The base layer 17 and the enhanced layer 18 may contain internal (I), mutual (P) and bidirectional (B) frames. P-frames in the superior layer 18 are based on the references on P-frames in the base layer 17. By decoding frames in the superior layer 18 and the base layer 17, the video decoder can improve the quality of decoded video. For example, the base layer 17 may include a movie encoded with a minimum frame rate of 15 frames per second, while the enhanced layer 18 may include a movie encoded with a higher frame rate of 30 frames per second. In order to support the encoding with different quality levels, the base layer 17 and the enhanced layer 18 can be encoded with a higher quantization parameter (QP) and a lower QP, respectively. In addition, the base layer 17 can be transmitted in a way that is more reliable than sending the enhanced layer 18. As an example, the most reliable part of the modulated signal can be used to transmit the base layer 17, while less reliable part of the modulated signal can be used to transmit the enhanced layer 18. The illustration of figure 2 one is camping just exemplary, because the base and superior can be defined in many different ways.

Figure 3 is a block diagram illustrating an example video encoder 50, which includes a VLC module 46 to encode data in accordance with this disclosure entity. Video encoder 50 in figure 3 might correspond to the encoder 34 superior layer of the source device 12 in figure 1. In other words, the components of the encoding of the base layer is not illustrated in figure 3 for simplicity. Thus, video encoder 50 may be improved encoder layer. In some cases, the illustrated components of video encoder 50 may also be implemented in combination with the modules or blocks encoding the base layer, for example in the pyramid scheme of the encoder, which supports scalable video encoding a base layer and the enhanced layer.

Video encoder 50 may perform internal and mutual coding blocks in the frames. Internal coding relies on spatial prediction to reduce or remove spatial redundancy of the video in this video. Mutual coding relies on temporal prediction to reduce or remove temporal redundancy of video in adjacent frames of a video sequence. For mutual encoding the video encoder 5 performs motion estimation to legimate move matching videobloom between two or more adjacent frames. For internal encoding spatial prediction is used to identify other blocks within the frame, which closely correspond to the encoded block. Components of internal coding, spatial prediction is not illustrated in figure 3.

As shown in figure 3, the video encoder 50 receives the current video section 31 (for example, the video section is enhanced layer) within the video frame, which must be encoded. In the example in figure 3 the video encoder 50 includes a module 33 motion estimation module 35 storage of reference frames, the module 37 motion compensation module 39 block conversion module 41 quantization module 42 of the inverse quantization module 44 inverse transformation and VLC module 46. Deblocare filter (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 components of the provisional prediction of video encoder 50 for mutual encoding videobloom. Although not shown in figure 3 to simplify the illustration, video encoder 50 may also include the components of the spatial prediction for the internal encoding of some videobloom. The components of the spatial prediction, however, usually use the I is only to encode the base layer.

Module 33 motion estimation compares the video section 31 with blocks in one or more adjacent frames to generate one or more motion vectors. Adjacent frame or frames can be extracted from the module 35 storage of reference frames, which may include any type of storage device or storage device to store video ad units, restored from previously coded blocks. Motion estimation can be performed for blocks of variable size, for example, 1616,168, 816, 88 or smaller blocks. Module 33 motion estimation identifies the block in the adjacent frame that most closely matches the current video section 31, for example, model-based distortion depending on the transmission speed, and determines the offset between the blocks. On this basis, the module 33 motion estimation generates a motion vector (MV) (MV or more 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 video section 31.

The motion vectors may be accurate to within a half - or quarter-pixel or even greater accuracy, allowing the video encoder 50 to track the movement with greater precision than integer pixel position, and to obtain a more optimal block prediction. It is when the motion vectors with fractional values of the pixel are used, the interpolation operation is performed in the module 37 motion compensation. Module 33 motion estimation can identify the optimal motion vector for videoblog using the distortion model, depending on the transmission speed. Using the resulting motion vector module 37 motion compensation generates the predictive video section through motion compensation.

Video encoder 50 generates a residual video section by subtracting the predicted videoblog generated by module 37 compensation movement of the original current videoblog 31 in the adder 48. Module 39 block conversion applies the transform is the discrete cosine transform (DCT), to the residual block, forming a transformed residual block coefficients. Module 41 quantization quantum transformed residual block coefficients to further reduce the bit rate. The adder 49A receives information about the coefficients of the base layer, for example from the base layer encoder (not shown), and is placed between the module 39 block conversion module and 41 quantization to provide this information on the coefficients of the base layer encoding enhanced layer. In particular, the adder 49A subtracts the information about the coefficients of the base layer from the output module block 39 PR is education. Similarly, the adder 49B, which is placed between the module 44 inverse transform module and 42 inverse quantization, also receives information about the coefficients of the base layer from the base layer encoder (not shown). The adder 49B adds information about the coefficients of the base layer back to the output module 42 of the inverse quantization.

Encoding spatial prediction works in much the same way that coding with temporal prediction. However, while coding with temporal prediction is based on the blocks of adjacent frames (or other coded unit)to perform encoding, spatial prediction is based on the units in a common frame (other coded unit)to perform the encoding. Encoding spatial prediction encodes the blocks that while coding with temporal prediction encodes mutual blocks. Moreover, the components of the spatial prediction is not shown in figure 3 for simplicity.

Module 46 VLC-encoding encodes the quantized transform coefficients according to the methodology of encoding variable length, to still further reduce the bit rate of the transmitted information. In particular, the module 46 VLC-encoding applies the methods of this disclosure, Thu is to encode CBP. For this module 46 VLC-encoding computes the value of the table index for the current videoblog based on the number of neighboring videoblocks for the current videoblog, which include non-zero transform coefficients, and selects a VLC table from multiple tables based on the table index. Module 46 VLC coding then encodes the CBP of the current videoblog using the selected VLC table. The selected VLC table may help coding efficiency for CBP of the current videoblog. The use of neighboring videobloom (especially those that include non-zero transform coefficients) in order to simplify the selection of the table provides a convenient mechanism for selecting the table due to the high probability of spatial similarity between neighbors. Neighboring video ad units, for example, may be units that are previously encoded before encoding the current videoblog.

After encoding variable length encoded video may be transmitted to another 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 the recovered residual block to the prediction block compensation movement is tion, generated by module 37 motion compensation to generate a restored video section for storing module 35 storage of reference frames. The restored video section is used by module 33 motion estimation module 37 motion compensation in order to encode a block in a subsequent video frame.

Figure 4 is a block diagram illustrating an example video decoder 60, which may correspond to the video decoder 28 of figure 1, or the decoder of the other device. Video decoder 60 includes a module 52A VLC-decoding, which performs mutually inverse function module 46 VLC-coding in figure 3 for videobloom superior layer. In other words, similar to module 46 VLC encoding module 52A VLC-decoding computes the value of the table index for the current videoblog based on the number of neighboring videoblocks for the current videoblog, which include non-zero transform coefficients, and selects a VLC table from multiple tables based on the table index. Module 52A VLC-decoding then decodes the CBP of the current videoblog using the selected VLC table, which should be the same as the table selected by the module 46 VLC coding during the encoding process.

Video decoder 60 may also include other VLC module 52B for information about the base is white. Module 55 internal forecasting may not necessarily perform any spatial decoding videobloom base layer, and the output module 55 internal forecasting can be provided in the adder 53. Way superior layer may include a module 58A inverse quantization and path, a base layer may include a module 56B of the inverse quantization. Information in the ways the base layer and the enhanced layer can be combined by adder 57.

Video decoder 60 may perform internal and mutual decoding blocks in the frames. In the example in figure 4, the video decoder 60 includes VLC modules 52A and 52B (mentioned above), the module 54 motion compensation modules 56A and 56B of the inverse quantization module 58 inverse transformation module 62 storage of reference frames. Video decoder 60 also includes an adder 64. Optionally, the video decoder 60 may also include deblocare filter (not shown)that filters the output of the adder 64. In addition, the adder 57 combines the information in the ways the base layer and the enhanced layer, and the module 55 internal forecasting and the adder 53 simplify any spatial decoding videobloom base layer.

Moreover, for videobloom superior layer module 52A VLC-decoding takes the bit stream of the encoded video and as a result, the VLC method to CBP, as described in this disclosure entity. This allows you to generate a quantized residual coefficients, the encoding mode for the macroblocks and sub-blocks and the motion information, which may include motion vectors and block segments. In particular, the module 52A VLC-decoding method uses adaptive selection of VLC tables, which is based on the number of adjacent videobloom that have non-zero transform coefficients. Thus, the phenomenon of spatial redundancy can be used to select tables for VLC CBP.

After decoding, performed by the VLC module 52A, the module 54 motion compensation receives the motion vectors and one or more restored keyframes from module 62 storage of reference frames. Module inverse quantization 56A back quantum, i.e. decanted, quantized block coefficients. Following the combination of information about improved and the base layer by means of the adder 57, the module 58 inverse transformation applies the inverse transform, for example the inverse DCT, the coefficients in order to form the residual blocks. Module 54 motion compensation generates blocks with motion compensation, which are summed by adder 64 with residual blocks to generate encoded blocks. If you deblocare filter t is the train can be applied to to filter the decoded blocks to remove the blocking artifacts. Filtered blocks are then placed in the module 62 storage of reference frames, which provides reference blocks for motion compensation and also produces decoded video to the host display device (such as device 30 of figure 1).

Figure 5 is a block diagram illustrating an exemplary module 70 VLC coding, which can match the module 46 VLC-coding in figure 3. Module 70 VLC coding includes module 72 encoding CBP VLC and module 74 calculation table indexes. CBP-table 76, in General, are referred to as tables that can be stored in any location, for example, either locally or off-chip in a separate memory cell. CBP-table 76 can be updated periodically, as needed.

CBP referred to as the structure of the coefficients in the framework of videobloom, which are encoded according to the scheme. Some patterns can occur with much higher probability than other patterns. On the basis of this factor VLC can be used to compress the data by discriminating structures of the coefficients and coding, such as CBP. Information in the header block may identify the fact that CBP used in the encoding scheme.

The phenomenon of spatial redundancy, common, predicts that the video section is in close spatial proximity has a high level of correlation. Based on this phenomenon, this disclosure entity offers the use of adjacent videobloom in order to simplify the selection tables for efficient VLC CBP. This improves the efficiency VLC CBP relative to traditional methods that use a fixed conversion for all CBP or use a table based on the type of unit (for example, intraframe block compared to interframe block).

In module 70 VLC coding, there are numerous CBP-table 76. These tables, however, an alternative can be stored in a separate (for example, off-chip) location. Module 74 calculation table indexes calculates the value of the table index for the current videoblog based on the number of neighboring videoblocks for the current videoblog, which include non-zero transform coefficients. Module 72 encoding CBP VLC then selects a VLC table from multiple tables 76 based on the table index. After selecting the proper table module 72 encoding CBP VLC encodes CBP of the current videoblog using the selected VLC table.

As an example, the current video section may contain a 16-by-16 macroblock and the neighboring video ad units can contain blocks of 8 by 8 brightness, associateprofessor with the first neighboring macroblock to the left of the current videoblog and second neighboring macroblock above the current videoblog. Blocks of color (for example, subdescription blocks of 8 by 8 color associative associated with macroblocks of 16 by 16) can also be used as blocks in the calculations described in this document, although using only neighboring blocks brightness to select table may be sufficient. The dimensions and location of neighboring blocks described herein are merely exemplary, since the methods of this disclosure can be implemented with any of a wide range of sizes videoblog and format code.

As an additional example, the calculation module 74 table indexes can calculate table index is as follows:

N=(N(1)+N(u))/2+1, when the information of the non-zero transform coefficients exists as to the first neighboring macroblock, and the second neighboring macroblock;

N=N(1)+1, when the information of the non-zero transform coefficients exist for the first neighboring macroblock, but does not exist for the second neighboring macroblock; and

N=N(u)+1, when the information of the non-zero transform coefficients exist for the second neighboring macroblock, but does not exist for the first neighboring macroblock. In this example, N represents the tabular index, N(1) represents the number of neighboring blocks brightness to the left of the current videoblog, which included the up in themselves non-zero transform coefficients, and N(u) represents the number of neighboring blocks brightness above the current videoblog, which include non-zero transform coefficients.

Many CBP tables tables can be generated from the following:

Table 1
CodeTable index 0Table index 1Table index 2Table index 3Table index 4Table index 5
000001547
11581154715
247441031
33124317
4161851111
512471010713
6431122314
7110151250
881553145
913123471 3
1051614311310
11115118101
123313111212
1323277223
1410141613439
157113114829
16234716627
17211366945
18289992930
1918632292743
2014273030232
2129302645304
223023284643 46
2326214627168
2417294443456
25274621263921
2620284221469
27192629282116
28243927443719
29 64545231937
30442423322626
31221924393535
32464243422842
33451740194228
3494320374444
35392036 352022
36374037201725
37253718182517
38351817242218
39434419171820
40402534343224
41413633362433
42382239333338
43423435254132
44363525223834
45323322403640
46334138383441
47343841414036

Each of the many CBP tables 76 may contain a column of code numbers table 1, combined with the ne of the columns of table index table 1. Many tables can be stored separately in a manner analogous to table 1, or other way. In any case, the module 72 encoding CBP VLC can encode CBP by selecting the code number from column codes for the CBP values listed in the column of table 1, which corresponds to the calculated tabular index. Update CBP-tabs 76 may be performed as necessary or desirable, and the values in the tables are exposed to a wide range of changes. Table 1 above is just a sample table from multiple tables that can be used.

In addition, the methods of this disclosure may be particularly useful when encoding one or more enhanced layers in the context of scalable video coding (SVC). In this case, CBP used when encoding the enhanced layer, and the choice of VLC tables for such CBP in the superior layers is performed according to the methods described in this document. Coding methods are performed at the encoder and the decoder. Traditionally, uses a fixed mapping between CBP and code numbers, which may not be able to adapt to the varying characteristics of the scene, thereby causing inefficiency. The methods described can also be more effective than methods that use different tables in the morning and mutually coded blocks. In most cases persists for more than two tables, and selects the table between three or more tables. In the example of table 1, five different VLC tables are set via a column of code numbers and five different columns of table indexes.

6 is a block diagram illustrating an exemplary module 80 VLC-decoding, which can match the VLC module-encode 52 figure 4. The module 80 VLC-decoding is almost the same as the module 70 VLC coding, but performs mutually inverse functions decode about coding, which is performed by module 70 VLC coding. Thus, while the module 70 VLC-encoding accept quantized residual coefficients and generates a stream of bits, the module 80 VLC-decoding takes a stream of bits and generates a quantized residual coefficients. Module VLC-decoding includes module 82 CBP decoding VLC and module 84 calculation table indexes. CBP-table 86 contains tables that can be stored in any location, for example, either locally or off-chip in a separate memory cell. CBP-table 104 can be updated periodically, as needed.

Similarly, the module 70 VLC encoding module 80 VLC-decoding has access to a lot of CBP-tables 86. In addition, these tables can be stored locally is whether an alternative can be stored in a separate (for example, off-chip location. Module 84 calculation table indexes calculates the value of the table index for the current videoblog based on the number of neighboring videoblocks for the current videoblog, which include non-zero transform coefficients. Since the block video encoding is typically performed sequentially from left to right and top to bottom, the adjacent video ad units can contain blocks that are to the left and above the current videoblog. Module 82 CBP decoding VLC selects a VLC table from multiple tables 86 based on the table index. After selecting the proper table module 82 CBP decoding VLC decodes CBP of the current videoblog using the selected VLC table to form the proper factors.

Similar to the encoding process, the decoding process, the current video section may contain a 16-by-16 macroblock and the neighboring video ad units can contain blocks of 8 by 8 brightness, associative associated with the first neighboring macroblock to the left of the current videoblog and second neighboring macroblock above the current videoblog. In addition, blocks of color (for example, subdescription blocks of 8 by 8 color associative associated with macroblocks of 16 by 16) may also be used, although using only neighboring blocks brightness to select table may be sufficient. For that is the same the dimensions listed herein are merely exemplary, since the methods of this disclosure can be implemented with any of a wide range of sizes or formats videobloom.

Module 84 calculation table indexes can calculate table index is as follows:

N=(N(1)+N(u))/2+1, when the information of the non-zero transform coefficients exists as to the first neighboring macroblock, and the second neighboring macroblock;

N=N(1)+1, when the information of the non-zero transform coefficients exist for the first neighboring macroblock, but does not exist for the second neighboring macroblock; and

N=N(u)+1, when the information of the non-zero transform coefficients exist for the second neighboring macroblock, but does not exist for the first neighboring macroblock. In this example, N represents the tabular index, N(1) represents the number of neighboring blocks brightness to the left of the current videoblog, which include non-zero transform coefficients, and N(u) represents the number of neighboring blocks brightness above the current videoblog, which include non-zero transform coefficients.

As in the example encoding each of the many CBP tables 86 used for decoding may contain the code column of numbers in table 1, combined with one of the columns is oblacnih indexes table 1. Many tables can be stored separately in a manner analogous to table 1, or other way. In any case, the module 82 CBP decoding VLC can decode CBP by selecting the code number from column codes for the CBP values listed in the column of table 1, which corresponds to the calculated tabular index. Update CBP-tabs 86 may be performed as needed, and values within the table are subjected to a wide range of changes. Of course, the update should be transmitted in the encoding device and the decoding device. In addition, table 1 is merely exemplary of the many tables that can be used.

7 is a flowchart of the operational sequence of the method, illustrating the method of VLC to encode CBP, in accordance with this disclosure entity. The method is illustrated in Fig.7 can be performed by module 70 VLC coding or module 80 VLC-decoding. As shown in Fig.7, the module 74, 84 calculation table indexes calculates the value of the table index for the current videoblog based on the number of neighboring blocks to the current videoblog that have non-zero transform coefficients (91). Module 72, 84 encoding CBP VLC selects a VLC table from multiple VLC tables 76 and 86 on the basis of calculated values that the personal index. Module 72, 84 encoding CBP VLC then encodes the CBP of the current videoblog based on the selected VLC table. Module 72 performs coding and module 82 performs a one-to-backward decoding.

The methods described herein can be implemented in hardware, software, firmware or any combination of them. Any signs that are described as modules or components may be implemented together in an integrated logic device or separately as discrete but having the ability to communicate logical unit. If implemented in software, the techniques may be implemented, at least partially via the computer-readable media containing instructions that, when enforced, perform one or more of the methods described above, the machine-Readable medium storing data may form part of a computer software product, which may include packaging. Machine-readable media may include random access memory (RAM)such as synchronous dynamic random access memory (SDRAM), a persistent storage device (ROM), nonvolatile random access memory (NVRAM), electrically erasable programmable permanent memory of the device is the STV (EEPROM), flash memory, magnetic or optical media storage, etc. in Addition or alternatively, the methods may be implemented, at least partially via the computer-readable medium that carries or transmits the code in the form of instructions or data structures and which can be accessible, readable and/or executable by a computer.

Software code may be implemented by one or more processors, such as one or more digital signal processors (DSPS), microprocessors, General purpose, specific integrated circuits (ASIC), programmable logic arrays (FPGA), or other equivalent integrated or discrete logic circuits. Accordingly, the term "processor" when used herein can mean any of the above structure or any other structure suitable for implementation of the methods described in this document. In addition, in some aspects, the functionality described herein may be provided within dedicated software modules or hardware modules configured to encode or decode or built-in composite video encoder-decoder (codec).

If implemented in hardware, this disclosure of mo is et to be directed to the scheme, such as integrated circuit chipset, specialized integrated circuit (ASIC), programmable gate array (FPGA), logic, or various combinations of the above, is configured to perform one or more of the methods described in this document.

Described different embodiments of the invention. These and other variants of implementation are within the scope of the attached claims.

1. A method of coding structures coded blocks (SVR) videobloom containing phases in which
choose the table of variable length coding (VLC) for the current videoblog from multiple tables based on the number of neighboring videoblocks for the current videoblog, which include non-zero transform coefficients; and encoding one or more structures coded blocks (SVR) current videoblog using the selected VLC table.

2. The method according to claim 1, wherein encoding the one or more CBP contains the stage at which encode SVR.

3. The method according to claim 1, wherein encoding the one or more CBP contains the stage at which decode the SVR.

4. The method according to claim 1, further comprising stages, which calculates the value of the table index for the current videoblog based on the number of neighboring videoblocks for the current videoblog, which include non-zero from the cylinder the coefficients of the transformation, and choose VLC table based on the table index.

5. The method according to claim 4, in which the current video section contains a 16-by-16 macroblock and the neighboring video ad units contain blocks of 8 by 8 brightness, associative associated with the first neighboring macroblock to the left of the current videoblog and second neighboring macroblock above the current videoblog.

6. The method according to claim 5, in which the value of the table index is calculated as follows: N=(N(1)+N(u))/2+1, when the information of the non-zero transform coefficients exists as to the first neighboring macroblock, and the second neighboring macroblock; N=N(1)+1, when the information of the non-zero transform coefficients exist for the first neighboring macroblock, but does not exist for the second neighboring macroblock; and N=N(u)+1, when the information of the non-zero transform coefficients exist for the second neighboring macroblock, but does not exist for the first neighboring macroblock, while N represents the value of the tabular index, N(1) represents the number of neighboring blocks brightness to the left of the current videoblog, which include non-zero transform coefficients, a N(u) represents the number of neighboring blocks brightness above the current videoblog, which include non-zero transform coefficients.

7. The method according to claim 6, wherein a set of tables contains tables that are generated from the trail of the overall table 1:

11 9
CodeTable index 0Table index 1Table index 2Table index 3Table index 4Table index 5
000001547
11581154715
247441031
331224317
416185 1111
512471010713
6431122314
7110151250
881553145
9131234713
1051614311310
115118101
123313111212
1323277223
1410141613439
157113114829
162374716627
1721136645
18289992930
1918632292743
2014273030232
2129302645304
22302328464346
2326214627168
24 17294443456
25274621263921
2620284221469
27192629282116
28243927443719
2964545231937
304424232626
31221924393535
32464243422842
33451740194228
3494320374444
35392036352022
36374037201725
37253718182517
38351817242218
39434419171820
40402534343224
41413633362433
42382239333338
434234 35254132
44363525223834
45323322403640
46334138383441
47343841414036

each set of tables contains the code column of numbers in table 1, combined with one of the columns of table indexes table 1, and the coding structures of the encoded blocks includes a stage on which pick the code number from the code column of numbers for the value of SVR listed in the column of table 1, which corresponds to the calculated table index.

8. The method according to claim 1,in which the current video section contains a 16-by-16 macroblock, and the neighboring video ad units contain blocks of 8 by 8 brightness and one or more blocks of 8 by 8 color associated with the first neighboring macroblock to the left of the current videoblog and second neighboring macroblock above the current videoblog.

9. The method according to claim 1, the method is performed in the wireless communication device (WCD).

10. The method according to claim 1, the method is performed relative to videobloom superior layer in a scalable video coding (SVC).

11. Device for coding structures coded blocks (SVR) videobloom containing the module variable length coding (VLC)made with the possibility
to select a VLC table for the current videoblog from multiple tables based on the number of neighboring videoblocks for the current videoblog, which include non-zero transform coefficients; and
to encode one or more structures coded blocks (SVR) current videoblog using the selected VLC table.

12. The device according to claim 11, in which the VLC module encodes one or more of the RAF.

13. The device according to claim 11, in which the VLC module decodes one or more of the RAF.

14. The device according to claim 11, in which the VLC module is configured to calculate the value of the table index for the current videoblog based on the number of neighboring videoblocks for the current videoblog, which include non-zero coefficient is eciency conversion, and select the VLC table based on the table index.

15. The device according to 14, in which the current video section contains a 16-by-16 macroblock and the neighboring video ad units contain blocks of 8 by 8 brightness, associative associated with the first neighboring macroblock to the left of the current videoblog and second neighboring macroblock above the current videoblog.

16. The device according to item 15, in which the VLC module calculates the table index as follows: N=(N(1)+N(u))/2+1, when the information of the non-zero transform coefficients exists as to the first neighboring macroblock, and the second neighboring macroblock; N=N(1)+1, when the information of the non-zero transform coefficients exist for the first neighboring macroblock, but does not exist for the second neighboring macroblock; and N=N(u)+1, when the information of the non-zero transform coefficients exist for the second neighboring macroblock but does not exist for the first neighboring macroblock, while N represents the tabular index, N(1) represents the number of neighboring blocks brightness to the left of the current videoblog, which include non-zero transform coefficients, a N(u) represents the number of neighboring blocks brightness above the current videoblog, which include non-zero transform coefficients.

17. The device according to item 16, wherein a set of tables contains tables that are generated from the trace of the processes table 1:

11 9
CodeTable index 0Table index 1Table index 2Table index 3Table index 4Table index 5
000001547
11581154715
247441031
331224317
416185 1111
512471010713
6431122314
7110151250
881553145
9131234713
1051614311310
115118101
123313111212
1323277223
1410141613439
157113114829
162374716627
1721136645
18289992930
1918632292743
2014273030232
2129302645304
22302328464346
2326214627168
24 17294443456
25274621263921
2620284221469
27192629282116
28243927443719
29645.45231937
30442423 322626
31221924393535
32464243422842
33451740194228
3494320374444
35392036352022
36374037201725
37253718182517
38351817242218
39434419171820
40402534343224
41413633362433
42382239333338
434234 35254132
44363525223834
45323322403640
46334138383441
47343841414036

each set of tables contains the code column of numbers in table 1, combined with one of the columns of table indexes table 1, and the coding structures of the encoded blocks includes a stage on which pick the code number from the code column of numbers for the value of SVR listed in the column of table 1, which corresponds to the calculated table index.

18. The device is about 14 the device includes a storage device that stores multiple tables, and in which the VLC module contains the module for computing the tabular index, which calculates the value of the table index; and a module that selects a VLC table from multiple tables based on the table index and encodes SVR current videoblog using the selected VLC table.

19. The device according to p, in which the storage device is regularly placed within the VLC module.

20. The device according to claim 11, in which the current video section contains a 16-by-16 macroblock and the neighboring video ad units contain blocks of 8 by 8 brightness and one or more blocks of 8 by 8 color associated with the first neighboring macroblock to the left of the current videoblog and second neighboring macroblock above the current videoblog.

21. The device according to claim 11, the device represents at least one circuit configured to perform digital data processing, and wireless communication devices.

22. The device according to claim 11, in which the current video section of the video section contains superior layer in scalable video coding (SVC).

23. Device for coding structures coded blocks (SVR) videobloom containing
the picker table of variable length coding (VLC) for the current videoblog many table is based on the number of neighboring videoblocks for the current videoblog, which include non-zero transform coefficients; and
a means of encoding one or more structures coded blocks (SVR) current videoblog using the selected VLC table.

24. Machine-readable media containing instructions that, when executed in the video encoding device cause the device
select the table of variable length coding (VLC) for the current videoblog from multiple tables based on the number of neighboring videoblocks for the current videoblog, which include non-zero transform coefficients; and
to encode one or more structures coded blocks (SVR) current videoblog using the selected VLC table.

25. Machine-readable media according to paragraph 24, wherein the instructions cause the device to calculate the value of the table index for the current videoblog based on the number of neighboring videoblocks for the current videoblog, which include non-zero transform coefficients, and select the VLC table based on the table index.



 

Same patents:

FIELD: information technologies.

SUBSTANCE: method for transmission/reception of signal and device for transmission/reception of signal. Device for transmission of signal includes coder with forward error correction (FEC), which executes FEC-coding of input data for detection and correction of data errors, interleaver, which interleaves FEC-coded data, and unit of symbols display, which displays interleaved data to data of symbol according to method of transmission.

EFFECT: improved efficiency of channel bandwidth use, increased speed of data transmission and increased distance of signal transmission, reduced cost of network development for signal transmission-reception.

15 cl, 33 dwg

FIELD: information technologies.

SUBSTANCE: video data is coded, packet is formed with coded video data, and packet is transferred via wireless channel into access network. Level of access control to transfer medium (MAC) receives negative notice from the access network (NAK). It is identified whether received NAK is associated with packet, which contains video data. If received NAK is associated with packet, which contains video data, errors are corrected.

EFFECT: improved efficiency of video data errors correction.

36 cl, 5 dwg

FIELD: physics, communications.

SUBSTANCE: invention relates to multimedia transmission systems, specifically to methods and a device for acquiring services. Proposed is a service acquisition device which has a source coder configured to generate one or more channel switch video (CSV) signals, which is an independently decoded version of a low-resolution video for the selected channel in a received multiplex transmission and associated one or more multimedia signals, an error coder configured to code CSV signals and multimedia signals for formation of coded error blocks, and a linker configured to encapsulate coded error blocks into a multiplex transmission signal.

EFFECT: fast acquisition of a service and/or switching between services in multiplex transmission.

60 cl, 23 dwg

FIELD: physics, communications.

SUBSTANCE: invention relates to transmission of a media stream over an error-prone digital video broadcasting - handheld (DVB-H) channel in which media datagrams are labelled according to a priority, packed in a multiprotocol encapsulation section, unequally protected using forward error-correction codes packed into a traffic stream and transmitted into the channel using packets with time-division. A system and a method are proposed for transmitting a multiplexed service stream over a DVB-H channel. Media IP packets are priority labelled. For each packet with time division, the IP packets are grouped based upon the priority labels. Multi protocol encapsulation - forward error correction (MPE-FEC) matrices are made for different priority labels in each packet with time division. Reed-Solomon code data table (RSDT) columns are computed such that the average service bit rate does not overshoot the maximum allowed bit rate, and protection increases with priority. The application data table (ADT) and RSDT of the MPE-FEC matrices are then encapsulated into MPE-FEC sections.

EFFECT: shorter start delay during reception of an unequally protected priority service bit stream.

21 cl, 10 dwg

FIELD: physics; image processing.

SUBSTANCE: invention relates to a method of buffering multimedia information, as well as a method of decoding a coded stream of images in a decoder, in which the coded stream of images is received in form of transmission blocks which contain multimedia data. A system for processing multimedia data is proposed, which contains a coder for coding images and a buffer for buffering multimedia data. Multimedia data are included in the data transmission blocks. The data transmission blocks are ordered in the transmission sequence, which at least partially differs from the sequence of decoding multimedia data in transmission blocks. There is also definition block, which can set a parametre which indicates the maximum number of data transmission blocks which precede any data transmission block in a stream of packets in the transmission sequence and that data transmission block is tracked in the decoding sequence.

EFFECT: more efficient compression when buffering multimedia information.

32 cl, 7 dwg

FIELD: information technologies.

SUBSTANCE: method and device are suggested for multilevel integration used for elimination of errors. Error is detected in multimedia data on the basis of the first level protocol, and then error detected in multimedia data is masked on the basis of the second level protocol. In one aspect error in multimedia data is eliminated on the basis of communication level protocol, and it is controlled on the basis of transport level protocol. Further distribution of controlled error is determined on the basis of synchronisation level protocol, then error detected in multimedia data is masked on the basis of applied level protocol. Further stage of error elimination and scaling stage are provided.

EFFECT: increased efficiency of multimedia data stream processing by reception of multiple streams of coded multimedia data, eliminating errors in erroneous part of stream and recovering multimedia data from multiple streams.

40 cl, 10 dwg

FIELD: information technology.

SUBSTANCE: invention relates to buffering packets of a media stream during transmission from a transmission device to a receiving device. Media packets are generated from at least one type of media information in a stream generator; at least one transmission frame is generated based on transmitted media packets; transmitted packets are generated from at least one transmission frame and a transmission schedule is generated for transmitted packets. In addition, the first and second steps of hypothetical decoding are executed. The first step of hypothetical decoding is executed in accordance with the transmission schedule, and involves buffering the transmitted packets in accordance with the transmission schedule in the first buffer for hypothetical decoding and output of packets from the first buffer for hypothetical decoding based on the transmission frame. The second step of hypothetical decoding involves controlling occupance rate of the first and second buffer for hypothetical decoding by controlling at least one of the following: operation of the stream generator, generation of at least one transmission frame, transmission schedule.

EFFECT: more efficient buffering of media stream packets.

20 cl, 7 dwg

FIELD: image transferring equipment engineering, possible use in multimedia communications.

SUBSTANCE: in accordance to method, when error codes are detected on receiving side, data of code stream of image with error codes are refused prior to decoding of data of code stream of image, and refused data of code stream of image are replaced with data of code stream of image, positioned in appropriate position of previous frame, and data of code stream of image are encoded continuously. Also, an array of marks is set up for data of code stream of image prior to encoding on receiving side, to perform recording of positions, where error codes have been detected.

EFFECT: possible avoidance of transfer of internal frame images on transmitting side and of frozen images on receiving side, or decrease of their occurrence periods, thus improving quality of image.

7 cl, 2 dwg

FIELD: re-synchronization.

SUBSTANCE: method can be used in decoding channel according to MPEG-4 standard. To provide proper decoding of pressed video data signal, the re-synchronization word RW differs from known words of variable length code VLC as well as from start code of plane of video object and has at least 17 sequent zeros, after which the unit follows, for plane of video object coded to provide two-directional prediction. After error in transmission in pressed video signal is detected, the pressed video data signal can be re-synchronized.

EFFECT: higher efficiency of re-synchronization.

4 cl, 2 dwg

The invention relates to encoding and decoding digital data divided into blocks of digits, in order of importance digits

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

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 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

Up!