Video coding with highly detailed scalability with application of aligned cycle fragments

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

 

This application claims the priority of provisional application U.S. No. 60/830891, filed July 13, 2006, provisional application U.S. No. 60/866999, filed November 22, 2006, and provisional application U.S. No. 60/917542, filed may 11, 2007, the contents of each of which are fully incorporated herein by reference.

The technical field to which the invention relates

This disclosure relates to video encoding, and more particularly to a scalable coding of digital video.

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, personal digital assistants (PDAs), laptop computers, desktop computers, digital cameras, digital recording devices, cellular or satellite radio telephones, etc. digital video to provide significant improvements compared with traditional analog video systems through the effective creation, modification, transmission, storage, recording and playback of moving video sequences.

Scalability with a high degree of detail (FGS), in General, refers to the ability to arbitrarily cut off the video bit stream in order to achieve a gradual reduction in image quality is STV video within a specified range of bit rate. FGS-encoded video bit stream includes a base layer of a certain quality and one or more enhancing layers that are associated with the base layer. Improving layers include additional data in order to improve the quality of the base layer. As more and more of the FGS bit stream is received and decoded through one or more extra layers, the quality of the decoded video is raised.

Disclosure of invention

In General, the invention is directed to methods FGS-coding that use aligned with the loop fragments (CAF). Methods FGS-coding allow based on the cycles of coding coefficients blocks FGS-video and syntax elements and encapsulate the resulting cycles of encoding the fragments for transmission over a network transmitting modules, such as modules of the level of abstraction from the network (NAL). In accordance with this disclosure, the fragments can be aligned with the cycle to the beginning of each of the fragments actually coincided with the beginning of one of the cycles. Thus, the cycles of coding can be easily accessed through a separate fragments.

Each of the cycles may represent at least part of the zigzag scanning order of one or more blocks of transform coefficients. Hence, is her least some of the cycles may cover the coefficients coding, associative associated with many blocks. Blocks FGS-video data may form part of the FGS series of consecutive macroblocks of video data. In some aspects, FGS-by a series of successive macroblocks may be a series of consecutive macroblocks with the progressive refinement (PR), although the invention is not limited in this respect. At least some of the cycles can be controlled using the command vector mode to scan for a pre-defined position of the scan within each block before moving to another one of the blocks. Thus, the number of cycles required to bypass the blocks can be reduced, resulting in reduction of the number of fragments and reduce the amount of overhead information.

Fragments can be entropy coded independently of each other using separate contexts coding so that multiple slices can be simultaneously decoded. Entropy encoding used for each of the fragments can be reset to the entropy encoding of the next segment, so that each of the fragments of entropy coded independently of the other fragments. For example, the entropy encoder can be cleaned, and contexts coding, ispolzuemyhperedovyh entropy encoder, can be reset after each of the fragments of entropy coded. Independent entropy encoding fragments can provide parallel decoding and independent processing of different fragments and cycles within the fragments, so that a few fragments could be decoded at the same time if necessary.

In one aspect the invention provides a method of encoding a video containing the coding blocks of video data with scalability with a high degree of detail (FGS) in cycles and encapsulation cycles in many fragments, so that the beginning of each of the fragments practically coincided with the beginning of one of the loops.

In one aspect the invention provides a video encoder that contains the module is based on the cycles of coding, which encodes the blocks of video data with scalability with a high degree of detail (FGS) in cycles, and the fragmentation module, which encapsulates the cycles in the set of fragments so that the beginning of each of the fragments practically coincided with the beginning of one of the loops.

In an additional aspect, the invention provides a method of decoding a video containing the reception of fragments, comprising cycles of coding is to encode the blocks of video data with scalability with a high degree of detail (FGS), and decoding, less is th least part of at least some of the fragments at the same time, with the beginning of each of the fragments almost coincides with the beginning of one of the loops.

In an additional aspect, the invention provides a video decoder that contains the module is based on the cycles of decoding that takes fragments, including cycles of coding is to encode the blocks of video data with scalability with a high degree of detail (FGS), and decodes at least part of at least some of the fragments at the same time, with the beginning of each of the fragments almost coincides with the beginning of one of the loops.

The techniques described in this invention can be implemented in hardware, software, firmware or any combination of them. If implemented in software, the software may be implemented in one or more processors such as a microprocessor 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 invention also involves a machine-readable medium containing instructions to perform the techniques described in the data the invention.

The details of one or more embodiments of the present invention set forth on the attached drawings and the following description. Other characteristics, objectives and advantages of the invention shall become apparent from the description and drawings, and from the claims.

Brief description of drawings

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

Figure 2 is a diagram illustrating multi-layer FGS-encoded video bit stream.

Figure 3 is a diagram illustrating the zig-zag scan block coefficients for FGS-encoded video frames.

Figure 4 is a diagram illustrating an example based on the cycles of coding coefficients in FGS series of consecutive macroblocks for videobloom found in the zig-zag scanning order.

Figure 5 is a diagram illustrating an example based on the cycles of coding coefficients in FGS series of consecutive macroblocks for videobloom found in the order of transfer.

6 is a diagram illustrating encapsulation of cycles of coding in normal fragments to pass through the modules of the level of abstraction from the network (NAL).

7 is a diagram illustrating encapsulation of cycles encoding aligned with the cycle of the fragments (CAF) to pass through the modules of the level of abstraction from the network (NA).

Fig is a block diagram illustrating an encoder FGS-series of consecutive macroblocks, which encapsulates the cycles of coding in the CAF.

Fig.9 is a block diagram illustrating the decoder FGS-series of consecutive macroblocks, which decodes the cycles of coding, encapsulated in the CAF.

Figure 10 is a block diagram of the operational sequence of the method, illustrating the encapsulation of cycles of coding in the CAF.

11 is a block diagram of the operational sequence of the method, illustrating more encapsulation cycles encoding CAF.

Fig is a block diagram of the operational sequence of the method, illustrating the decoding cycles in the CAF.

Fig is a block diagram of the operational sequence of the method, illustrating more decoding cycles in the CAF.

Fig is a diagram illustrating the influence of the error on packet for normal fragments and CAF.

The implementation of the invention

In General, the invention is directed to methods FGS-coding that use aligned with the loop fragments (CAF). Methods FGS-coding can be performed based on the cycles of coding coefficients blocks FGS-video and syntax elements and encapsulate the resulting cycles of encoding the fragments for transmission over a network transmitting modules, such as modules of the level of abstraction from the network (NAL).IN accordance with this invention, the fragments can be aligned with the cycle to the beginning of each of the fragments practically coincided with the beginning of one of the cycles. Thus, the cycles of coding can be easily accessed through a separate fragments.

Each of the cycles may represent at least part of the zigzag scanning order of one or more blocks of transform coefficients. At least some of the cycles may cover the coefficients coding, associative associated with many blocks. Blocks FGS-video data may form part of the FGS series of consecutive macroblocks of video data. In some aspects, FGS-by a series of successive macroblocks may be a series of consecutive macroblocks with the progressive refinement (PR), although the techniques described in this invention is not necessarily limited PR series of consecutive macroblocks. At least some of the cycles can be controlled using the command vector mode to scan for a pre-defined position of the scan within each block before moving to another one of the blocks. Thus, the number of cycles required to bypass the blocks can be reduced, resulting in reduction of the number of fragments and reduce the amount of overhead information.

Fragments of entropy can be encoded in such a way that the fragment can decterov the change without performing decoding of other fragments. In some cases, multiple slices can be decoded simultaneously if necessary. As an example, entropy encoding used for each of the fragments can be reset to the entropy encoding of the next segment, so that each of the fragments had the contexts of entropy coding, which are independent of contexts entropy encoding other fragments. For example, the entropy encoder can be cleaned, and contexts encoding used by the entropy encoder can be reset after each of the fragments of entropy coded. Independent entropy encoding fragments can provide parallel decoding and processing of various fragments and cycles within the fragments. Accordingly, at least part of at least some of the fragments can be decoded simultaneously, for example, at one time or without waiting for the decoding of other fragments.

Some fragments may not be completely independent from each other. For example, if the unit is A fully decoded fragment 0, there should be information that must be decoded block A in other fragments. In this case, decoding information for a block in A subsequent fragment 1 may depend on the result is kodirovanija slice 0 on the same block. However, other contexts coding can remain independent. For example, the decoding of the slice 1 is not changed depending on, whether the decoded fragment 0 fully before the decoded slice 1 or slice 0 and slice 1 decoded simultaneously. Accordingly, at least some of the fragments can be decoded simultaneously, at least with parts of other fragments, so you do not have to wait for the completion of the decoding of other fragments. Instead, as described above, at least some of the fragments can be decoded at one time in parallel with decoding at least part of the other fragments, for example, without waiting for the decoding of other fragments.

Figure 1 is a block diagram illustrating a system 10 for encoding and decoding video. As shown in Fig. 1, the system 10 includes a source device 12 that transmits encoded video in the destination device 14 via the transmission channel 16. Source device 12 may include a device 18 video source and the video encoder 20. The target device 14 may include a video decoder 22 and device 24 to display video. Channel 16 may be a wired or wireless communication environment or any combination of wired and wireless environments. Source device 12 generates VI the SW for transmission to the target device 14. In some cases, however, the devices 12, 14 can work almost symmetric way. For example, each of devices 12, 14 may include components for encoding and decoding video. Thus, the system 10 may support one-way and two-way video transmission between devices 12, 14, for example, for streaming video, broadcast video, or video telephony.

Video source 18 may include a video capture device, such as one or more video cameras, a video archive containing previously captured video, or transmission of live video from the video content provider. As a further alternative, the video source 18 may form based on computer graphics data as the source video, or a combination of live video and computer generated video. In any case, the captured, pre-captured, or computer generated video may be encoded by video encoder 20 for transmission from the device 12 source video device 14 destination video through a transmission channel 16. Display device 24 may include any of a variety of display devices, for example, liquid crystal display (LCD), a plasma display, or the display on the organic light emitting diode (OLED).

Video encoder 20 and video is coder 26 can be made to support the coding scalability signal-to-noise ratio (SNR) with a high degree of detail (FGS). For example, encoder 20 and decoder 26 may support different degree of scalability to support the encoding, transmission and decoding a scalable improving layers in FGS format. For scalable coding of the base layer carries the video data with minimal level of quality. One or more extra layers carry additional stream of bits, to support more levels of high quality. Therefore, the information-improving layer may be provided in order to maintain the scalability of the signal-to-noise ratio (SNR). In addition, in some cases, additional bit stream transported through one or more extra layers, can support improved spatial scalability and/or superior temporal scalability.

Video encoder 20 and video decoder 26 may operate according to this standard the integration as MPEG-2, MPEG-4, ITU-T H.263, or ITU-T H.264/MPEG-4 improved coding (AVC). More specifically, the video encoder 20 and video decoder 26 may be performed with the opportunity to sell add-ons such standards for scalable video coding (SVC). Although not shown in Fig. 1, in some aspects, video encoder 20 and video decoder 22 can be integrated with an audio encoder and decoder, respectively, and include the appropriate modules MUX-DEMUX or others the many 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 such as 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 of the methods described in this invention can be applied in order to implement amendments scalable video with low complexity for devices that are in other respects conform to the H.264 standard. For example, additions of scalable video can pose a potential modification in future versions or additions to the H.264 standard, or other standards. The H.264 standard is described in ITU-T Recommendation H.264, "Advanced video coding for generic audiovisual services" by the study group ITU-T, and dated March 2005, which may be referred to in this document as H.264 or H.264 specification or standard, or specification of H.264/AVC.

United group video standards (JVT) continues to work to Supplement scalable videocodezone is (SVC) H.264/MPEG-4 AVC. Specification for H.264/MPEG-4AVC and 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, which can be used within the system 10 for various coding tasks described in this invention. Detailed information regarding one example of a coding system with SNR scalability with a high degree of detail (FGS)can be found in documents of the Joint project, for example, 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, Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG, 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, Joint Video Team (JVT) of ISO/IEC MPEG and ITU-T VCEG, January 2007, Marrakech, Morocco.

Video encoder 20 may be configured to generate FGS series of consecutive macroblocks, for example, in accordance with the documents JD additions SVC to H.264/MPEG-4 AVC. In some aspects FGS series of consecutive macroblocks can be a series of consecutive macroblocks with the progressive refinement (PR). FGS is a series of consecutive macroblocks can be cut almost arbitrarily. As the video decoder 22 receives and decodes more bits of FGS-series m is Kablukov, it produces the best video quality. FGS coding in JSVM is designed so that the improvement of the quality of the video is evenly distributed throughout the frame, in contrast to concentration only within a certain spatial region of the frame. The complexity of encoding and decoding in FGS series of consecutive macroblocks may be high in relation to the requirements for computing and storage. In addition, the decoding process for FGS series of consecutive macroblocks, as described in the JD documents can be complex.

In some aspects to broadcast a video of this invention involves the application to improved video encoding H.264 to deliver 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"). Specification FLO includes examples that specifies the syntax and semantics of the bitstream and decoding processes 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 a handheld device the TV), ISDB-T (integrated services digital terrestrial broadcasting or DMB (digital media stream broadcast). Therefore, the source device 12 may be a mobile wireless terminal such as a mobile wireless phone, a streaming server and video server streaming video. However, the techniques described in this invention is not limited to any particular type of system broadcast, multicast or transfer of point-to-point.

Video encoder 20 and video decoder 22 can be implemented as one or more microprocessors, digital signal processors, specific integrated circuits (ASIC), programmable by the user matrix BIS (FPGA), discrete logic, software, hardware, firmware or any combination of the above. Each of video encoder 20 and decoder 22 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 subscriber device, broadcast device, server, etc. in Addition, the unit 12 of the video source and the device 14 destination video may include appropriate components of the modulation, demodulation, frequency p is obrazovanie, filter and amplifier for transmission and reception of encoded video, depending on need, including radio frequency (RF) wireless components and antennas. However, to simplify the illustration, these components are not shown in Fig. 1.

The sequence includes a series of video frames. Video encoder 20 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 a specified coding standard. 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 components of the luminance signal and 88 for the components of the chroma signal, and mutual prediction 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 components of the luminance signal and corresponding scaled sizes for the components of the chroma signal. 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. After forecasting the conversion can be performed for residual block of 88 or residual block of 44 and additional conversion may be the application is about to DC coefficients of blocks of 44 for the components of the chroma signal or components of the luminance signal, if you are using the prediction mode intra_1616.

Fig. 2 is a diagram illustrating multi-layer FGS-encoded video bit stream. As shown in Fig. 2, FGS-encoded video bit stream leads to the base layer 30 and one or more extra layers 32A-32N (together the layers 32). The base layer 30 includes a series of frames 34A-34N, which encode the video stream of bits with a minimum level of quality for a given bit rate. Each of improving layer 32 provides additional information on the flows of transmission bits, which can be used by the decoder 26 to gradually improve the initial quality provided by the base layer 30. The number of extra layers 32 that are processed by the video decoder 22, depends on the number of extra layers transmitted by the source device 12 and received by destination device 14, for example, a given state of the channel or other restrictions.

In General, each corresponding improving layer 32A-32N or part thereof, which is processed by the decoder 22, the step adds the quality of video received from the base layer 30 with respect to SNR, in accordance with the present invention. Improving layers 32A-32N may also be applied to spatial and/or temporal scalability. Instead of processing each of the CSOs improving layer 32A-32N fully as discrete improving layer, the system 10 can provide the ability to encode, transmit and process of improving scalability layers using generalized FGS approach. Thus, the SNR can be scaled with a high degree of detail, offering continuous quality improvement with partial decoding improves layers. Improving layers 32A-32N may be hierarchical in the sense that the layers offer, gradually improving the quality as they are decoded. Decoding improving all layers, for example, creates the highest quality, while decoding only the first enhancing layer creates a step increase in quality relative to decode only the base layer.

Fig. 3 is a diagram illustrating the zig-zag scan block coefficients in the blocks 46A-46C for FGS-encoded video frames. FGS is a series of consecutive macroblocks, such as PR-a series of consecutive macroblocks in SVC can be formed using is based on the cycles of coding instead of using block-based coding of transform coefficients. Based on the cycles of encoding blocks reduces the spatial concentration SNR-improvements in the video frame. In each cycle FGS-configured video encoder 20 encodes at most one non-zero coefficient in the block of transform coefficients and ergodic to the next block. As shown in Fig. 3 and 4, in cycle 0 video encoder 20 first code of the coded block flag (CBF) in the first block 46A, i.e. the block 0. If block 0 contains a non-zero significant coefficients, video encoder 20 encodes one or more coefficients from the same block as long as he finishes encoding the first significant coefficient in zigzag scan order illustrated in Fig. 3. This process continues until all the blocks, for example, in the video frame or portion of the video frame is not scanned. Video encoder 20 proceeds to the next cycle of coding, cycle 1. If the coefficient at the position of the scanning cycle is a lookup factor, video encoder 20 encodes the only qualifying factor and moves to the next block.

In the example of Fig. 3 it is assumed that the blocks 46A, 46B and 46C are the first three blocks in FGS series of consecutive macroblocks improving layer video frame. In this example, each block 46A, 46B, 46C is represented as block 4-on-4 conversion factors. Blocks 46A, 46B and 46C shown in the transformation. As a consequence, each number or variable in the block 46A, 46B, 46C is quantized coefficient, which must be encoded by the entropy encoding is lossless. The factor labeled beginning with the letter "S", for example, as indicated by the SS the CTL number 41 in the block 46A, is nonzero significant coefficient. Because this unit 46A is improving layer scalability FGS SNR, for each coefficient in the block is the corresponding coefficients in the base layer.

For nonzero significant coefficient, its value is nonzero, and its corresponding coefficient of the base layer is zero. For example, the coefficient S0, 1 corresponds to a nonzero significant coefficient in the block 0 with the index of zig-zag scanning 1. The factor labeled 0 is zero coefficient and its corresponding coefficient of the base layer is zero. The factor labeled beginning with the letter "R", for example, as indicated by reference number 43 in the block 46A, is a lookup factor with the corresponding coefficient of the base layer, which is non-zero, i.e. significant. The lookup value of the coefficient can be either zero or nonzero. For example, the coefficient R2, 2, as indicated by reference number 43, is a lookup factor in unit 2 with an index of zig-zag scan 2. When classifying factors FGS series of consecutive macroblocks improving layer table significance is often used. This table indicates the positions of the coefficients, which have become significant in the base layer. The coefficients of these positions improving layer are additional factors.

Video encoder 20, as described in this document may be construed as an addition to the entropy encoder used for encoding the base layer, such as entropy coder, estimated by the standard ITU-T H.264. In particular, block partitioning, transformation, and quantization used by video encoder 20 in improving layer, similar to these operations used in the base layer. In order to more efficiently encode zeros, syntax elements, such as of the coded block flag (CBF) and the end of block (EOB), can be used. Similar syntax elements are also used in the encoding of the base layer. CBF is sent once for each block and indicates the presence of a nonzero significant coefficient in each block. If CBF is 0, there is no non-zero significant coefficients; otherwise, there is at least one nonzero significant coefficient. The EOB flag is used to specify whether just coded a nonzero significant coefficient of the last nonzero significant coefficient in the scan order.

One difference between the base layer encoding and encoding improving layer by video encoder 20 is a branch of clarifying factors from other factors in the FGS layer and the encoding order. In kotoryj aspects of video encoder 20 may include separate modules encoding the base layer and encoding improving layer. In the base layer block is coded in its entirety before the next block is encoded, providing using block-based coding. However, for encoding improving layer coefficients from different blocks are interspersed with each other in cycles, providing based on the cycles of coding. In each cycle, as described above, only some of the coefficients of this block are encoded. Also, this way, video encoder 20 provides that an improvement in the quality of the video is more spatially uniform in the video after the bit stream is cut off.

Fig. 4 is a diagram illustrating one example is based on the cycles of coding coefficients and syntax elements in FGS series of consecutive macroblocks for videobloom 46A-46C is found in the zig-zag scanning order. In some aspects of the present invention FGS-by a series of successive macroblocks can be PR-a series of consecutive macroblocks, although the techniques described in this invention is not necessarily limited to use of the PR series of consecutive macroblocks.

Fig. 5 is a diagram illustrating based on the cycles of coding coefficients and syntax elements in FGS series of consecutive macroblocks for videobloom placed in order of transmission. Fig. 5 represents a reflow Fig. 4 is AK, what syntax elements and factors encoded in cycles, are placed in line. Each coefficient is represented in Fig. 4 and 5 by means of the rectangle. In the example of Fig. 4 and 5, at most one non-zero coefficient is encoded for a given block in one cycle, and it is assumed that the cycle number is the same as the index of the zigzag scan. In other implementations of the drawings may be optional that a non-zero coefficient must be coded in a loop. In addition, clarifying the factors can be handled in the same way that significant coefficients.

As shown in Fig. 4, for cycle 0, CBF (CBF0, CBF1, CBF2) is sent once for each block 46A, 46B, 46B and indicates that there is a nonzero significant coefficient in the block. For example, CBF0/1 corresponds to the first block is 0 and indicates that there is a nonzero significant coefficient in the block. In addition, the zero coefficient of 0 and a nonzero coefficient S0, 1 of block 0, which corresponds to a nonzero significant coefficient in the block 0 with the index of the zigzag scan 1, sent in cycle 0. CBF 1/0, however, corresponds to the second block (block 1) and indicates that there is no non-zero significant coefficients in the block. Therefore, there are no coefficients are sent to unit 1 in subsequent cycles. Cycle 0 additional is but includes CBF2/1, indicates that the unit 2 includes a nonzero significant coefficient, S2, 0, and the coefficient S2, 0.

Cycle 1 includes the EOB flag (EOB2/0) for block 2, indicating that, just coded a nonzero significant coefficient in the cycle 0, i.e. S2, 0, is not the last nonzero significant coefficient in the scan order. In the remaining cycles of coding blocks continues to follow the zigzag scanning order, and includes such syntax elements, as CBF and EOB, if necessary. The process continues for cycles 2-15 in zigzag scan order, where each cycle corresponds to one event in the form of arrows in the block diagram of Fig. 4. The example of Fig. 3, 4 and 5 relates to the first three blocks of 44 in improving layer video frame for illustration purposes. However, the General scheme illustrated in Fig. 4-6, may be applied to blocks of large size, and also a greater number of blocks covering the video frame or portion of the video frame.

The complexity of encoding and decoding in FGS series of consecutive macroblocks may be high in relation to the requirements for computing and storage. In addition, the decoding process for FGS series of consecutive macroblocks, as described in the JD documents can be complex. For example, FGS-FGS coding is a series of consecutive macroblocks can t about a large amount of memory, to save intermediate status information encoding, such as the position of the last coefficient is encoded in each block in the previous cycle coding. In addition, the FGS coding may require a large number of memory accesses, because the video encoder 20 often jump over the blocks in the course is based on the cycles of the encoding process. Saving ratios in pampalona order to be effective. In this case, the coefficients of the same frequency band can be stored next. However, the preservation of the coefficients in pampalona order may be incompatible with block transform that can access different frequencies.

If the bit streams from different cycles can directly access, the unit can be fully decoded and then processed in a manner analogous to using block-based processing in the base layer. Therefore, the ability to easily access the bit streams from different cycles can help in reducing the complexity of the encoding process FGS-series of consecutive macroblocks. In accordance with an exemplary aspect of the present invention, the video encoder 20 may be configured to be performed based on the cycles of coding coefficients blocks FGS-video and encapsulate the resulting cycle of the encoding fragments for transmission over a network transmitting modules, such as the modules of the level of abstraction from the network (NAL). To ensure easy access to the bit streams from different cycles, the fragments can be aligned with the cycle to the beginning of each of the fragments practically coincided with the beginning of one of the cycles. Thus, the bit streams, associative associated with the individual cycles of coding, can be easily accessed through the fragments.

A joint project additions SVC to H.264/MPEG-4 AVC specifies the unit of data, called "fragment", which contains a partial FGS layer. Fragments can be used as a way to encapsulate paged FGS stream. On the side of coding, for example, video encoder 20 may activate the normal process of FGS-encoded to form a bit stream of one FGS layer. After the bit stream FGS-layer is formed, the video encoder 20 may apply the fragmentation of the bit stream. On the side of decoding the decoder 22 concatenates adjacent slices and decodes the combined bit stream, as if a stream of bits was not fragmented. Therefore, processing of a single piece of usually requires the completion of processing of the previous fragment. In other words, the usual fragments cannot be decoded simultaneously. Instead, they must be concatenated before decoding.

In accordance with Yes is the principal fragments of the invention can be modified and used to provide direct access to the parts of the bit stream, associative associated with specific cycles FGS coding. In particular, instead of arbitrary encapsulation of the coded bit stream into a series of fragments, video encoder 20 controls the fragmentation so that the fragments were aligned with the cycles of FGS coding. Alignment, in General, can relate to the formulation of the fragment so that the beginning of the fragment practically coincided with the beginning of one of the cycles. Thus, by the beginning of the bit stream, associative associated with the cycle, the access can be performed by identifying the beginning of the fragment. The fragment may include a header before the payload of the fragment. The header can carry the administrative information that identifies the fragment. The payload of the fragment, in General, can mean the portion of the content fragment, which can transfer cycle data coding, and before it can go in the header information. In accordance with various aspects of the present invention cycles can be encapsulated in a multitude of fragments, so that the beginning of each of the fragments practically coincided with the beginning of one of the cycles. Therefore, the coincidence may indicate encapsulation, so that the beginning of the payload of each of the C fragments, for example, the following header information, practically coincided with the beginning of one of the cycles. In General, relative or whatever header information, the beginning of each fragment can be almost aligned with the beginning of the cycle, so that the cycles of coding could be easily accessible through their respective fragments, providing simultaneous decoding of at least parts of at least some of the fragments.

Aligned with the loop fragment (CAP) is different from the normal fragment, in which the beginning of the fragment may correspond to any unknown point in the bit stream. On the contrary, CAF aligned with the cycle so that by the beginning of the bit stream can be accessed almost at the beginning of the fragment. In addition, in some aspects, video encoder 20 may control the fragmentation so that each cycle contained in one fragment, possibly with other cycles, instead of distributing parts of consecutive fragments. The formation of the CAF allows to reduce the complexity of processing and to provide parallel processing of consecutive fragments instead of sequential processing of consecutive fragments.

To make it possible to decode aligned with the loop fragment (CAF) without the expectation that the decoding of the previous fragment zavershilos is, video encoder 20 may encode each CAF without using information that is available only after the previous segment decoded. For example, after the first fragment is completed, the video encoder 20 can clean entropy encoder, used for entropy coding fragment. In addition, video encoder 20 may reset contexts coding, associative associated with entropy coding, before the next fragment encoded. By resetting contexts coding and cleaning entropy decoder video encoder 20 forms a CAF, which can be easily accessed and decoded without waiting for decoding of other fragments, providing simultaneous parallel processing of CAF. For example, the decoding may be simultaneous in the sense that the decoding of one CAF can be performed at one time decoding at least part of another CAF. Thus, the CAF can be decoderm without waiting for the decoding of the previous fragment. This is different from normal parts, which usually must be reassembled before decoding.

Video encoder 20 may implement entropy encoding as context-adaptive variable length coding (CAVLC) or context-adaptive binary adaptive coding (CABAC). In comparison with the conventional fra the COP, CAF can provide some additional service information due to cleanup operations and reset contexts coding associated with entropy coding. On CAVLC affects only the cleanup operation, which can result in average about half the bytes of extra overhead. For CABAC, CAF represent additional penalty due to reset contexts coding. Service information required by additional NAL headers and the headers of the fragments, in General, is the same for normal fragments and CAF.

If each cycle is encoded as CAF, the fragment size can quickly diminish with increasing index of the cycle, because the length of each cycle tends to decrease. For this reason, it may be desirable to group some loops together to reduce the total amount of proprietary information. In particular, if some cycles are grouped together, service information, associative associated with fragments, can be shared between cycles. If the cycles are not grouped together, many cycles should be transported in their own fragments, creating service information fragment for each cycle. In fact, the grouping of cycles with a common fragment can be carried out, for example, using vector mode, for example, CA who recently stated in a Joint project 6 (JD6) JVT.

Vector mode is entered in JD6 in order to reduce the complexity FGS-coder. In vector mode, the FGS encoder should handle unit in this cycle until, until it reaches a predefined position of the scan before it moves to the next block. In other words, instead of moving to the next block after encoding the first significant coefficient, the cycle continues within the block up to the point when a predefined position of the scan is reached. In vector mode, the scanning depth of this cycle in the block increases. Therefore, the average number of times FGS encoder scans the block can be reduced. Vector mode can set the length of the vector, which determines the number of coefficients that must be scanned in this cycle. If the length of the vector is equal to 1, the vector mode has no effect, and FGS encoder operates in the usual manner. If the length of the vector equals the number of coefficients in the block, FGS encoder degenerates into the usual using block-based encoder.

Vector mode does not change the fact that FGS encoder accesses the block a few times. Nevertheless, it allows to reduce the complexity based on the cycles of coding to a certain extent by reducing the number of times FGS encoder accesses the block, and reducing the number of cyclooctylamine. When used with aligned loop fragments, modified vector mode can be used to generate fragments of similar sizes, reducing the overhead of fragmentation. Instead of a set of fragments with very small sizes cycles vector mode can be used to reduce the number of cycles and to increase the depth of each cycle so that the number of fragments required to adapt to the cycles decreased. When you reduce the number of fragments have fewer instances of service data fragments, leading to increased efficiency.

In vector mode, described in JD6, the length of the vectors is defined in the parameter set sequence. In a modified vector mode, as described in this invention, the length of the vector can be specified in the header of a series of consecutive macroblocks instead of a set of sequence parameters. Using the length of the vector, video encoder 22 increases the depth of scanning individual cycles to encode more factors in this cycle, leading to a smaller number of fragments. As an example, the specific length of the vector can be either fixed or dynamically adjusted based on the content of the channel status, load processing or other factors. Long is a of the vector can be the same for all cycles, different for the selected cycles or to change gradually from the first cycle to the last cycle.

Fig. 6 is a diagram illustrating encapsulation of cycles in normal fragments to pass through the modules of the level of abstraction from the network (NAL). As shown in Fig. 6, the bit stream carried through successive cycles 50A-50C, divided between consecutive fragments 52A-52C regardless of cycle boundaries. As a result, any given fragment 52 includes a part of a bit stream, associative associated with one or more cycles of 50, and provides no indicator of the beginning of the bit stream for a given cycle. On the contrary, the different parts of the loop 50 may be distributed along the boundaries 56A-56C consecutive fragments 52. In addition, each segment 52 may begin in the unknown, as a rule, an arbitrary point in the bit stream of the loop 50 so that the loops cannot be access directly through the fragment.

When the bit stream of the loop 50, covering successive fragments 52, it is necessary to process successive fragments dependent way. In particular, an arbitrary part of the bit stream carried by successive fragments 52, concatenated by video encoder 22 to play back the stream of bits cycles. If the first and second f is Agency 52A and 52B are transferred part of CYCLE 1 (50A), for example, both fragments are processed and concatenate to play back the stream of bits CYCLE 1. To support concatenation fragment 52A (FRAG 1) must be decoded and processed (54A) before the next segment 52B (FRAG 2) can be decoded and processed.

Therefore, a typical fragment 52B may not be simultaneously decoded and processed. In addition, a later fragment 52B is usually based on entropy coding of earlier fragments 52A. Therefore, the fragment V must wait until the decoding and processing of the previous fragment 52A ended. Therefore, the arrangement of the operations 54A, B, C processing figure 6 is a sequential dependent decoding and processing of the subsequent fragments 52 on the basis of completed processing the previous fragments. Sequential processing of fragments 52, as shown in the example in Fig.6, it can represent a significant computational complexity in requirements for computing and storage.

7 is a diagram illustrating encapsulation cycles aligned with the cycle of the fragments (CAF) in accordance with an aspect of the present invention to pass through the modules of the level of abstraction from the network (NAL). In the example shown in Fig.7. the video encoder 20 controls the fragmentation so that each fragment was aligned with the cycle frag is entom 58A-C, which starts with the beginning of the loop 50A-50 PPM. In addition, alternatively, the loops 50 in the example in Fig.7 can be formulated using vector mode, so that the length of at least some of the cycles was increased, reducing the total number of fragments and associative related service information required to transfer cycles.

In General, each CAF 58 moves the loop 50, which begins almost from the beginning of the CAF. For example, video encoder 20 may encapsulate cycles in many CAF 58 so that the beginning of each of the fragments, for example, the beginning of the payload of each of the fragments, practically coincided with the beginning of one of the cycles. In some cases the beginning of the payload may be preceded by a header, which consumes space within the fragment 58. Through virtually align the beginning of the loop 50 with the beginning of the section 58 the beginning of the bit stream, associative associated with the loop 50 may be easily identified, allowing access to individual cycles. Because each CAF 58 moves the loop 50, which you can access directly, there is no need to concatenate consecutive slices to reproduce a stream of bits, associative cycle 50. On the contrary, the video decoder 22 can be performed by the possibility of simultaneity the temporal decode and process fragments 58, for example, in parallel, as represented by operations A-S process. Piece 58 may be decoded and processed at the same time in parallel, at least a part of the decoding and processing of one or more other fragments. However, some fragments 58 can still be decoded and processed in sequence.

To make CAF decoded without waiting to the previous segment was completed, the video encoder 20 may encode the CAF without using information that is available only after the previous segment decoded. Accordingly, in addition to align the beginning of the cycle with the beginning of the slice, video encoder 20 may reset contexts coding, associative associated with entropy coding between successive coded fragments. In particular, after entropy encoding for the first segment is complete, the video encoder 20 clears the entropy encoder CAVLC or CABAC and resets the contexts coding. Thus, aligned with the cycle of the fragment is not based on any information encoding of the previously encoded fragment and can be decoded and processed in parallel with other fragments.

Fig. 8 is a block diagram illustrating an encoder 64 FGS-series of consecutive macroblocks, which encapsulates the loops in vyrovna the main loop fragments. The encoder 64 FGS-series of consecutive macroblocks may form part of a digital video encoder, such as video encoder 20 of Fig. 1. As shown in Fig. 8, the encoder 64 FGS-series of consecutive macroblocks may include module 66 conversion module 68 quantization module 70 is based on the cycles of the encoding module 72 is aligned with the cycle of fragmentation and module 74 entropy encoding. Module 66 conversion applies a spatial transformation to the remainder of the original FGS video-a series of consecutive macroblocks generated by video encoder 22 to generate blocks of transform coefficients. Module 68 quantization quantum the resulting transform coefficients. The module 70 is based on the cycles of encoding scans blocks of transform coefficients to form cycles of coding, for example, in a manner analogous to the method illustrated in Fig. 3-5.

In this invention, the illustration of various features as modules, units or components has the intention to highlight different functional aspects of video encoder 20 or video decoder 22 and does not necessarily imply that these modules must be realized by separate hardware and/or software-implemented components. On the contrary, functionality and memory associated with onemile more modules such as the module 66 conversion module 68 quantization module 70 is based on the cycles of the encoding module 72 is aligned with the cycle of fragmentation and module 74 entropy coding can be integrated into separate hardware and/or software-implemented components. In some cases, these symptoms can be implemented through General or specific software or software-based modules, comprising code configured to instruct the computer to perform the functions attributed to these characteristics.

The module 72 is aligned with the cycle of fragmentation breaks the bit stream associative cycles of coding fragments. Each piece encapsulates the cycle to the beginning of the bit stream cycle practically coincided with the beginning of the payload transported by the slice. The module 72 is aligned with the cycle of fragmentation can be performed with the opportunity to analyze the bit stream and to detect the boundaries of cycles to initiate aligned with the cycle of fragmentation. Module 74 applies entropy encoding entropy encoding, such as coding CAVLC or SAVAS, each of the fragments generated by module 72 is aligned with the cycle of fragmentation. Namely, in order to eliminate the interdependence of m is waiting consecutive fragments, module 74 entropy encoding can clean its previous statistics and to reset their contexts coding after each fragment entropy coded. Thus, at least some of the consecutive slices can be simultaneously decoded and processed. Entropy coded fragments can be placed in the network transmitting modules, such as modules of the level of abstraction from the network (NAL)for transmission from source device 12 to the device 14 destination.

Fig. 9 is a block diagram illustrating the decoder 75 FGS-series of consecutive macroblocks, which decodes cycles encapsulated aligned with the loop fragments (CAF). The decoder 75 FGS-series of consecutive macroblocks may form part of the decoder, such as video decoder 22 in Fig. 1. As shown in Fig. 9, the decoder 75 FGS-series of consecutive macroblocks may include module 76 entropy decoding module 80 is aligned with the cycle defragmentation module 80 is based on the cycles of the decode module 82 inverse quantization module 84 inverse transformation. Module 76 applies entropy decoding entropy decoding to the coded sequences. Namely, the encoded video CAF can be entropy decoded in parallel, because the CAF is not Kodirov who are using the same contexts encoding, that used in other CAF, and each CAF provides direct access to the stream of bits of a particular cycle.

The module 78 is aligned with the cycle of defragmentation processes the entropy decoded fragments to form the encoded video bit stream. The module 80 is based on the cycles of decoding scans the video bit stream to generate quantized transform coefficients. Module 82 inverse quantization will decanted conversion factors. Module 84 inverse transformation applies the inverse transform to devastanam conversion factor to play the rest. For CAF process of decoding FGS-series of consecutive macroblocks can be simplified to be very similar to the process of the discrete layer. As an example, in some aspects FGS series of consecutive macroblocks can be PR-a series of consecutive macroblocks. CAF also can greatly simplify the specification of the syntax FGS series of consecutive macroblocks, as described in this invention.

Fig. 10 is a block diagram of the operational sequence of the method, illustrating the encapsulation cycles aligned with the cycle of the fragments (CAF), as described in this invention. The formation of CAF can be performed in the encoder FGS-series of consecutive macroblocks, associative associated with in what decoderm 20, such as encoder 64 FGS-series of consecutive macroblocks in Fig. 8. In some aspects, the encoder 64 FGS-series of consecutive macroblocks can be a coder PR series of consecutive macroblocks. As shown in Fig. 10, the encoder 64 FGS-series of consecutive macroblocks encodes blocks FGS-video loops (86), encapsulates cycles are aligned with the loop fragments (88) and entropy encodes fragments (90). As described in this invention, the fragments are aligned with the cycle in the sense that the beginning of the bit stream, associative associated with the cycle coincides with the beginning of the payload of the corresponding fragment used to encapsulate the loop.

11 is a block diagram of the operational sequence of the method, illustrating more encapsulation cycles encoding aligned with the cycle of the fragments. Also the formation of CAF can be performed in the encoder FGS-series of consecutive macroblocks, associative associated with the video encoder 20, such as an encoder 64 FGS-series of consecutive macroblocks in Fig. As shown in figure 11, the encoder 64 FGS-series of consecutive macroblocks receives the transform coefficients for the residual videobloom (92) and performs the zig-zag scan of transform coefficients in the loop on blocks (94). The encoder 64 FGS-series of consecutive macroblocks formed is the duty to regulate the fragment, aligns the start of the payload of the fragment from the beginning of the cycle (96) and places the loop in a fragment (98). Encoder 4 FGS series of consecutive macroblocks encodes a fragment of (100) and then clears the statistics of the entropy encoder and resets contexts (102) coding, associative associated with entropy coding, after a fragment entropy coded. Thus, the following fragment, which must be entropy coded, does not require any information that is available only after the previous segment is fully decoded. As a result, multiple slices can be simultaneously decoded in parallel by the decoder 75 FGS-series of consecutive macroblocks, so that decoding at least parts of some of the fragments was performed at least partially at the same time decoding at least parts of one or more other fragments.

If there are cycles that need to be encoded (104), the encoder 64 FGS-series of consecutive macroblocks continue to scan the coefficients on the residual blocks (94), and repeats the operation 96, 98, 100, 102. If based on the cycles of the encoding is completed, the encoder 64 FGS-series of consecutive macroblocks receives the transform coefficients for the remaining blocks, for example, from another part of the video is from the subsequent frame, and repeats the operation 96, 98, 100, 102. During this process, the encoder 64 FGS-series of consecutive macroblocks CAF forms, so that the fragments can be processed simultaneously, and the bit stream associative cycles within fragments, could be directly available. The formation of CAF can lead to simplifying processing and reducing overhead costs in computation and memory.

Fig. 12 is a block diagram of the operational sequence of the method, illustrating the decoding cycles aligned with the cycle of the fragments (CAF). Decoding cycles in the CAF can be performed in the FGS decoder is a sequence of macroblocks, associative associated with the video decoder 22, such as an encoder 75 FGS series of consecutive macroblocks in Fig. 9. In the example of Fig. 12, the decoder 75 FGS series of consecutive macroblocks takes CAF (106) with the incoming video transmitted through the channel 16. The decoder 75 FGS series of consecutive macroblocks entropy decodes CAF (108) and simultaneously decodes at least part of at least some of the CAF (110), i.e. without information, which is available only after other CAF fully decoded. Thus, the decoder 75 FGS-series of consecutive macroblocks decodes and processes the CAF in parallel. As a result, several CAF can be processed and decoded simultaneously in parallel, does not consistently. Some CAF can be completely independent from each other. In other cases, the information decoding for a block in a subsequent CAF may depend on the decoding of the previous CAF for the same block. However, in this case other contexts coding for CAF can be supported by independent, so that the decoding of subsequent CAF was the same regardless of whether the previous CAF already decoded or whether previous CAF decoded simultaneously with the subsequent CAF.

Fig. 13 is a block diagram of the operational sequence of the method, illustrating more decoding cycles in the CAF. As shown in Fig. 13, the decoder 106 FGS-series of consecutive macroblocks can get CAF (112) and entropy decode CAF (114). The decoder 75 FGS-series of consecutive macroblocks can directly access the stream of bits, associative associated with the loop carried by CAF (116), and to decode the bit stream cycle (118)to form the corresponding residual video data. If there is still available CAF (120), the decoder 75 FGS-series of consecutive macroblocks retrieves the next CAF (112), and repeats the operations of Fig. 13, i.e., the operation 114, 116, 118.

Fig. 14 is a diagram illustrating the influence of the error on packet for normal fragments and aligned with the series of fragments (CAF). The use of CAF, according to the accordance with this invention, can significantly improve the error tolerance FGS-layer, in addition to simplifying processing and reducing requirements for computing and storage. Fig. 14 illustrates a series of normal fragments (FRAG 0, 1 FRAG, FRAG 2) and a series of CAF (CAF 0, CAF 1, CAF 2). When the portion of the first conventional fragment FRAG 0 invalid, as indicated by X, the damage makes the subsequent fragments FRAG 1 and 2 FRAG completely useless. In other words, any amount of damage in a previously coded FRAG 0 can lead to extensive damage later coded 1 FRAG and FRAG 2. For normal fragments the previous FRAG 0 and subsequent fragments FRAG 1 and 2 FRAG is actually formed from a single pass encoding. Therefore, the error at the end of the regular FRAG 0 damage all the information in 1 FRAG and FRAG 2 because they are based on FRAG 0 for the purposes of entropy encoding and can contain different parts of the total bit-stream cycle.

In contrast, for CAF damage one fragment does not break completely the other fragments. If, for example, there is an error in the end CAF 0, the error affects only the relevant part of the CAF 1 and CAF 2. CAF can be simultaneously encoded and transferred to the bit streams for the individual cycles of coding. Therefore, none of the CAF does not require information from other CAF for entropy decoding. In addition, the loss of information at the end of the cycle the coding for the cation, for example, for a particular block of transform coefficients will affect the subsequent information scanning for this block. Accordingly, the bit streams, associative associated with subsequent scans sets of blocks other than the damaged unit remains intact and can be accessed directly and correctly decoded, therefore, the use of CAF, as described in this invention, may contribute to resistance to errors in the coded video.

Additional modifications may be desirable or necessary for a particular schema FGS coding, described above, to support the CAF. For example, according to JD6, variable chromaStartCycle is used to delay the transmission of the components of a color signal regarding the transmission components of the luminance signal. In the current implementation JSVM is chromaStartCycle is calculated based on the statistics collected from the first cycle of coding. The FGS encoder series of consecutive macroblocks then sends the resulting value chromaStartCycle at the end of the first cycle of coding. If multiple CAF simultaneously decoded, it may be desirable to send the value chromaStartCycle in the header of a series of consecutive macroblocks of the first fragment. Accordingly, video encoder 22 may additionally be made with the possibility of sending the e value chromaStartCycle in the header of a series of consecutive macroblocks of the first fragment.

Another possible modification also applies to the transmission coefficients of the chroma signal. In the original JSVM possible that the last cycle coding AC chrominance signals do not overlap with the last cycle of the encoding of the luminance signal. For this reason, the video encoder 22 may be configured to activate the restriction that the coefficients of the chroma signal transmitted no later than the coefficients of the luminance signal. Thus, video encoder 22 may ensure that the last cycle coding AC overlaps with the last cycle of the encoding of the luminance signal.

As an additional refinement, entropy encoding can be adjusted in the video encoder 22. Diagram context-dependent VLC-coding can be used for entropy coding in the formation of the FGS bit stream. To split the CAF to the extent possible, the current index scan can be used to retrieve the VLC parameters. The first iteration may be an exception, since there is no character corresponding EOB, as in other iterations of coding. If the lookup coefficients are coded separately from significant factor and there are several qualifying factors at the first scan, or in the first few positions of the scan, the first series of zeros can begin with rulevoy position of the scan.

Several different approaches can be used to handle this situation. Under the first approach, a single binary digit can be selected in the video encoder 22 to always be processed first iteration of the block. According to the second approach, the video encoder 22 may use an index scan to retrieve the VLC parameters, but to take advantage of the knowledge that the first iteration does not have the EOB, so that the character set is not inserted EOB. Under the third approach, of the coded block flag (CBF) in the first iteration can be treated as EOB by video encoder 22. If CBF is equal to 1, EOB value 0 is sent for the first iteration. Otherwise EOB value of 1 is sent to the first iteration. When using the third approach may be a small difference between the first iteration and the other iterations.

May provide additional methods to improve the performance of FGS coding. As explained above, it may be desirable to encode CBF before any significant coefficient is encoded as CBF indicates whether there is any significant coefficient in the corresponding block. In some cases, the unit may have several initial lookup factors. For example, if the first coefficient is clarifying what oefficients, and lookup coefficients are coded separately from the significant coefficients for CBF block can be sent after the first qualifying factor sent. As a result, CBF may not always be encoded in the first cycle of coding. If CBF is not coded, the implementation of CAF using entropy encoder CABAC can create some problems. In entropy coding CABAC CBF is encoded in a context-based CBF values of the neighboring blocks. In addition, different contexts are used for encoding CBF different types of blocks, such as block of 44 luma signal, AC-block of the chroma signal, the DC block of chrominance signals, etc. In the system FGS coding low complexity, as described in this invention, all of the flags encoded blocks in aligned with the cycle of the slice can be encoded by video encoder 22 in a single extra context if they are encoded after some clarifying coefficients in the same block.

As an example, it is assumed that there is a specific coefficient in the block, and clarifying the coefficient is in the first position of the scan. In addition, it is assumed that there are also several additional significant coefficients in the block. In this case, video encoder 22 may be configured to first encode the qualifying factor for subsequent coding is of CBF block. CBF can be encoded in a new specific context. Then significant coefficients in the block are encoded.

Another problem that may occur in CABAC implementation of CAF, is also linked with the job context. CABAC entropy encoding encodes important flags and the last significant flag using the context specified based on the position of the scan. In a simplified implementation of the CAF may be desirable to keep the same sets of context separately for each fragment in the video encoder 22. Storing separate sets of context may entail additional costs to implement. However, if more contexts encoding is used to encode the same number of coefficients as when it is not aligned with the cycle of the fragment may be a problem with the erosion of the context, which leads to performance degradation of the encoding. In the FGS encoder-series of successive macroblocks of the video encoder 22 contexts coding for several important flags can be grouped.

For example, if the initial position of the scanning cycle is 3, and the vector length is 3 for a fragment, the original contexts meaningful encoding used for scanning positions 3, 4 and 5. In addition to the scanning position 5 contexts coding for the relevant flags can be grouped in various ways. One example is to set a threshold C> =6. If the position of the scanning or equal to C, a separate context can be used to encode meaningful flag. All relevant flags corresponding to the scanning positions after C, can then be encoded in a single context. A similar method can be used to specify additional context encoding to encode the last flag significant factor. In another example, the scan can be limited to defined through the length of the vector, and not the position of the next non-zero coefficients.

In the following table 1 is an example of syntactic modifications that can be implemented to support the CAF, in accordance with some aspects of the present invention. Syntactic modifications can be made in respect of the applicable syntax outlined in the Joint project 6 (JD6) additions SVC to H.264/MPEG-4 AVC, or syntax, otherwise presented in JSVM. For this particular scheme FGS-FGS coding is a series of consecutive macroblocks can also be referred to as a series of consecutive macroblocks PR (progressive refinement).

In the various tables of the present invention, all syntax elements may have a corresponding syntax and semantics specified in the standard ITU-T H.264 or in addition SVC, for example, as osushestvleniu JSVM or JD6, to the extent that these syntax elements described in the H.264 standard, unless otherwise noted. In General, the syntax elements and semantics, is not described in the H.264 standard or JD6 described in this invention.

In the various tables of this invention, the column marked "C", lists the categories of syntax elements that may be present in the NAL module, which can also correspond to the categories in the H.264 standard. In addition, the syntactic elements of the syntactic category of "All" can be represented, as determined by the syntax and semantics of the data structure for raw payload bit sequence (RBSP)contained in the NAL module FGS series of consecutive macroblocks.

The presence or absence of any syntactic elements specific listed categories is determined from the syntax and semantics related associative data structure RBSP. The column descriptor specifies a handle, for example, f(n), u(n), b(n), ue(v), se(v), me(v)ce(v), which, in General, can match the descriptors specified in the H.264 standard or JD6, unless otherwise specified in this invention.

Table 1

Syntactic modification to support

aligned with the cycle of fragments

Next described is the complete and approximate semantics of new or modified syntax elements, presented in table 1. Syntax elements in a set sequence, which is sent less often, are described as follows.

Syntax element pr_info_present_flag specifies the syntax elements used in the decoding FGS-series of consecutive macroblocks, such as decoding the PR series of consecutive macroblocks. When pr_info_present_flag equal to 0, no more syntax elements used for decoding FGS-series of consecutive macroblocks in the set of parameters of the sequence. When pr_info_present_flag equal to 1, the syntax elements that specify the parameters vector mode CAF and PR, are present in a set sequence. When pr_info_present_flag is missing, it can be logically derived as equal to 0.

Syntax element pr_cycle_aligned_fragment_flag specifies whether using block-based decoding using CAF to be activated for decoding FGS-series of consecutive macroblocks. When the value pr_cycle_aligned_fragment_flag equal to 1, using block-based decoding using the CAF must be activated. When pr_cycle_aligned_fragment_flag is missing, it can be logically derived as equal to 1.

Syntax element num_pr_vector_modes_minus1 specifies the size of the matrix of the parameter vector mode present in the set of parameters p is coherence. Parameters vector mode are extracted from the subsequent syntax element and stored in a two-dimensional matrix ScanPosVectSet, where each one-dimensional matrix ScanPosVectSet[i] stores the parameters related to the i-th vector mode, for i=0, 1,..., num_pr_vector_modes_minus1.

Variable NumPrVectorModes can be extracted as follows. If a syntax element num_pr_vector_modes_minus1 present, NumPrVectorModes sets (num_pr_vector_modes_minus1+1). Otherwise NumPrVectorModes equal to 1.

Syntax element pr_coding_mode[i] specifies what syntax element is used to extract the matrix ScanPosVectSet[i]. When pr_coding_mode[i] is equal to 0, the parameter vector mode in the matrix ScanPosVectSet[i] is extracted using the syntax element grouping_size_minus1[i]. When pr_coding_mode[i] equal to 1, the parameter vector mode in the matrix ScanPosVectSet[i] is retrieved using the matrix reverse_pr_vector_len_minus1[i][k], k=0,..., NumPosVector[i]-1. If num_pr_vector_modes_minus1 missing, pr_coding_mode[0] is set to 0.

Syntax element grouping_size_minus1[i] specifies the number of scanning positions, grouped within each vector, minus 1. If num_pr_vector_modes_minus1 missing, grouping_size_minus1[0] is set equal to 15.

Syntax element reverse_pr_vector_len_minus1[i][k] specifies the length of the vector between ScanPosVectSet[i][NumPosVector[i]-1-k] and ScanPosVectSet[i][NumPosVector[i]-k], minus 1. Syntax element reverse_pr_vector_len_minus1[i][k] must be decoded ka is an unsigned value using ceil(log(remVectorLen-1)) bits.

Matrix ScanPosVectSet can be extracted as follows:

}

The corresponding syntax elements in the header are a series of consecutive macroblocks can be provided as follows.

Syntax element pr_vector_mode_idx specifies the index in the matrix ScanPosVectSet, which stores the parameters vector mode. Is pr_vector_mode_idx should be in the range from 0 to (NumPrVectorModes-1), inclusive. ScanPosVectSet[pr_vector_mode_idx] and NumPosVector[pr_vector_mode_idx] are used to extract the following parameters for decoding the current series of consecutive macroblocks with a gradual refinement:

These parameters can be extracted as follows:

//find the starting position of scanning for DC chroma signal and AC signal color

Syntax element ScanPosVectLuma[i] specifies the starting position of scanning in the scanning cycle with index i for blocks of 44 luma signal. ScanPosVectLuma8x8[i] specifies the starting position of scanning in the scanning cycle with index i for 8x8 blocks of the luminance signal. ScanPosVectChromaDC[i] specifies the starting position of scanning in the scanning cycle with index i for the DC-blocks of chroma signal. ScanPosVectChromaAC[i] specifies the starting position of scanning the Oia in the scanning cycle with index i for AC-blocks of chroma signal.

Service information according to another configuration vector mode can also be in the header of a series of consecutive macroblocks, as shown below in table 2. Therefore, in this modified vector mode vector length can be set in the header of a series of consecutive macroblocks, and not in a set sequence. This approach may entail the use of flag overrides to form a new set of scan vectors. The length of the vector may also be communicated using other approaches with other trade-offs between complexity and scope of the proprietary information. Accordingly, the invention involves any of the multiple methods of message service information vector mode, where information is encoded to indicate a vector mode, including, for example, the method of the message in the header of a series of consecutive macroblocks, as illustrated in table 2.

Table 2

The message service information different

configurations vector mode

The following describes the definition of the header macroblock in FGS series of consecutive macroblocks. In JSVM structure of the bit stream gradual series of consecutive macroblocks are designed in such a way that the syntactic elements that are not of sposobem who have directly improve the quality of the recovered video went as late as possible. If the bit stream is partially truncated, restored video can have a maximum quality. Table 3 below provides a segment of pseudo-code, which provides the basic structure of the FGS bit stream is a sequence of macroblocks. In table 4 below illustrates an exemplary syntax elements to determine the header macroblock in FGS series of consecutive macroblocks.

Table 3

The structure of the FGS bit stream is a sequence of macroblocks

As an example, CBP of the chroma signal can be sent immediately before the coefficients of the chroma signal, but after the coefficients of the luminance signal of the first cycle of coding in the same macroblock, whereas in the base layer AVC CBP of the chroma signal can be sent in the header of the macroblock. Another example is the transfer of delta QP. If the macroblock in improving layer has no non-zero coefficients of the luminance signal and a non-zero DC-coefficients of the chroma signal, but it has a non-zero AC coefficients of the chroma signal, and CBP macroblock in the base layer is zero, delta QP can be sent immediately before the AC coefficients of the chroma signal is encoded. This approach is very different from the way these syntax elements are typically sent to the base with the second AVC.

Section of pseudo-code presented above in table 3, provides the basic structure of the FGS bit stream is a sequence of macroblocks. However, by performing a simple analysis of the actual procedure coding delay the transfer of these syntax elements may not provide significant benefits.

Two associated with the chroma signal flag, allow_chroma_dc and allow_chroma_ac, can be used in a video encoder 20 to control the speed of the transmission coefficients of the chrominance signal relative to the speed of transmission coefficients of the luminance signal. In the cycle of encoding 0, these two flags can always be equal to 1, so that all of the above syntax elements will be transferred in the first cycle. Bits when sending these syntax elements should be delayed, but it can still be transferred in the first cycle of coding of a macroblock. This slight shuffling bits should not have a significant impact on the performance of the encoding, if the bit stream is truncated.

Title MB for FGS series of consecutive macroblocks can be specified as indicated in table 4 below. Namely this particular example, the MB header may have the same structure, similar to the structure of the coarse-grained layer SNR scalability (CGS).

Table 4

The definition of the header of the macroblock in the FS-series

consecutive macroblocks

Using CAF and associated methods of encoding, as described in this invention, the process of decoding FGS series of consecutive macroblocks can be greatly simplified and may be similar to the process of decoding the discrete improving layer. CAF and associative associated methods can also significantly simplify the specification of the syntax FGS series of consecutive macroblocks. In the following table. 5 shows an example sequence of decoding operations, for example, the video decoder 22, when CAF and associative header macroblock, as described in this invention, are used. Some features that are not listed may be similar to the functions used in SVC JD, except that improvements and modifications explained above, in this invention, can be used. CAF can also work with other schemes FGS encoding.

Switching the input data, i.e. data within a fragment, may be processed in the function decode residual_block. The cost of switching of the input buffers is much less than the costs associated with the decoding process is frame-based.

Table 5

The syntax of these FGS-series serial

macroblocks in a scalable updat is to

Table 6 below illustrates an exemplary syntax data of the residual block FGS series of consecutive macroblocks in a scalable Supplement.

Table 6

The syntax data of the residual block FGS-series

consecutive macroblocks in a scalable addition

Table 7 below illustrates an exemplary syntax for CABAC syntax significant factor and series data FGS series of consecutive macroblocks.

Table 7

CABAC syntax significant factor and series

data FGS series of consecutive macroblocks

Table 8 below illustrates an exemplary syntax for CAVLC syntax significant factor and series data FGS series of consecutive macroblocks.

Table 8

CAVLC syntax significant factor, and

series in data FGS series of consecutive macroblocks

Any device described in this invention may be various types of devices, for example wireless telephone, cellular telephone, portable computer, wireless multimedia device, a wireless card of a personal computer (PC), personal digital device is the government (PDA), external or internal modem, device games, or any media device that communicates through a wireless or wired channel. Such a device can have different names, for example, the access terminal (AT), an access module, subscriber module, mobile station, mobile device, mobile module, mobile phone, mobile device, remote station, remote terminal, remote unit, user device, user equipment, handheld device, etc.

The techniques described herein may be implemented in hardware, software, firmware or any combination of them. If implemented in software, the techniques may be implemented, at least partially through one or more stored or transmitted instructions or code on a computer-readable medium of the computing program product, which instruct the processor to perform these techniques. Machine-readable media may include computer storage media, the communication environment or both, and may include any medium that facilitates transfer of a computer program from one place to another. The storage media can be any available media that can in order to implement access through a computer.

As an example, but not limitation, these machine-readable media may include media data storage, such as RAM, synchronous dynamic random access memory (SDRAM), a persistent storage device (ROM), nonvolatile random access memory (NVRAM), ROM, electrically erasable programmable permanent memory (EEPROM), EEPROM, flash memory, CD-ROM or other optical disk storage, magnetic disk storage device or other magnetic storage devices, or any other machine-readable media storing data that can be used to transfer or store desired program code in the form of instructions or data structures and which can be accessed through a computer.

Any connection is properly termed a computer readable media.

For example, if the software is transmitted from a web site, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave environment, coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio and microwave environment, included in the definition of the media. Disk (disk) and the disk (disc) when used in this document include compact disc (CD), laser disc, optical disc, digital versatile disk (DVD), floppy disk and Blu-Ray disc, and the drive (disk) usually reproduce data magnetically, while discs (disc) usually reproduce data optically, for example, using lasers. Combinations of the above should also include machine-readable media.

Code, associative machine-readable media of the computing program product may be implemented by one or more processors, for example, one or more digital signal processors (DSPS), microprocessors, General purpose, specific integrated circuits (ASIC), programmable by the user matrix BIS (FPGA) or other equivalent integrated or discrete logic circuits. 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).

Describes the various aspects of the invention. These and other aspects are within the scope of the attached claims.

. The video encoding method containing the steps are:
encode the blocks of video data with scalability with a high degree of detail (FGS) in multiple cycles, with each cycle contains a loop FGS coding; and
encapsulate the cycles in the set of fragments so that the beginning of each of the fragments, essentially coincided with the beginning of one of the cycles, with each fragment contains a partial FGS layer.

2. The method according to claim 1, wherein the encapsulation includes a stage on which encapsulate the cycles in the set of fragments so that the beginning of the payload of each of the fragments, essentially coincided with the beginning of one of the cycles, the payload of each fragment contains part of the content of each of the fragments.

3. The method according to claim 1, in which the blocks FGS-video contain blocks of transform coefficients, and encoding blocks PGS-video data includes a stage on which encode the coefficients, associative associated with blocks FGS-video in loops.

4. The method according to claim 1, in which the blocks FGS-video contain blocks of transform coefficients, and in which at least some of the cycles cover conversion factors, associative associated with many blocks FGS-video.

5. The method according to claim 1, in which the blocks FGS-video match series sequence is part of macroblocks with the progressive refinement (PR) video data.

6. The method according to claim 1, additionally containing phases in which: apply entropy coding to the pieces using a variety of contexts coding and dropping contexts coding, associative associated with entropy coding for each of the fragments after applying entropy encoding to the fragments.

7. The method according to claim 6, in which the reset entropy encoding includes the steps are: cleansing entropy coder used in order to apply entropy encoding, after each of the fragments of entropy encoded; and dropping contexts encoding used by the entropy encoder, after each of the fragments of entropy encoded.

8. The method according to claim 1, additionally containing a phase in which control one or more cycles using vector mode to scan up to a predetermined position of the scanning within each of the blocks to move to another block.

9. The method of claim 8, further containing a stage at which encode information to indicate a vector mode.

10. The method according to claim 1, in which each cycle is at least part of the scanning in a zigzag manner one or more blocks.

11. Video encoder, comprising:
the module is based on the cycle of the encoding, which encodes the blocks of video data with scalability with a high degree of detail (FGS) in multiple cycles, with each cycle contains a loop FGS coding; and
the fragmentation module, which encapsulates the cycles in the set of fragments so that the beginning of each of the fragments, essentially coincided with the beginning of one of the cycles, with each fragment contains a partial FGS layer.

12. The video encoder according to claim 11, in which the fragmentation module encapsulates the cycles in the set of fragments so that the beginning of the payload of each of the fragments, essentially coincided with the beginning of one of the cycles, the payload of each fragment contains part of the content of each of the fragments.

13. The video encoder according to claim 11, in which the blocks FGS-video contain blocks of transform coefficients, and the module is based on the cycles of encoding encodes the coefficients, associative associated with blocks FGS-video in loops.

14. The video encoder according to claim 11, in which the blocks FGS-video contain blocks of transform coefficients, in which at least some of the cycles cover conversion factors, associative associated with many blocks FGS-video.

15. The video encoder according to claim 11, in which the blocks FGS-video data correspond to a series of consecutive macroblocks gradually refined the eat (PR) video data.

16. The video encoder according to claim 11, further containing module entropy coder that applies entropy coding to the pieces using a variety of contexts coding and resets the contexts coding, associative associated with entropy coding for each of the fragments after applying entropy encoding to the fragments.

17. The video encoder according to clause 16, in which in order to reset the entropy encoding module entropy encoder clears the entropy coder used in order to apply entropy encoding, after each of the fragments of entropy coded, and resets the contexts encoding used by the entropy encoder, after each of the fragments of entropy encoded.

18. The video encoder according to claim 11, in which the module is based on the cycles of coding manages each of the loops using vector mode to scan up to a predetermined position of the scanning within each of the blocks to move to another block.

19. Video encoder for p, in which the encryption module encrypts the information to indicate a vector mode.

20. The video encoder according to claim 11, in which each cycle is at least part of the scanning in a zigzag manner one or more blocks.

21. geocoder, contains:
means of coding blocks of video data with scalability with a high degree of detail (FGS) in multiple cycles, with each cycle contains a loop FGS coding; and
the tool encapsulation cycles in many fragments, so that the beginning of each of the fragments, essentially coincided with the beginning of one of the cycles, with each fragment contains a partial FGS layer.

22. The video encoder according to item 21, in which the tool encapsulation provides a means of encapsulating cycles in many fragments, so that the beginning of the payload of each of the fragments, essentially coincided with the beginning of one of the cycles, the payload of each fragment contains part of the content of each of the fragments.

23. The video encoder according to item 21, which blocks FGS-video contain blocks of transform coefficients, and a means of encoding blocks FGS-video provides a means of encoding coefficients are associated with blocks FGS-video in loops.

24. The video encoder according to item 21, which blocks FGS-video contain blocks of transform coefficients, and in which at least some of the cycles cover conversion factors, associative associated with many blocks FGS-video.

25. The video encoder according to item 21, which blocks FGS-video match series placenta is therefore macroblocks with the progressive refinement (PR) video data.

26. The video encoder according to item 21, further containing a means of applying entropy encoding to the pieces using a variety of contexts coding and tool reset contexts coding associated with entropy coding for each of the fragments after applying entropy encoding to the fragments.

27. Video encoder for p, in which the tool is reset entropy encoding contains the cleanup tool entropy coder used in order to apply entropy coding after each of the fragments of entropy encoded; and means reset contexts encoding used by the entropy encoder, after each of the fragments of entropy encoded.

28. The video encoder according to item 21, further containing a means of controlling one or more cycles using vector mode to scan up to a predetermined position of the scanning within each of the blocks to move to another block.

29. Video encoder for p, optionally containing a means of encoding information to indicate a vector mode.

30. The video encoder according to item 21, wherein each of the cycles is at least part of the scanning in a zigzag manner one or more blocks.

31. Machine-readable media, with the containing a series of instructions, which, when enforced, cause the processor to:
coding blocks of video data with scalability with a high degree of detail (PGS) in multiple cycles, with each cycle contains a loop FGS coding; and
to encapsulate the cycles in the set of fragments so that the beginning of each of the fragments, essentially coincided with the beginning of one of the cycles, with each fragment contains a partial FGS layer.

32. Machine-readable media on p, when this command cause the processor to encapsulate the cycles in the set of fragments so that the beginning of the payload of each of the fragments, essentially coincided with the beginning of one of the cycles, the payload of each fragment contains part of the content of each of the fragments.

33. Machine-readable media on p, with blocks FGS-video contain blocks of transform coefficients, and wherein the commands instruct the processor to encode the coefficients, associative associated with blocks FGS-video in loops.

34. Machine-readable media on p, with blocks FGS-video contain blocks of transform coefficients, and in which at least some of the cycles cover conversion factors, associative associated with many blocks FGS-video.

35. Machine-readable media on p, if this is what the blocks FGS-video data correspond to a series of consecutive macroblocks with the progressive refinement (PR) video data.

36. Machine-readable media on p, when this command cause the processor to apply entropy coding to the pieces using a variety of contexts coding and reset contexts coding, associative associated with entropy coding for each of the fragments after applying entropy encoding to the fragments.

37. Machine-readable media on p, when this command cause the processor: to clear the entropy coder used in order to apply entropy coding after each of the fragments of entropy encoded; and reset contexts encoding used by the entropy encoder, after each of the fragments of entropy encoded.

38. Machine-readable media on p, when this command cause the processor to control one or more cycles using vector mode to scan up to a predetermined position of the scanning within each of the blocks to move to another block.

39. Machine-readable medium according to 38, this command prompts the processor to encode information to indicate a vector mode.

40. Machine-readable media on p, with each of the cycles is at least part of the scanning in a zigzag manner one or more blocks.

41. Sporobakterini video containing phases in which:
take fragments, including multiple cycles of coding is to encode the blocks of video data with scalability with a high degree of detail (FGS), while each of the fragments contains a partial FGS-layer and each cycle contains a loop FGS coding; and
decode at least part of at least some of the fragments at the same time, with the beginning of each of the fragments, essentially coincides with the beginning of one of the loops.

42. The method according to paragraph 41, in which the beginning of the payload of each of the fragments, essentially coincides with the beginning of one of the cycles, the payload of each fragment contains part of the content of each of the fragments.

43. The method according to paragraph 41, in which the cycles to encode the transform coefficients, associative associated with blocks FGS-video.

44. The method according to paragraph 41, in which at least some of the cycles cover conversion factors, associative associated with many blocks FGS-video.

45. The method according to paragraph 41, in which the blocks FGS-video data correspond to a series of consecutive macroblocks with the progressive refinement (PR) video data.

46. The method according to paragraph 41, in which many contexts coding associated with entropy coding for each of the fragments, dropping the SJ after as each of the fragments of entropy encoded.

47. The method according to paragraph 41, in which each cycle is at least part of the scanning in a zigzag manner one or more blocks.

48. Video decoder, containing the module is based on the cycles of decoding that takes fragments, including multiple cycles of coding is to encode the blocks of video data with scalability with a high degree of detail (FGS), while each of the fragments contains a partial FGS-layer and each cycle contains a loop FGS coding, and decodes at least part of at least some of the fragments at the same time, with the beginning of each of the fragments, essentially coincides with the beginning of one of the loops.

49. Video decoder on p, in which the beginning of the payload of each of the fragments, essentially coincides with the beginning of one of the cycles, the payload of each fragment contains part of the content of each of the fragments.

50. Video decoder on p, in which cycles encode the transform coefficients, associative associated with blocks FGS-video.

51. Video decoder on p, in which at least some of the cycles cover the coefficients coding, associative associated with many blocks FGS-video.

52. Video decoder on p, which blocks FS-video data correspond to a series of consecutive macroblocks with the progressive refinement (PR) video data.

53. Video decoder on p, in which many contexts coding associated with entropy coding for each of the fragments are reset after each of the fragments of entropy encoded.

54. Video decoder on p, in which each cycle is at least part of the scanning in a zigzag manner one or more blocks.

55. Video decoder, comprising:
means of reception of fragments, including multiple cycles of coding is to encode the blocks of video data with scalability with a high degree of detail (FGS), while each of the fragments contains a partial FGS-layer and each cycle contains a loop FGS coding; and
means of decoding at least parts of at least some of the fragments at the same time, with the beginning of each of the fragments, essentially coincides with the beginning of one of the loops.

56. The video decoder according to 55, in which the beginning of the payload of each of the fragments, essentially coincides with the beginning of one of the cycles, the payload of each fragment contains part of the content of each of the fragments,

57. The video decoder according to 55, in which the cycles to encode the transform coefficients, associative associated with blocks FGS-video.

58. The video decoder according to 55, in which, at measures which, some of the cycles cover conversion factors, associative associated with many blocks FGS-video.

59. The video decoder according to 55, which blocks FGS-video data correspond to a series of consecutive macroblocks with the progressive refinement (PR) video data.

60. The video decoder according to 55, in which many contexts coding associated with entropy coding for each of the fragments are reset after each of the fragments of entropy encoded.

61. The video decoder according to 55, in which each cycle is at least part of the scanning in a zigzag manner one or more blocks.

62. Machine-readable media containing instructions to direct the processor to:
to take fragments, including multiple cycles of coding is to encode the blocks of video data with scalability with a high degree of detail (FGS), while each of the fragments contains a partial FGS-layer and each cycle contains a loop FGS coding; and
to decode at least part of at least some of the fragments at the same time, with the beginning of each of the fragments, essentially coincides with the beginning of one of the loops.

63. Machine-readable medium according to item 62, with the beginning of the payload of each of the fragments, essentially coincides the AET with the beginning of one of the cycles, the payload of each fragment contains part of the content of each of the fragments.

64. Machine-readable medium according to item 62, and the cycles to encode the transform coefficients, associative associated with blocks FGS-video.

65. Machine-readable medium according to item 62, with at least some of the cycles cover conversion factors, associative associated with many blocks FGS-video.

66. Machine-readable medium according to item 62, while the blocks FGS-video data correspond to a series of consecutive macroblocks with the progressive refinement (PR) video data.

67. Machine-readable medium according to item 62, while many contexts coding associated with entropy coding for each of the fragments are reset after each of the fragments of entropy encoded.

68. Machine-readable medium according to item 62, with each of the cycles is at least part of the scanning in a zigzag manner one or more blocks.



 

Same patents:

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: method includes the following: operation of coding for formation of coded images in coder, and also operation of specified coded images transfer in decoder in the form of transmission units, operation of buffering for buffering of transmission units sent to decoder, in buffer and operation of decoding for decoding of coded images with production of decoded images. Buffer size is specified by means of determining overall size of at least two transmission units and setting maximum size of buffer on the basis of this overall size.

EFFECT: improved efficiency of coded images buffering.

22 cl, 16 dwg

FIELD: physics; video technology.

SUBSTANCE: invention relates to devices for re-encoding video data for real time streaming, and particularly to re-encoding video data for real time streaming in a mobile broadcast application. Proposed is a device for using content information to encode multimedia data, which includes a content classification module, which is configured to classify content multimedia data and provide content classification data, and an encoder which is configured to encode multimedia data in a first data group and a second data group based on content classification, wherein the first data group contains a coefficient, and the second group of data contains a first differential refinement associated with the coefficient of the first group of data.

EFFECT: design of a transcoder which provides for highly efficient processing and compression of multimedia data, which uses information defined from the said multimedia, and is scalable and error-tolerant for use in several multimedia data applications.

49 cl, 45 dwg

FIELD: physics; image processing.

SUBSTANCE: invention relates to the technology of simulating granularity of a film in an image. A method is proposed for simulating a film granularity unit for adding to an image unit through a first establishment of at least one image parametre in accordance with at least one unit attribute. The film granularity unit is established in accordance with the image parametre. Deblocking filtration can also be applied to the film granularity unit.

EFFECT: easier film granularity simulation.

27 cl, 4 dwg

FIELD: coding elementary-wave data by means of null tree.

SUBSTANCE: proposed method includes generation of elementary-wave ratios pointing to image. In the process bits of each elementary-wave ratio are associated with different bit places so that each place is associated with one of bits of each elementary-wave ratio and associated bits are coded with respect to each place of bits to point to null tree roots. Each place of bits is also associated only with one of bits of each elementary-wave ratio. Computer system 100 for coding elementary-wave ratios by means of null tree has processor 112 and memory 118 saving program that enables processor 112 to generate elementary-wave ratios pointing to image. Processor 112 functions to code bits of each place to point to null tree roots associated with place of bits.

EFFECT: enhanced data compression speed.

18 cl, 7 dwg

FIELD: converting code of received video sequence using extrapolated movement data received from video sequence.

SUBSTANCE: proposed method for code conversion involves reception of first bit stream of compressed picture data having some coding parameters. These parameters may relate to GF-structure of picture frames, picture frame size, to parameter showing if frames presented in input bit stream are picture fields or frames, and/or if they form picture frames presented in bit stream, direct or interlaced sequence. First and second movement vectors are obtained from input bit stream and used together with weighting coefficients to extrapolate third movement vector for output bit stream of compressed picture data. Output bit stream that differs from input one by one or more parameters is outputted as converted-code output signal.

EFFECT: provision for minimizing of or dispensing with movement estimation in code conversion process.

22 cl, 4 dwg, 1 tbl

FIELD: protection of video information against unauthorized copying.

SUBSTANCE: proposed method using watermarks to protect video information against unauthorized copying by changing scale of pattern in the course of copying includes introduction of watermark in original video signal with different scales. Watermark is maintained in each scale for preset time interval sufficient to enable detector circuit in digital-format video recorder to detect, extract, and process information contained in watermark. Watermark scale is changed by end of preset time interval preferably on pseudorandom basis to ensure appearance of each of all scales in predetermined scale variation range as many times as determined in advance. In this way definite scale possessing ability of watermark recovery to initial position and size can be identified and used for watermark detection.

EFFECT: enhanced reliability, facilitated procedure.

24 cl, 7 dwg

FIELD: multimedia technologies.

SUBSTANCE: method includes at least following stages: determining, whether current value of processed coefficient of discontinuous cosine transformation is equal or less than appropriate threshold value, used in current time for quantizing coefficients of discontinuous cosine transformation of image blocks of common intermediate format, and if that is so, then value of discontinuous cosine transformation coefficient is set equal to zero, then currently used threshold value is increased for use as threshold value with next processing of discontinuous cosine transformation coefficient, in opposite case currently used threshold value is restored to given original threshold value, which is used as threshold value for next processing of discontinuous cosine transformation coefficient; determining, whether increased threshold value is greater than given upper limit of threshold value, and if that is so, than increased threshold value is replaced with given upper limit.

EFFECT: higher quality.

8 cl, 4 dwg

FIELD: methods and devices for memorization and processing of information containing video images following one another.

SUBSTANCE: from each image recorded prior to current time appropriately at least one image area is selected and aperture video information is recorded with placement information. from video-information at least one mixed image is generated with consideration of appropriate placement information. Mixed image is utilized for display in accordance to movement estimation, movement compensation or error masking technology frames.

EFFECT: decreased memory resource requirements for memorization of multiple previously received images.

3 cl, 4 dwg

FIELD: engineering of devices for transforming packet stream of information signals.

SUBSTANCE: information signals represent information, positioned in separate, serial packets of digital format data. These are transformed to stream of information signals with time stamps. After setting of time stamps, which are related to time of arrival of data packet, time stamps of several data packets are grouped as packet of time stamps, wherein, in accordance to realization variant, size of time stamps packet equals size of data block.

EFFECT: improved addition of data about time stamps to data packets with fixed size.

6 cl, 29 dwg

FIELD: engineering of circuit for compressing image signals, using blocks and sub-blocks of adaptively determined sizes of given coefficients of discontinuous cosine transformation.

SUBSTANCE: block size-setting element in encoder selects a block or sub-block of processed input pixels block. Selection is based on dispersion of pixel values. Blocks with dispersions greater than threshold are divided, while blocks with dispersions lesser then threshold are not divided. Transformer element transforms pixel values of selected blocks to frequency range. Values in frequency range may then be quantized, transformed to serial form and encoded with alternating length during preparation for transmission.

EFFECT: improved computing efficiency of image signals compression stages without loss of video signals quality levels.

4 cl, 5 dwg

FIELD: technology for compacting and unpacking video data.

SUBSTANCE: for each pixel of matrix priority value is determined, pixels difference value is calculated, priority values utilized for calculating value of pixels priority are combined in one pixels group, pixel groups are sorted, pixel groups are saved and/or transferred in accordance to their priority in priority matrix, while aforementioned operations are constantly repeated, while values of pixel group priorities are repeatedly determined anew, priority matrix for any given time contains pixel groups sorted by current priorities, and also preferably stored first and transferred are pixel groups, which have highest priority and still were not transferred.

EFFECT: simple and flexible synchronization at different transfer speeds, width of transfer band, resolution capacity and display size, respectively.

2 cl, 8 dwg, 1 tbl

FIELD: engineering of systems for encoding moving images, namely, methods for encoding moving images, directed at increasing efficiency of encoding with use of time-wise remote supporting frames.

SUBSTANCE: method includes receiving index of supporting frame, standing for supporting frame, pointed at by other block, providing movement vector for determining movement vector of current block, and determining movement vector of current block with utilization of supporting frame index, denoting a supporting frame.

EFFECT: increased efficiency of encoding in direct prediction mode, decreased number of information bits for frame, in which scene change occurs.

3 cl, 6 dwg

FIELD: engineering of systems for encoding moving image, namely - methods for encoding moving image, directed at increase of encoding efficiency with use of time-wise remote supporting frames.

SUBSTANCE: in the method in process of encoding/decoding of each block of B-frame in direct prediction mode movement vectors are determined, using movement vector of shifted block in given frame, utilized for encoding/decoding B-frame, and, if type of given frame is time-wise remote supporting frame, one of movement vectors, subject to determining, is taken equal to movement vector of shifted block, while another one of movement vectors, subject to determining, is taken equal to 0.

EFFECT: increased encoding efficiency in direct prediction mode, decreased amount of information bits for frame, wherein a change of scene occurs.

2 cl, 6 dwg

Up!