Indicating intra-prediction mode selection for video coding using cabac

FIELD: physics, video.

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

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

50 cl, 13 dwg, 7 tbl

 

The present application claims priority on the provisional application U.S. No. 61/430,520, filed January 6, 2011, provisional application U.S. No. 61/446,402, filed February 24, 2011, and provisional application U.S. No. 61/448,623, filed March 2, 2011, the contents of each of which are totally incorporated herein by reference.

AREA of TECHNOLOGY

The present invention relates to encoding and, in particular, relates to signaling characteristics coding for coded video data.

The LEVEL of TECHNOLOGY

Digital video can be attached to various devices such as digital televisions, digital direct broadcast systems, wireless broadcast, personal digital assistant (PDA), computers such as laptop computer or desktop computers, digital cameras, digital recording devices, digital media players, video game devices, video game consoles, cellular or satellite radio telephones, devices for video and teleconferencing, etc. Digital video devices implement video compression procedure, for example the procedures described in standards such as MPEG-2, MPEG-4, ITU-T H. 263 or ITU-T H. 264/MPEG-4 Part 10 Standard enhanced encoding (AVC), and extensions of these standards, for more efficient transmission and reception of digital video data.

In proce�Ah video compression is implemented spatial prediction and/or temporal prediction to reduce or eliminate the redundancy in video sequences. For block encoding a video frame or slice (slice) can be divided into video blocks. Each video section can be divided further into smaller parts. The video blocks in a frame or slice with internal (inter-) encoding (I) encode using spatial prediction in accordance with the neighboring video blocks. The video blocks in the frame or the slice with the external (inter-) coded (P or B type) may use spatial prediction in accordance with the neighboring macroblocks or coding units in the frame or slice or temporal prediction in accordance with other reference frames.

Summary of the INVENTION

Generally speaking, this section describes the procedures alarm characteristics coding for coded video data. These procedures can improve the efficiency of alarm mode internal (intra) prediction used to encode the block of video data. Disclosed in this document procedures include signaling in the encoded bit stream of modes internal predictions for blocks of video data using code words. Mentioned procedures also contain the encoding of code words using context adaptive binary arithmetic coding (CABAC). This opens the possibility of relative economic�MIA bit for the coded bit stream using the disclosed in this document procedures.

In one example method of decoding video data includes determining a first most probable mode of internal predictions and the second most probable mode of internal predictions for the encoded block of video data based on the context for the current block; select a table of codewords based on the context for the current block, where the table of code words contains a lot of code words corresponding to the modified indices of modes internal predictions, which correspond to the modes of internal predictions other than the first most probable mode of internal predictions and the second most probable mode of internal predictions; performing a CABAC process to determine a received codeword; the definition of one of the modified indices of modes internal predictions, which corresponds to the accepted code word using the table of codewords; selecting the mode of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions for the purpose mentioned decoding of the coded block, where the selected mode of internal predictions corresponds to a particular one of the modified indices of the modes internally�about predictions; and decoding the current block using the selected mode of internal predictions.

In one example, the device for decoding video data includes a video decoder configured to determine a first most probable mode of internal predictions and the second most probable mode of internal predictions for the encoded block of video data based on the context for the current block; select a table of codewords based on the context for the current block, where the table of code words contains a lot of code words corresponding to the modified indices of modes internal predictions, which correspond to the modes of internal predictions other than the first most probable mode of internal predictions and the second most probable mode of internal predictions; perform a CABAC process to determine a received codeword; the definition of one of the modified indices of modes internal predictions, which corresponds to the accepted code word using the table of codewords; select the mode of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions for the purpose of decoding mentioned Kodirov�sent to the steering unit, where the selected mode of internal predictions corresponds to a particular one of the modified indices of modes internal predictions; and decoding the current block using the selected mode of internal predictions.

In one example method of encoding video data includes determining a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the encoding context for the current block; select a table of codewords based on the context for the current block, where the table of code words contains a lot of code words corresponding to the modified indices of modes internal predictions, which correspond to the modes of internal predictions other than the first most probable mode of internal predictions and the second most probable mode of the internal prediction; encoding the current block using one of the modes of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions; determining one of the modified indices of modes internal predictions, which corresponds to the mentioned one of the inner�his predictions using the table of codewords; and encoding a codeword from the selected table of codewords by performing a CABAC process, which referred to the codeword corresponds to the one mentioned from the modified indices of modes internal predictions.

In one example, the device for encoding video data includes a video encoder configured to determine a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the encoding context for the current block; select a table of codewords based on the context for the current block, where the table of code words contains a lot of code words corresponding to the modified indices of modes internal predictions, which correspond to the modes of internal predictions other than the first most probable mode of internal predictions and the second most probable mode of the internal prediction; encoding the current block using one of the modes of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions; determine one of the modified indices of modes internal predictions, which corresponds to the mentioned� one of modes internal predictions using the table of codewords; and encode a codeword from the selected table of codewords by performing a CABAC process, which referred to the codeword corresponds to the one mentioned from the modified indices of modes internal predictions.

In one example, the device for decoding video includes means for determining a first most probable mode of internal predictions and the second most probable mode of internal predictions for the encoded block of video data based on the context for the current block; means for selecting a table of codewords based on the context for the current block, where the table of code words contains a lot of code words corresponding to the modified indices of modes internal predictions, which correspond to the modes of internal predictions other than the first most probable mode of internal predictions and the second most probable mode of the internal prediction; means for performing CABAC process to determine a received codeword; means for determining one of the modified indices of modes internal predictions, which corresponds to the accepted code word using the table of codewords; means for selecting the mode of internal predictions, other than the first most probable mode in�morning predictions and the second most probable mode of internal predictions for the purpose mentioned decoding of the coded block, where the selected mode of internal predictions corresponds to a particular one of the modified indices of modes internal predictions; and means for decoding the current block using the selected mode of internal predictions.

In one example, the device for encoding video data includes means for determining a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the encoding context for the current block; means for selecting a table of codewords based on the context for the current block, where the table of code words contains a lot of code words corresponding to the modified indices of modes internal predictions, which correspond to the modes of internal predictions other than the first most probable mode of internal predictions and the second most probable mode of internal predictions; means for encoding the current block using one of the modes of internal predictions other than the first most probable mode of internal predictions and the second most probable mode of the internal prediction; means for determining one of the modified indices of internal modes �of redskazanie, which was made pursuant to one of the modes of internal predictions using the table of codewords; and means for encoding a codeword from the selected table of codewords by performing a CABAC process, which referred to the codeword corresponds to the one mentioned from the modified indices of modes internal predictions.

In one example, computer readable media has stored therein instructions which, when execute initiate execute one or more processors determine a first most probable mode of internal predictions and the second most probable mode of internal predictions for the encoded block of video data based on the context for the current block; select a table of codewords based on the context for the current block, where the table of code words contains a lot of code words corresponding to the modified indices of modes internal predictions, which correspond to the modes of internal predictions other than the first most probable mode of internal predictions and the second most probable mode of internal predictions; perform a CABAC process to determine a received codeword; determine one of the modified indices of modes internal predictions, which �correspond to the accepted code word using the table of codewords; the mode of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions for the purpose mentioned decoding of the coded block, where the selected mode of internal predictions corresponds to a particular one of the modified indices of modes internal predictions; and decoding the current block using the selected mode of internal predictions.

In one example, computer readable media has stored therein instructions which, when execute initiate execute one or more processors determine a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the encoding context for the current block; select a table of codewords based on the context for the current block, where the table of code words contains a lot of code words corresponding to the modified indices of modes internal predictions, which correspond to the modes of internal predictions other than the first most probable mode of internal predictions and the second most probable mode of internal predictions; coded�I of the current block using one of the modes of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions; determine one of the modified indices of modes internal predictions, which corresponds to the mentioned one of the modes of internal predictions using the table of codewords; and encode a codeword from the selected table of codewords by performing a CABAC process, which referred to the codeword corresponds to the one mentioned from the modified indices of modes internal predictions.

In one example method of decoding video data includes determining a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the context for the current block; select a table of codewords based on the context for the current block, where the table of code words contains a lot of code words corresponding to the indexes of code words, where the indices of the codewords are mapped to internal modes predictions; performing a CABAC process to determine a received codeword; determining a modified codeword index that corresponds to the accepted code word using the table of codewords; selection mode� internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions for the purpose mentioned decoding of the coded block, where the selected mode of internal predictions corresponds to a codeword index selected based on the modified codeword index, the first most probable mode of internal predictions and the second most probable mode of the internal prediction; and decoding the current block using the selected mode of internal predictions.

In one example, the device for decoding video data includes a video decoder configured to determine a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the context for the current block; select a table of codewords based on the context for the current block, where the table of code words contains a lot of code words corresponding to the indices of the codewords, where a codeword indexes are mapped to internal modes predictions; perform a CABAC process to determine a received codeword; determine a modified codeword index, which corresponds to the accepted �annual word using the table of codewords; the mode of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions for the purpose mentioned decoding of the coded block, where the selected mode of internal predictions corresponds to a codeword index selected based on the modified codeword index, the first most probable mode of internal predictions and the second most probable mode of the internal prediction; and decoding the current block using the selected mode of internal predictions.

In one example, the device for decoding video includes means for determining a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the context for the current block; means for selecting a table of codewords based on the context for the current block, where the table of code words contains a lot of code words corresponding to the indices of the codewords, where a codeword indexes are mapped to internal modes of prediction; means for performing CABAC process to determine a received codeword; means for determining a modified index �annual words which corresponds to the accepted code word using the table of codewords; means for selecting the mode of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions for the purpose mentioned decoding of the coded block, where the selected mode of internal predictions corresponds to a codeword index selected based on the modified codeword index, the first most probable mode of internal predictions and the second most probable mode of internal predictions; and means for decoding the current block using the selected mode of internal predictions.

In one example, computer readable media has stored therein instructions which, when execute initiate execute one or more processors determine a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the context for the current block; select a table of codewords based on the context for the current block, where the table of code words contains a lot of code words corresponding to the indexes of code words, where the indices Kodo�'s words appear on the modes of internal predictions; perform a CABAC process to determine a received codeword; determine a modified codeword index that corresponds to the accepted code word using the table of codewords; select the mode of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions for the purpose mentioned decoding of the coded block, where the selected mode of internal predictions corresponds to a codeword index selected based on the modified codeword index, the first most probable mode of internal predictions and the second most probable mode of the internal prediction; and decoding the current block using the selected mode of internal predictions.

In one example method of encoding video data includes determining a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the encoding context for the current block; select a table of codewords based on the context for the current block, where the table of code words contains a lot of code words corresponding to the indexes of code words, where the indices of the codes�x the words are displayed in the modes of internal predictions; encoding the current block using one of the modes of internal predictions other than the first most probable mode of internal predictions and the second most probable mode of internal predictions; determining a modified codeword index based on the codeword index of the one of the internal modes of prediction used to encode the current block, a codeword index mapped to the first most probable mode, and the codeword index mapped to the second most probable mode; and encode a codeword from the selected table of codewords by performing a CABAC process, which referred to the codeword corresponds to the one mentioned from the modified indices of modes internal predictions.

In one example, the device for encoding video data includes a video encoder configured to determine a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the encoding context for the current block; select a table of codewords based on the context for the current block, where the table of code words contains a lot of code words corresponding to the indexes of code words, where the indices of the codewords� displayed on the modes of internal predictions; encoding the current block using one of the modes of internal predictions other than the first most probable mode of internal predictions and the second most probable mode of internal predictions; determine a modified codeword index based on the codeword index of the one of the internal modes of prediction used to encode the current block, a codeword index mapped to the first most probable mode, and the codeword index mapped to the second most probable mode; and encode a codeword from the selected table of codewords by performing a CABAC process, which referred to the codeword corresponds to the one mentioned from the modified indices of modes internal predictions.

In one example, the device for encoding video includes means for determining a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the encoding context for the current block; means for selecting a table of codewords based on the context for the current block, where the table of code words contains a lot of code words corresponding to the indices of the codewords, where a codeword indexes are shown n� modes internal predictions; means for encoding the current block using one of the modes of internal predictions other than the first most probable mode of internal predictions and the second most probable mode of the internal prediction; means for determining a modified codeword index based on the codeword index of the one of the internal modes of prediction used to encode the current block, a codeword index mapped to the first most probable mode, and the codeword index mapped to the second most probable mode; and means for encoding a codeword from the selected table of codewords by performing a CABAC process, where mentioned the code word mentioned corresponds to one of the modified indices of modes internal predictions.

In one example, computer readable media has stored therein instructions which, when execute initiate execute one or more processors determine a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the encoding context for the current block; select a table of codewords based on the context for the current block, where the table code� words contains a lot of code words, corresponding to the indices of the codewords, where a codeword indexes are mapped to internal modes of prediction; encoding the current block using one of the modes of internal predictions other than the first most probable mode of internal predictions and the second most probable mode of internal predictions; determine a modified codeword index based on the codeword index of the one of the internal modes of prediction used to encode the current block, a codeword index mapped to the first most probable mode, and the codeword index mapped to the second most probable mode; and encode a codeword from the selected table of codewords by performing a CABAC process, which referred to the codeword corresponds to the one mentioned from the modified indices of modes internal predictions.

Further description of the details of one or more of examples with reference to the accompanying drawings. Other features, objectives and advantages of the invention will become apparent from the following description and drawings, and the claims.

Brief description of the drawings

Fig. 1 is a block diagram illustrating an exemplary encoding system and videodictionary, which can be used about�of eduri data encoding syntax representing the modes of internal predictions for blocks of video data;

Fig. 2 is a block diagram which shows an example of a video encoder, in which you can implement the procedure of encoding information indicating the mode of internal predictions;

Fig. 3 - examples of modes internal predictions and relevant indices;

Fig. 4 is a block diagram showing an exemplary video decoder, decoding the encoded video sequence;

Fig. 5A is a block diagram which shows an example block context-based adaptive binary arithmetic coding, which can be used as described in this document procedures;

Fig. 5B is a block diagram which shows an example block context-based adaptive binary arithmetic decoding, which can be used as described in this document procedures;

Fig. 6 is a block diagram illustrating an exemplary method of encoding with internal prediction block of video data;

figures 7A and 7B is a flowchart illustrating exemplary methods of selecting a code word that specifies the mode of internal predictions for the encoded block;

Fig. 8 is a block diagram illustrating an exemplary method of decoding with internal prediction block of video data;

figures 9A and 9B is a flowchart illustrating an exemplary SP�events determine the internal mode prediction for the block using a received codeword, specifies the mode of internal predictions for the encoded block;

Fig. 10 is a conceptual diagram illustrating an exemplary set of configuration data that show the relationship between the index table of modes internal predictions, the modified table of indices of modes internal predictions and contextual data.

Detailed description of the invention

In General it describes the procedures alarm characteristics coding for coded video data and, in particular, describes the use of the process of context-based binary arithmetic coding (CABAC) for signaling to the decoder modes internal predictions. Disclosed in this document procedures can improve the efficiency of alarm mode internal predictions, ispolzuemogo for intraframe coding unit of video data. The video encoder, for example, may include configuration data that specify the indices for modes internal predictions of the context-based encoding for blocks encoded using different modes of internal predictions. Contexts of encoding may include, for example, the encoding modes for the neighboring, previously coded blocks and/or block sizes.

Configuration data m�can be used to determine the most likely mode of internal predictions for each context, or they can identify two or more most probable modes of internal predictions for each context. These are the most likely modes of internal predictions sometimes in this description just referred to as the most probable modes. Configuration data can also define a mapping table used for encoding data syntax describing the mode of internal predictions for the non-most probable mode (modes) in this context. In particular, the mapping table may include a mapping of indices of the codewords. As described in more detail below, the mapping table may display the modified indices of modes internal predictions for code words or can display the indices of modes internal predictions for the indices of the codewords, which are then converted to the modified indexes of code words.

Accordingly, it is possible to configure the video encoder to determine the encoding context for the block, which must be encoded in the mode of internal predictions. The encoding context may be associated with the most likely mode of internal predictions, and probabilities for the other modes internal predictions. When choosing the most probable mode of internal predictions for its use�of use for encoding the current block, the video encoder may select one bit code word (for example, "1") indicating that the block is coded in the most probable mode for the context in which this block appeared. When you use more than one most probable mode of the internal prediction of the first bit may indicate whether the selected one of the most likely modes of internal predictions to use to encode the current block, and if you use one of the most probable modes internal predictions, then the second bit (or bit sequence) may indicate which of the most probable modes internal predictions selected. Sometimes throughout this description, the specified combination of the first bit and the second bit may itself be called a code word, where the first bit of the code word indicates that the selected mode of internal predictions is one of the most probable modes internal predictions, and the second bit (or bit sequence) identifies a specific mode from the number of most probable modes internal predictions. According disclosed in this document procedures code word, which indicates whether the selected mode is the most probable mode, and indicates which of the most probable modes is selected, can be encoded using the CABAC process, as outlined in this description. The SAR�ABOK, in some cases, the bits used to indicate the most likely modes in combination with a code word that identifies not the most probable mode, can be considered together as code words, and encoded using the CABAC process, as described elsewhere herein.

Each of the other modes internal predictions (i.e. modes internal predictions that differ from the most probable mode (modes) of the internal prediction) can also be assigned to the modified index value based on the encoding context. In addition, the encoding context may correspond to a table that contains a set of code words indexed using the values of the index, related indexes for the internal modes of prediction. In particular, as described above, the index value of most probable mode (modes) of the internal prediction no need to assign another code word that is different from today (and possibly longer) codeword representing that was chosen as the most likely mode of internal predictions. To display the code words for each of the remaining modes internal predictions, the index of each of the remaining modes internal predictions can be modified for first tog�, to eliminate indexes that are initially distributed to the most probable mode (modes). Accordingly, the modified indices of modes internal predictions can match the indices of the mode of internal predictions that are lower than the index of the most probable mode for mode. On the other hand, when using the most probable mode, the modified indices of modes internal predictions can be less than the indices of modes internal predictions for the indices of modes internal predictions that exceeds the index for the most probable mode. Thus, it may be that the code words will be one less than the number of modes internal predictions, and these code words can be displayed on the internal modes of prediction based on the encoding context. When using more than one most probable mode of internal predictions in the table of code words and the number may be two or more less than the number of modes internal predictions, and these code words may similarly be displayed on the internal modes of prediction based on the encoding context. The code word can be encoded using the CABAC process.

The video decoder can similarly be configured, for example, to perform similar procedures in about�with regard to the mode of internal predictions for the encoded block. According to disclosed procedures here video decoder may receive data for the encoded block, and the code word that specifies the mode of internal predictions, used to decode the coded block. The video decoder may receive and decode the codeword by performing a CABAC process, which is generally opposite to the CABAC process performed by the video encoder. The video decoder may determine a context for this unit as it makes the video encoder. Context-based video decoder may determine the most probable mode or modes of internal predictions for this unit. When using the single most likely mode of internal predictions can be decoded one bit to determine whether you have selected the most probable mode. If this is the only bit indicates that the selected most probable mode, the video decoder may decode the block using the most probable mode of internal predictions. Otherwise, the video decoder may apply to the modified index mode internal predictions mapped to a received code word. If the modified index mode internal predictions greater than or equal to the index mode for the most likely mode of internal predictions, videodecoder�R can decode the block using the mode of internal predictions, mapped to the index mode, which is greater by one than the modified index mode internal predictions. If the modified index mode internal predictions is less than the index mode for the most likely mode of internal predictions, the video encoder may decode the block using the mode of internal predictions, mapped to the index mode, equal to the modified index mode internal predictions.

Similarly, when using the two most likely modes of encoding with internal prediction, if the first bit or sequence of bits indicates the selected mode of internal predictions is one of the most probable modes internal predictions, then the video decoder may decode the block using the most probable mode of internal predictions, identified the second bit. Otherwise, the video decoder may apply to the modified index mode internal predictions mapped to a received code word. If the modified index of internal predictions is less than the index mode for the first most probable mode of internal predictions, the video decoder may decode the block using the mode of internal predictions, reflections�tion on the index, coinciding with the modified index mode internal predictions. Otherwise, if the modified index mode internal predictions, plus one less than the index mode for the second most probable mode of internal predictions, then the video decoder may decode the block using the mode of internal predictions, displayed on the index of the mode that the unit is greater than the modified index mode internal predictions. Otherwise, the video decoder may decode the block using the mode of internal predictions, mapped to the index mode, which exceeds two modified index mode internal predictions, etc.

The phrase "first the most probable and second most probable" in this description is usually used to refer to two separate the most likely modes internal predictions, and this does not mean that implied the relative similarity of these two modes of internal predictions. However, as will be explained later in the examples, for explanatory purposes in General it can be assumed that the first most probable mode of the internal prediction has a smaller value of the relevant index than the second most probable mode of internal predictions. �thus, we can say that when the modified value of the index mode internal predictions, a smaller index for the first most probable mode, it can be assumed that the modified value of the index mode internal predictions will also be less than the index mode for the second most probable mode of internal predictions, the third most probable mode of internal predictions, etc.

Disclosed here, the procedure can be extended to implementations that use more than two most probable modes internal predictions. For example, suppose that there are N of the most probable modes internal predictions, and that the first bit or sequence of bits may indicate whether the selected mode of internal predictions one of the N most probable modes internal predictions. If the selected mode internal predictions is one of the N most probable modes internal predictions, then the second sequence of bits to identify which of the N most probable modes internal predictions is the selected mode internal predictions. For example, if there are three most probable mode, two bits can be used to indicate whether the selected internal performance�Azania is one of the most probable modes, as follows: the signal "00" to use to indicate that we applied the first most probable mode; a signal of "01" can be used to specify that applied for the second most probable mode; a signal "10" use to specify that applied the third most probable mode, and a signal "11" use to specify that none of the three most probable modes are not applied. If none of the most probable modes is not used, to indicate the selected mode of internal predictions, you can use additional code word.

In some cases, the indication of the most probable modes internal predictions can be combined into one or more groups, where the first bit or sequence of bits indicate whether the selected most probable mode of internal predictions in the first group. If the selected mode internal predictions is not included in the first group, then the next bit can indicate whether this mode in the second group, etc.

If, for example, uses five of the most probable modes, then the first bit or sequence of bits can indicate whether the selected mode of internal predictions in the first group, consisting of two most probable modes internal pre�tales. If the selected mode is one of the two mentioned modes, then the second bit can identify which one is the selected mode. If the selected mode is not one of these two modes, then the mode selected may identify a second group of bits. For example, if the second group of bits includes two bits, then the first bit pattern (for example, 00) may indicate that the selected mode is the third most probable mode, the second bit pattern (for example, 01) may indicate that the selected mode is the fourth most probable mode, and a third bit pattern (e.g., 10) may indicate that the selected mode is the fifth most probable mode. If the selected mode is one of the five most probable modes internal predictions, then the decoder may decode the block using the most probable mode. The fourth bit pattern (e.g., 11) may indicate that the selected mode is not one of the five most probable modes, and in this case the fourth bit combination can follow bits to identify the selected mode in accordance with disclosed procedures here.

In those cases, when the selected mode is not the most probable mode�m, the video decoder may apply to the modified index mode internal predictions mapped to a received code word. For example, we can assume that the first most probable mode of internal predictions is less important index of the mode than the second most probable mode of internal predictions, and the second has a smaller index than the third, etc. According to disclosed procedures here, if the modified index mode internal predictions is less than the index mode for the first most probable mode of internal predictions, the video decoder may decode the block using the mode of internal predictions, displayed on the index equal to the modified index mode internal predictions. Otherwise, if the modified index mode internal predictions, plus one less than the index mode for the second most probable mode of internal predictions, then the video decoder may decode the block using the mode of internal predictions, displayed on the index one higher than the modified index mode internal predictions. Otherwise, if the modified index mode internal predictions plus two is less than the index of the third mode for the most veroia�tion of the mode of internal predictions, then the video decoder may decode the block using the mode of internal predictions, displayed on the index, which is two more than the modified index mode internal predictions, etc., As is explained in more detail below, the modified index of the mode of internal predictions may not contain entries for the most probable modes, and therefore the index of the mode of internal predictions can be displayed on a modified index mode internal predictions plus one, a modified index mode internal predictions plus two, etc., depending on the index of most probable modes.

Fig. 1 presents a block diagram illustrating an exemplary system 10 of the encoding and videodictionary in which procedures may be used data encoding syntax representing the modes of internal predictions for blocks of video data. As shown in Fig. 1, system 10 includes a source device 12 that transmits encoded video to the destination 14 via the communication channel 16. The device is a source device 12 and destination 14 may include any device from a wide range of devices. In some cases, the device is a source device 12 and destination 14 may include wireless communication devices, such as wireless telephone �felling, cellular or satellite radiotelephones, or any wireless devices that can transmit video information on the communication channel 16, and in this case, the channel 16 is a wireless communication channel.

However, the disclosed here, the procedure for data encoding syntax representing the modes of internal predictions for blocks of video data, is not necessarily limited to wireless applications or settings. For example, these procedures can be applied to the systems terrestrial television broadcasting, cable television transmissions, satellite television transmissions, transmission of video over the Internet, encoded digital video that code on a data medium, or to other scenarios. Accordingly, communication channel 16 may include any combination of wired or wireless communication media suitable for transmission of encoded video data. In addition, it assumes that the communication channel 16 is just one of many possible ways of data transmission device of the encoding on the device videodictionary. For example, in other configurations of the system 10, the source device 12 may generate encoded video for decoding by the recipient 14 and memorize the encoded video media data or the file server so that was the opportunity dost�PA to the encoded video on the device side, the destination 14, when you need it.

In the example of Fig. 1 the source device 12 includes a source 18, video encoder 20, a modulator/demodulator (modem) 22 and a transmitter 24. Device to the destination 14 includes a receiver 26, a modem 28, a video decoder device 30 and the display 32. According to the invention the video encoder 20 of source device 12 can be configured to enforce procedures data encoding syntax representing the modes of internal predictions for blocks of video data. In other examples, the device is the source device and the destination may include other components or layout. For example, the source device 12 may receive video data from an external source 18 video, such as an external camera. Similarly, the recipient 14 can communicate with an external display device, and not to have embedded in it a device display.

Shown in Fig. 1, the system 10 is only one example. Procedures data encoding syntax representing the modes of internal predictions for blocks of video data can be implemented using any device digital encoding and/or digital videodictionary. Although in the General case disclosed here, procedures are implemented by the encoding device, these procedures can also be implemented by video encoder/Deco�'erom, usually called CODEC. In addition, disclosed this procedure can also be implemented by the pre-processor video. The device is a source device 12 and destination 14 are merely examples of such devices encoding in which the source device 12 generates coded video data for transmission to the addressee 14. In some examples, the devices 12, 14 can operate essentially symmetric manner, so that each of devices 12, 14 includes components that perform the encoding and videodictionary. Thus, the system 10 may support unidirectional or bidirectional transmission between video devices 12, 14, e.g., for streaming video, playback video, television broadcast or video calling context.

Source 18 videos included in the source device 12 may comprise a device for video recording, such as a video camera, a video archive containing previously captured video and/or video provided by the provider of the video content. As a further alternative, the source 18 video can create as source video data on the basis of computer graphics or a combination of live video, archived video and computer-generated. In some cases, if the source 18 video video is�Amer, the device is a source device 12 and destination 14 may form so-called camera phones or video phones. However, as mentioned above, the disclosed procedures can be applied to encoding in General and can be applied to wireless and/or wired applications. In any case, the captured, pre-captured or computer-generated video may be encoded by video encoder 20. Then, the encoded video information may be modulated by modem 22 according to a communication standard, and transmitted to the destination 14 via transmitter 24. The modem 22 may include various mixers, filters, amplifiers or other components designed for signal modulation. The transmitter 24 may include circuits designed for transmitting data, including amplifiers, filters, and one or more antennas.

The receiver device 26 is the recipient 14 receives information on the channel 16 and the modem 28 demodulates the information. Again, the process of encoding can be implemented using one or more of the procedures described here for data encoding syntax representing the modes of internal predictions for blocks of video data. The information transmitted through the channel 16 may include information syntax defined by video encoder 20, which is also used videod�coder 30 and which includes syntax elements, describe characteristics and/or processing of macroblocks and other coded units, e.g., group of pictures (GOP). The display device 32 displays the decoded video data to the user and can contain any of a variety of different display devices such as cathode ray tube (CRT), liquid crystal display device (LCD), a plasma display device, the display device with organic light-emitting diodes (OLED) or a display device of another type.

In the example of Fig. 1, the communication channel 16 may include any wireless or wired communication medium, such as radio frequency (RF) spectrum or one or more physical transmission lines, or any combination of wireless and wired environments. The communication channel 16 may form part of a network-based transmission of packets, such as Ethernet, territorial network, or global network such as the Internet. The communication channel 16 in the General case represents any suitable communication medium, or collection of different communication environments for transmitting video data from source device 12 to the recipient 14, including any suitable combination of wired or wireless environment. The communication channel 16 may include routers, switches, base stations or any other equipment that you can use DL� communication from source device 12 to the device destination 14.

Video encoder 20 and video decoder 30 may operate according to a video compression standard, such as ITU-T H. 264, otherwise called MPEG-4 Part 10, Advanced Video Coding (AVC) (advanced System encoding). However, the disclosed here, the procedure is not limited to any particular coding standard. Other examples include MPEG-2 and ITU-T H. 263. Although this Fig. 1, not shown, in some cases, video encoder 20 and video decoder 30 may be combined with each of the audio codecs and audio decoder, and may include the corresponding blocks MUX-DEMUX or other software and hardware for the processing of encoding audio and video in a common data stream or separate data streams. When using blocks MUX-DEMUX they can match the multiplexer Protocol ITU H. 223 or other protocols such as user datagram Protocol (UDP).

The standard ITU-T H. 264/MPEG-4 (AVC) was developed in the process of collective cooperation Group of experts on the encoding ITU-T (VCEG) together with the expert Group on moving images ISO/IEC (MPEG), known as the joint group of experts on video (JVT). In some aspects disclosed here, the procedure can be applied to devices that generally conform to the H. 264 standard. The H. 264 standard is described in ITU-T Recommendation H. 264, Advanced ICU�status of encoding for generic audiovisual services, The study group ITU-T and dated March 2005, and this standard is called H. 264 standard, the H. 264 specification or standard or specification H. 264/AVC. Joint group of experts on video (JVT) continues the development of extensions to the standard H. 264/MPEG-4 AVC.

As video encoder 20 and video decoder 30 can be implemented as any suitable circuits of the encoder from among the various schemes, such as one or more microprocessors, digital signal processors (DSP), an application specialized integrated circuit (ASIC), gate arrays, field programmable (FPGA), discrete logic, software, hardware, firmware or any combination of them. Video encoder 20 and video decoder 30 may be included in each one or more encoders or decoders, each of which can form part of a combined encoder/decoder (CODEC) in a respective camera, computer, mobile device, subscriber device, broadcast device, set-top box, server, or etc.

A video sequence typically includes a series of video frames. Group of pictures (GOP) generally contains a number consisting of one or more video frames. The GOP group may include data syntax in its header, the header is one or not�how many frames of the GOP or anywhere else, moreover, these data describe the number of frames included in the GOP. Each frame may include a data frame syntax that describe the encoding mode for the corresponding frame. Video encoder 20 typically operates with the video blocks within individual video frames to encode video data. Video blocks may correspond to a macroblock or part of a macroblock. The video blocks may have fixed or variable sizes and may vary in size in accordance with a predetermined coding standard. Each video frame may include a plurality of slices. Each slice may include a plurality of macroblocks that can be partitioned, also called subunits.

For example, the standard ITU-T H. 264 supports intra prediction for various block sizes, such as 16 by 16, 8 by 8 or 4 by 4 for brightness component and 8x8 for chroma component, and intra prediction for various block sizes, such as 16×16, 16×8, 8×16, 8×8, 8×4, 4×8 and 4×4 for brightness component and corresponding scaled sizes for chroma component. In this description, the expression "N×N" and "N by N" may be used interchangeably to refer to the dimensions in pixels of the block in relation to the size horizontally and vertically, for example, 16×16 pixels or 16 by 16 pixels. In the General case black×16 will have 16 pixels in a vertical direction (y=16) and 16 pixels in the horizontal direction (x=16). Similarly, a block of N×N in the General case has N pixels in the vertical direction and N pixels in the horizontal direction, where N is a non negative integer. The pixels in the block can be arranged in rows and columns. In addition, the blocks need not necessarily be the same number of pixels in the horizontal direction and in the vertical direction. For example, the units may comprise N×M pixels, where M is not necessarily equal to N. the Blocks with dimensions smaller 16×16, in the standard ITU-T H. 264 may be referred to as macroblock partitions of 16×16.

The video blocks may contain blocks of pixel data in the pixel areas or blocks of transformation coefficients in the transformation, for example, after applying the transformation, such as discrete cosine transform (DCT), integer transform, wavelet transform, or a conceptually similar transform to residual data representing a difference in pixels between coded video blocks and predictive video blocks. In some cases, the video blocks may contain blocks of quantized transform coefficients in the transform.

Smaller video blocks can provide better resolution, and can be used for those locations in the video frame, which are characterized by high levels of detail. In General�m as video blocks can be considered macroblocks and mentioned the various parts, sometimes called subunits. In addition, one slice can be seen as sets of video blocks, such as macroblocks and/or sub-units. Each slice may be an independently decodable unit of a video frame. Alternatively, the decoded units can be actual footage or as decoded units can be defined in other parts of the frame. The term "coded unit" may refer to any independently decodable unit of a video frame, the entire frame as a whole, the slice frame, group of pictures (GOP), also known as a sequence, or another independently decodable unit defined in accordance with the procedures for encoding.

Currently, a major effort to develop the new standard of encoding, called today "a highly efficient encoding (HEVC)". In a state of development of the HEVC standard also known as H. 265 standard. Work on establishing a standard based on the model of encoding, called test HEVC model (HM). Model HM allows several possibilities for the encoding device, exceeding the capabilities of the devices corresponding to, for example, the standard ITU-T H. 264/AVC. For example, whereas H. 264 provides nine modes internally�about predictions model HM provides up to thirty-three modes internal predictions, for example, based on the size of the block is encoded using the internal predictions.

Model HM refers to the block of video data to the coding unit (CU). The data syntax of the bit stream can determine the maximum coding unit (LCU), which is the maximum unit of encoding from the point of view of the number of pixels. In the General case unit CU plays a role similar to the macroblock in the H. 264 standard except that the unit of CU does not have differences in size. Thus, CU can be divided into subunits (sub-CU). In the General case references to CU in this description may refer to the maximum unit of encoding image or to sub-CU unit LCU. The LCU can be divided into several sub-CU, and each sub-CU can be divided further into several sub-CU. The data syntax of the bitstream may define a maximum number of possible partitions LCU, referred to here as depth CU. Accordingly, the bit stream can also determine the minimum coding unit (SCU). This description also uses the term "block" refers to CU, a prediction unit (PU) or the translation units (TU).

Unit LCU may be associated with the data structure in the form quadradrive. In General, the data structure in the form quadradrive includes� a single node on a single unit CU, where the root node corresponds to the LCU. If the unit CU is divided into four subunits CU, then the node corresponding to that of CU, includes four edge node, each of which corresponds to one of the subunits of CU. Each node of the data structure in the form quadradrive can provide the data syntax for the respective CU. For example, a node in quadradrive may include a split flag indicating, broke the unit CU corresponding to the given node, subunit CU. The syntax elements for the CU can be defined recursively, and they can depend on is broken CU on whether this subunit CU.

Unbroken on subunit unit CU may include one or more prediction units (PU). In the General case, PU represents all or part of the corresponding CU and includes data to extract a reference sample for the unit PU. For example, when the PU is coded in the mode of internal predictions, it can include data describing the mode of internal predictions for PU. In another example, when the PU is coded in the external mode, it may include data defining a motion vector for the PU. Data defining the motion vector may describe, for example, the horizontal component of the motion vector, a vertical component of the motion vector, a resolution for the motion vector (e.g.�, the accuracy of quarter pixel or accuracy of one-eighth of a pixel), the reference frame pointed to by the motion vector, and a reference list (e.g., list 0 or list 1) motion vector. Data for CU, determine PU, can also describe, for example, partitioning of the CU into one or more PU. The partitioning modes may differ depending on whether the CU is coded, whether it is encoded in the mode of internal predictions or whether it is encoded in the mode external predictions.

Unit CU having one or more units of PU, also can include one or more conversion units (TU). After predictions using unit PU, the video encoder may calculate a residual value for the portion of the CU corresponding to the given PU. A set of residual values can be converted, scanned and quantized to determine the set of transform coefficients. Unit TU defines a data structure which includes conversion factors. The size of the unit TU is not necessarily limited to the size of the unit PU. That is, the unit TU can be longer or shorter than the respective units PU for the same unit CU. In some examples, the maximum size of the unit TU can match the size of the relevant unit CU.

According to disclosed procedures here the video encoder 20 may Cody�SQL certain blocks of video data, using the encoding mode of the internal predictions and to provide information indicating the selected mode of the internal prediction used to encode this block. Video encoder 20 may encode blocks with internal prediction for the frame or slice of any type, using the mode of internal predictions, for example, I-frames or I-slices, in addition to P-frames or P-slices and B-frames or B-slices. When video encoder 20 determines that the block should be encoded in the mode of internal predictions, it can perform the analysis of the distortion depending on the transmission speed to select the most appropriate mode of internal predictions. For example, video encoder 20 may calculate values of the distortion depending on the transmission rate for one or more modes of internal predictions and choose one of the modes that have acceptable characteristics of the distortion depending on the transmission speed.

Video encoder 20 also may be configured to determine the encoding context for the block. This context may include various characteristics of the unit, such as, for example, the block size may be determined based on the pixel size, the type of prediction unit (PU), such as in the example of HEVC, 2N×2N, N×2N, 2N×N, N×N, the types of short internal prediction (SDIP) such as 2N×N/2, N/2×2N, 2N×1, ×2N, the macroblock type, as in the example of the H. 264 standard, the depth of the coding unit (CU) for the block or other size measurement for the block of video data. In some examples, the specified context can match any or all modes of internal predictions for upstream neighboring block, the left neighboring block located above and to the left neighboring block located above and to the right neighboring block or adjacent blocks. In some examples, the context may include modes of internal predictions for one or more blocks, as well as information about the size of the current encoded block.

In any case, video encoder 20 may include configuration data that show the context for this block on the different characteristics of the encoding for the current block. For example, on the basis of the content for this block configuration data can specify one or several possible modes internal predictions, the index table of modes internal predictions and mapping table. The configuration data may include a plurality of tables of indices of modes internal predictions, and table display, as well as guidance about one of the many tables of indices of modes internal predictions and one of the tables and mapping for� use for coding instructions on the mode of internal predictions for the current block based on the encoding context for the current block. The configuration data may further provide an indication about one or more most probable modes for the current block based on the encoding context. The number of most probable modes internal predictions may be fixed, i.e. it can always be used once the most likely mode of internal predictions, always used the two most likely mode of internal predictions, always be three of the most probable mode of internal predictions, etc., or, alternatively, the number of most probable modes internal predictions may depend on the context, that is, in some contexts, use one of the most probable mode of internal predictions, while in other contexts use two or more most probable modes internal predictions.

Table indices of modes may include a set of modes internal predictions, as well as indexes that are displayed on each of the modes of internal predictions. In some examples, the number of available modes internal predictions may depend on the size of the encoded block, and therefore multiple tables of indices of modes internal predictions and tables display can have a different amount of the recording� depending for example, the size of the encoded block, and/or other factors. The configuration information may be a ratio of one-to-many between tables display tables and indexes of modes internal predictions. That is, the same mapping table can be used for encoding modes internal predictions, selected from one or more tables of indices of modes internal predictions. Thus by mapping table can be reused for multiple tables of indices of modes internal predictions. Similarly, the same index table of modes internal predictions can be reused in many different contexts, for example, when two or more share the same context and the same set of modes internal predictions and similar or identical to the relative probabilities of modes internal predictions that are used in these contexts. In addition, in some cases, for all blocks of a specific size can be used the same index table of modes internal predictions and the same mapping table, and the most likely mode of internal predictions can be determined, for example, on the basis of modes internal predictions for neighboring blocks with respect to the concrete block R�of smera.

In any case, according to disclosed procedures here the video encoder 20 may determine one or more most probable modes for the block based on the encoding context for the block and the table of indices of modes internal predictions and mapping table based on the encoding context for the block. After selecting the mode of internal predictions to be used when encoding a block of video encoder 20 may determine whether the selected mode of the internal prediction of the most likely modes of internal predictions for this unit. If the selected mode is one of the most probable modes, video encoder 20 may signal the mode of internal predictions using a single-bit code words (e.g. "0" or "1") or a code word consisting of a sequence of bits.

In addition, the most likely mode of internal predictions may have an index value in the index table of modes internal predictions that are selected for the current block based on the encoding context of this unit. In particular, the index table of modes internal predictions may include a unique index value for each mode of internal predictions in this table. Let m represents the index value of the most likely�th mode of the internal predictions. Since the code word for this, the most likely mode of internal predictions can be transmitted separately, the mapping table may not contain additional code word for this, the most likely mode of internal predictions. Thus, if the set of available modes internal predictions contains K+1 members, displayed on the index range from 0 to K, the mapping table may appoint K codewords indices from 0 to K-1.

To determine code words according to this exemplary scheme, suppose that the selected mode of internal predictions is the most likely mode of internal predictions and the value of the index j. Let the value of n represents the index of the modified mode of internal predictions, corresponding to j. According to the preceding description of the codeword mapped to the index n, it is reported by the encoder to the decoder to indicate the selected mode j internal predictions. If the value of the index for the selected mode of internal predictions is less than the index value of the most probable mode of internal predictions, then video encoder 20 may encode the indication of the internal mode prediction used to encode the current block using the codeword corresponding to the index j. In other words�and, if j<m, then n=j. On the other hand, if the value of the index for the selected mode of internal predictions greater than or equal to the index value of the most probable mode of internal predictions, then video encoder 20 may encode the indication of the internal mode prediction used to encode the current block using the codeword corresponding to j-1. In other words, if j≥m, then n=j-1.

In cases where choosing more than one most probable mode of the internal prediction, video encoder 20 may transmit a signal in the encoded bit stream as to whether the selected mode is one certain of the most probable modes internal predictions, using the first bit (e.g. "0" or "1") or a sequence of bits. If the selected mode is one certain of the most probable modes internal predictions, then video encoder 20, using the second bit may transmit a signal that indicates which of the most probable modes internal predictions is the selected mode. If the selected mode is not one of specific most probable modes internal predictions, then video encoder 20 may transmit a signal that indicates which of the other modes internal predictions is select�NYM regime using a code word from the table display. Assume again without loss of generality that the first bit is set to "0" to indicate that the selected mode is one of the most probable modes internal predictions, and video decoder 20 determines the two most likely mode of internal predictions, and then video encoder 20 may signal which of the two most probable modes internal predictions is the selected mode, with a value of "00" or "01", where the first 0 is the first bit. If the selected mode is not one of the most probable modes internal predictions, then video encoder 20 may signal the selected mode, sending the first bit "1" followed by the code word.

In addition, two of the most probable mode of internal predictions can have index values in the index table of modes internal predictions that are selected for the current block based on the encoding context of this unit. In particular, the index table of modes internal predictions may include a unique index value for each mode of internal predictions in this table. Let m1represents the value of the index for the first most probable mode of internal predictions, and m2represents the index value of Vtorov� the most likely mode of internal predictions. Since the code word for the first most probable mode of internal predictions and the second most probable mode of internal predictions can be sent using the first bit and second bit, as described above, the mapping table does not have to include additional code word for the first most probable mode of internal predictions and the second most probable mode of internal predictions. Thus, if the set of available modes internal predictions contains K+1 members, displayed on the index range from 0 to K, the mapping table may appoint K-1 codewords indices from 0 to K-2.

To determine code words according to this exemplary scheme, where identified the two most likely mode of internal predictions, assume that the selected mode of internal predictions is not one of the most likely modes of internal predictions and the value of the index j. Let the value of n is modified, the index of the mode of internal predictions, corresponding to j. According to the preceding description of the codeword mapped to the index n, it is reported by the encoder to the decoder to indicate the selected mode j internal predictions. If the value of the index for the selected mode internal preds�Xania less than the index value of the first most probable mode of internal predictions, then video encoder 20 may encode the indication of the internal mode prediction used to encode the current block using the codeword corresponding to the index j. In other words, if j<m1then n=j. On the other hand, if the value of the index for the selected mode of internal predictions greater than or equal to the index value of the first most probable mode of internal predictions, but less than the second most probable mode of internal predictions, then video encoder 20 may encode the indication of the internal mode prediction used to encode the current block using the codeword corresponding to j-1. In other words, if j≥m1and j<m2then n=j-1. Finally, if the value of the index for the selected mode of internal predictions greater than the value of the index of the first most probable mode of internal predictions and the second most probable mode of internal predictions, then video encoder 20 may encode the indication of the internal mode prediction used to encode the current block using the codeword corresponding to j-2. In other words, if j≥m1and j≥m2then n=j-2. Tab�Itza display for other modes of internal predictions can be constructed more efficiently by remapping indices, what is the most probable modes are not included in the mapping table, which may lead to saving of bits in the appointment of code words and one or more not selected the most probable modes.

In some examples, video encoder 20 may be configured so that it will start the analysis of the mode of internal predictions of the most probable mode based on the said context. When the most probable mode reaches the appropriate characteristics of the distortion depending on the transmission rate, video encoder 20 may select the most probable mode. In other examples, video encoder 20 is not required to start the selection process with the most probable mode.

After encoding with internal prediction or external prediction to generate predicted data and the residual data after any transformations (such as integer or 8x8 4x4 transform used in H. 264/AVC or a discrete cosine transform (DCT)) to generate transform coefficients, may be performed to quantize the transform coefficients. Quantization in General refers to the process in which the conversion factors quantuum with a view to potentially reduce the amount of data used to represent these factors. The quantization process can reduce the depth (b�tah), associated with some or all of the conversion factors. For example, during the quantization of the n-bit value may be rounded downward to the m-bit values, where n is greater than m.

After the quantization may be performed by entropy encoding the quantized data, for example, in accordance with context adaptive coding with variable word length (CAVLC), context adaptive binary arithmetic coding (CABAC), or another entropy coding technique. A processing unit configured to entropy encoding, or other processing unit may perform other processing functions, such as encoding the quantized coefficients and/or creating the information of the syntax, such as the values of the pattern of the coded block (CBP), the type of the macroblock, the encoding mode, the maximum size of the macroblock to be encoded units (such as a frame, slice, macroblock or sequence), etc.

Video decoder 30, in the end, you may receive the coded video data, for example, from the modem 28 and receiver 26. In accordance with disclosed procedures here video decoder 30 may receive the code word representing the mode of the internal prediction used to encode the block of video data. This codeword may be encoded by video encoder 20 using the process� CABAC and can be decoded by video decoder 30 using the process, return the CABAC process. Video decoder 30 may be configured to determine the encoding context for the block is essentially the same method that is used in video encoder 20. In addition, video decoder 30 may contain configuration data, like video encoder 20, for example, guidance on the most probable mode index table of modes internal predictions and the mapping table for each context encoding.

When using the single most likely mode of internal predictions to indicate whether the mode of internal predictions, used to encode a given block, the most probable mode, you can use one bit. If it is determined that the selected mode is not the most probable mode, then video decoder 30 may determine the mode of internal predictions, used to encode the block of video data, the method, in the General case of the inverse method used by video encoder 20.

In particular, let again n represents the index of the modified mode of the internal predictions that the table display is displayed to a received codeword, j represents the index of the mode of internal predictions, which should be used to decode this coded block, and m represents the index of the most probable mode�and. If the modified index n of the mode of internal predictions is less than the index of the most probable mode m, then video decoder 30 can decode the coded block using the internal mode prediction with index n. That is, if n<m, then j=n. On the other hand, if the modified index n of the mode of internal predictions greater than or equal to the index of the most probable mode m, then video decoder 30 may decode the coded block using the internal mode prediction with index n+1. In other words, if n≥m, then j=n+1.

If you have two or more most probable modes internal predictions, if the code word contains the first bit indicating that the selected mode is one of two most probable modes internal predictions, then video decoder 30 may determine the mode of internal predictions to be used for encoding this encoded block based on the extra bits that identify which of the two or more most probable modes internal predictions correspond to the selected mode. If the first bit indicates that the selected mode is not one of the two most probable modes internal predictions, then video decoder 30 may determine the mode of internal predictions, used� to encode the block of video data by the way in the General case of the inverse method used by video encoder 20.

In particular, let again n represents the index of the modified mode of the internal predictions that the table display is displayed to a received codeword, j represents the index of the mode of internal predictions, which should be used to decode this coded block, m1represents the index of the first most probable mode, and m2represents the index of the second most probable mode. As previously stated, we can assume that the index of m1less than the index of m2mode. If the modified index n of the mode of internal predictions is less than the index of the first most probable mode m1then video decoder 30 can decode the coded block using the internal mode prediction with index n. That is, if n<m1then j=n. Otherwise, if the modified index mode internal predictions, plus one (n+1) is less than the index of m2the second most probable mode, then video decoder 30 may decode the coded block using the internal mode prediction with index n+1. In other words, if n+1 < m2then j=n+1. Otherwise, video decoder 30 may decode the coded block using dir�m internal prediction with index n+2. In other words, if n+1≥m2then j=n+2.

For the two most probable modes display the indexes of the modes for the modified indices of modes internal predictions performed by video encoder 20, is expressed by the following pseudocode:

if (j≥m2)

n=j-2

otherwise, if (j≥m1)

n=j-1

otherwise

n=j.

For the N most probable modes, where m1is the first most probable mode, and mNrepresents the nth most probable mode, display the indexes of the modes for the modified indices of modes internal predictions performed by video encoder 20, is expressed by the following pseudocode:

if (j≥mN)

n=j-N

else if (j≥mN-1)

n=j-N+1

...

else if (j≥m2)

n=j-2

else if (j≥m1)

n=j-1

else

n=j.

For the two most probable modes of displaying the modified index of modes internal predictions for the index of the mode is performed by video decoder 30, may be represented by the following pseudocode:

if (n<m1)

j=n

else if (n+1<m2)

j=n+1;

else

j=n+2.

For the N most probable modes of displaying the modified index of modes internal predictions for the index of the mode is performed by video decoder 30, may be represented by the following pseudocode:

if (n<m )

j=n;

else if (n+1<m2)

j=n+1;

else if (n+2<m3)

j=n+2;

else if (n+3<m4)

j=n+3;

...

else if (n+(N-1)<mN)

j=n+(N-1)

else

j=n+N.

According to the disclosed here, the procedures, the modes may also be displayed directly on the indexes of code words indicating the corresponding code words. Like the version with the above modified indices of modes internal predictions, instead of sending a codeword index corresponding to the index mode, you can save the bits for specifying the modes that are not the most likely, if you send the code word with the modified codeword index, where the modification is the result of the use of indexes of code words, originally associated with the most probable modes. The alarm system most probable modes is performed using the initial bit or series of bits, as described above, the most likely modes can be excluded from consideration when signaling the index of the codeword of the mode that is not one of the most probable modes. As a result, the index of the code word, originally displayed on one of the most probable modes, can be used to specify a mode, not being one of the most probable modes. Regardless, appears �and the code word on the modified index mode internal predictions or on the modified codeword index, this code word can be encoded using the CABAC process.

If we assume, for example, that uses two of the most probable mode of internal predictions, as in the above case of modified modes internal predictions, then, if the set of available modes internal predictions contains K+1 members, mapped to the range of the index of code words from 0 to K, the table is modified by indexes of code words may appoint K-1 codewords of indices of codewords from 0 to K-2.

Suppose that C is a codeword index, and Cmodis the modified codeword index. Furthermore, suppose that Cm1represents the minimum index of a codeword is the most likely mode, Cm2represents the second minimum index of a codeword corresponding to the most probable mode, etc. As is explained in more detail below, the display modes on the indices of the codewords may be of a dynamic nature. Thus, the first most probable mode minimum index mode may also not have a minimum index of a codeword. Accordingly, there is no need to Cm1followed the first most probable mode, Cm2may not correspond to the second most probable mode. Thus, for the N most likely f�tion modes display the indexes of code words on the modified indexes of code words, performed by video encoder 20, may be represented by the following pseudocode:

if (C≥CmN)

Cmod=C-N

else if (C≥CmN-1)

Cmod=C-N+1

...

else if (C≥Cm2)

Cmod=C-2

else if (C≥Cm1)

Cmod=C-1

else

Cmod=C

Thus, for the N most probable modes display the modified indexes of code words at indexes of code words performed by video decoder 30, may be represented by the following pseudocode:

if (Cmod<Cm1)

C=Cmod;

else if (Cmod+1<Cm2)

C=Cmod+1;

else if (Cmod+2<Cm3)

C=Cmod+2;

else if (Cmod+3<Cm4)

C=Cmod+3;

...

else if (Cmod+(N-1)<CmN)

C=Cmod+(N-1);

else

C=Cmod+N

As video encoder 20 and video decoder 30 can be implemented as any suitable circuits of the encoder from among the various schemes, such as one or more microprocessors, digital signal processors (DSP), an application specialized integrated circuit (ASIC), gate arrays, field programmable (FPGA), discrete logic, software, hardware, firmware or any combination of them. Video encoder 20 and video decoder 30 may be included in each one or more encoders or decoders, each of which can be �part of a combined encoder/decoder (CODEC). The device comprising a video encoder 20 and/or video decoder 30, may include an integrated circuit, a microprocessor and/or wireless communication device, such as a cell phone.

Fig. 2 shows a block diagram which shows an example of video encoder 20, which you can implement the procedure of encoding information indicating the mode of internal predictions. Video encoder 20 may perform internal and external coding blocks in the video frames including macroblocks, partitions or subpartitions of macroblocks. Internal encoding is based on the spatial prediction, the purpose of which is to reduce or remove spatial redundancy in video within a given video frame. External coding based on temporal prediction, which attempts to reduce or remove temporal redundancy in video within adjacent frames of the video sequence. The mode of internal predictions (I-mode) can be attributed to any of several spatial modes of compression, and the external modes of the prediction, such as uni-directional prediction (P mode) or bi-directional prediction (B-mode) may refer to any of several modes of temporal compression. Although in Fig. 2 shows the components to be encoded in the external mode prediction, it should be understood that video encoder 20 may, in addition, includes components for encoding in the mode of internal predictions. However, these components for the sake of brevity and clarity not shown here.

As shown in Fig. 2, video encoder 20 receives a current video blocks within a video frame that should be encoded. In the example of Fig. 2 video encoder 20 includes a block 44 motion compensation, the block 42 of the motion estimation, the memory 64, the adder 49, the module 52 conversion unit 54 of the quantization and the unit 56 entropy coding. To restore video the video encoder 20 also includes a block 58 of the inverse quantization module 60 inverse transformation and the adder 62. Within the boundaries of a filter unit also may include a deblocking filter (Fig. 2 to shown) to filter block boundaries to address of restored video artifacts associated with the blocking. If necessary, the deblocking filter typically filters the output of the adder 62.

During the encoding process of the video encoder 20 receives a video frame or slice, which must be encoded. The frame or slice may be divided into multiple video blocks. Block 42 motion estimation and block 44 motion compensation performs the encoding of a received block with the prediction of the relative to one or more blocks in one or more reference frames to provide temporal compression. Module wintrange predictions may encode a received video with internal prediction in relation to one or more neighboring blocks in the same frame or slice as the block which needs to be coded to provide spatial compression.

Block 40 mode can select one of the encoding modes, internal or external, for example, on the basis of erroneous results and based on the type of frame or slice including the current encoded block, and submit the resulting block is encoded using internal or external encoding to the adder 49 to generate residual block data and to the adder 62 to restore the encoded block for use in the reference frame or reference slice. In the General case, intra prediction includes the prediction of the current block relative to neighboring previously encoded blocks, while the external prediction includes motion estimation and motion compensation for temporal prediction of the current block.

Block 42 motion estimation and block 44 motion compensation represent the elements of a video encoder 20 that are associated with the external prediction. Block 42 motion estimation and block 44 motion compensation can be highly integrated, but here, on the basis of a conceptual purposes, they are shown separately. Motion estimation is the process of creating motion vectors, which estimate motion for video blocks. The motion vector may, for example, to indicate the displacement of a predictive block in the p�edictive the reference frame (or other coded unit) relative to the current block, encoded in the current frame (or other coded unit). Predictive block is a block, which established that it nearly coincides with the block that needs to be encoded, based on the difference in pixels, which can be defined using the sum of absolute differences (SAD), sum of squared differences (SSD), or other difference metrics. The motion vector can also specify the offset portion of the macroblock. Motion compensation may include the selection or creation of a predictive block based on the motion vector determined by motion estimation. Again, the evaluation unit 42 and block 44 motion compensation in some examples may be functionally integrated.

Block 42 motion estimation calculates the motion vector for the video frame that is encoded using an external prediction, by comparing this video with the video blocks of the reference frame in the storage 60 key frames. Block 44 motion compensation may also interpolate the pixels of the reference frame, such as an I-frame or P-frame. The standard ITU-T H. 264 describes, for example, two lists: list 0, which includes reference frames that display earlier than the current encoded frame, and the list 1, which includes frames that are displayed later than the encoded current frame. Thus, the data granade�Xia in the storage 64 reference frames, can be organized in accordance with these lists.

Block 42 motion estimation compares blocks of one or more reference frames from a storage of 64 reference frames with the block in the current frame that should be encoded, for example, P-frame or B-frame. When key frames in the storage 64 reference frames include the values of the sub pixels, the motion vector calculated by the unit 42 motion estimation may refer to the location of pixels in the reference frame. Block 42 motion estimation and/or block 44 motion compensation can also be configured to calculate values of the positions of pixels in the reference frames stored in the storage 64 reference frames, if the storage 64 reference frames stored values of the positions of subpixels. Unit 42 estimates the movement sends the calculated motion vector of the block unit 56 entropy coding and the block 44 motion compensation. The block of the reference frame identified by the motion vector, can be called a predictive block. Block 44 motion compensation can calculate these predictions on the basis of a block encoded with the external prediction.

Module 46 internal predictions may perform intra prediction for the current block as an alternative to external prediction performed by the block 42 motion estimation and block 44 motion compensation, as described �ove. In particular, the module 46 internal predictions can determine the mode of internal predictions for use in coding the current block. In some examples, the module 46 internal prediction to encode the current block using various modes of internal predictions, for example, during the execution of a separate pass encoding, the module 46 internal predictions (or block 40 mode selection in some examples) may select from the tested modes suitable mode of internal predictions to use. For example, the module 46 internal predictions can calculate the values of the distortion depending on the transmission speed, by analyzing the dependence of the distortion of transmission speed for various test modes internal predictions and selecting the mode of internal predictions, with the best characteristics of the distortion depending on the transmission rate among the tested modes. Analysis of the distortion depending on the transmission speed usually determines the amount of distortion (or error) between the encoded block and the source is not a coded block that has been encoded to generate an encoded block, and the bit rate (i.e., number of bits) used to generate the coded block. Module 46 internal predictions can�t to calculate ratios from the dependence of the distortion of transmission speed for different encoded blocks, to determine which mode of internal predictions best demonstrates the value of the distortion depending on the transmission speed for this block.

In any case, after selecting the mode of internal predictions for the block module 40 internal predictions may submit information indicating the selected mode of internal predictions for this unit in the unit 56 entropy coding. Unit 56 entropy encoding can encode information indicating the selected mode of internal predictions, using CABAC according to disclosed procedures here. As shown in Fig. 2, video encoder 20 may include configuration data 66, which may contain multiple tables of indices of modes internal predictions, and many of the tables modified by indices of modes internal predictions (which are also called the tables of the display of code words), definitions of encoding contexts for various blocks, and indications of the most probable mode of internal predictions, tables of indices of modes internal predictions and the table modified by indices of modes internal predictions for use according to each of the contexts.

The table 1 below represents an example of the indices of modes internal predictions, corresponding to the modes internally�about predictions and indication of which mode is the most probable mode for a particular context. Table 1 also shows the modified indices of modes internal predictions that are displayed for each index of the mode in this particular example. Table 2 provides an exemplary mapping table, which maps a codeword to modified indices of modes internal predictions, usually corresponding to the indices of the modes are contained in table 1. As discussed above, it is possible to use more than one most probable mode, but here it is believed that in the above as examples, table 1 and table 2 use only one most probable mode. Due to the fact that it uses one of the most probable mode in table 2 included one less records than in table 1. As for the most likely mode of signaling is provided, separate from the other modes, index 5 mode has no corresponding modified index mode internal predictions. Similarly, in table 2 there is no need to include the code word for the most probable mode.

Table 1
Index modeMode The most probableModified index mode internal predictions
0DCNo0
1VerticallyNo1
2HorizontallyNo2
3Diagonally down/rightNo3
4Diagonally down/leftNo4
5Vertical and rightYesX
6Vertical - leftNo5
7Horizontal - upNo6
8Horizontally - downNot� 7

Table 2
Modified index mode internal predictionsCode word
0000
1001
2010
3011
4100
5101
6110
7111

For example, let m represents the index of the most probable mode in table 1 and let n represents the index of the modified mode of internal predictions corresponding to j. If the selected mode is the most probable mode, then in this example to represent this mode of use the first bit (e.g., "0"), and this mode is defined as the most probable mode, as shown in table 1 (in this example, the vertical - right). If the first bit is sent, other than 0 (i.e., "1"), then the mode n� is the most likely mode. Let n corresponds to the modified index mode internal predictions, specified codeword that is sent for presentation mode. From the encoder to the decoder, the transmitted codeword, which is mapped to the index n, to indicate the selected mode j internal predictions. If the index mode for the selected mode of internal predictions is less than the index value of the most probable mode of internal predictions, then video encoder 20 may encode the indication of the internal mode prediction used to encode the current block using the codeword corresponding to j. In other words, if j<m, then n=j. On the other hand, if the value of the index for the selected mode of internal predictions greater than or equal to the index value of the most probable mode of internal predictions, then video encoder 20 may encode the indication of the internal mode prediction used to encode the current block using the codeword corresponding to j-1. In other words, if j≥m, then n=j-1.

The decoder specified by the decoder 30, usually performs the mapping, inverse mapping performed by the encoder 20. Thus, the decoder 30 may determine that in that case, if n<m, the index of the mode is equal to n. On the other hand, if n>m, �about then the index of the mode is equal to n+1. In other words, if the modified index mode internal predictions (for example, a modified index mode internal predictions from table 2 corresponding to the sent codeword) is greater than or equal to the index of most probable mode (in this example, from table 1), then the mode of internal predictions, in fact, indicated as n+1 and not n. Thus, when the index mode to internal mode prediction used to encode the current block (e.g., n+1) is greater than the index of the most probable mode for the encoding mode (m), the pass phrase, used to represent the selected mode of internal predictions, corresponds to the modified index (n) of the mode of internal predictions, which will be one less than the index of the (n+1) for mode internal prediction used to encode the current block.

As an example, associated with are shown as examples in tables 1 and 2, suppose that for the current block, with the context indicating the most probable mode "vertical - right", the selected mode will be the mode to "horizontal - down. The index m for the most probable mode in this example is equal to 5, while the index mode for the selected mode (per table 1) is $ 8. In this example, postalcodes for the selected mode more than the index mode for the most probable mode, then n=j-1, where n is the index of the modified mode of the internal predictions that have the value 7. Thus, according to table 2 video encoder 20 uses in this example, the code word 111 to represent the selected mode. The code word 111 follows the start bit indicating that the selected mode is not the most probable mode. Accordingly, video decoder 30 (see figures 1 and 4) adopts the initial bits and the code word 111 and determines that the value of n is 7. Since 7 is greater than 5 (i.e., n≥m) in this example, video decoder 30 extracts the mode from table 1 having the index n+1, which is equal in this example 8 in accordance with the circuit "horizontally - down".

In another example associated with the above as examples of tables 1 and 2, suppose that for the current block mode is averaging mode (DC). Again, in this example, the index m for the most probable mode is equal to 5, while the index for the selected mode according to table 1 0. In this example, because the index for the selected mode is less than the index mode for the most probable mode, then the index of the mode is equal to n, where n is the modified index mode internal predictions. Thus, according to table 2 video encoder 20 uses in this example, the code word 00 to represent the selected mode. The code word 000 follows the start bit indicating that the selected mode is not the most probable mode. Accordingly, video decoder 30 (see figures 1 and 4) adopts the initial bits and the code word 000 and determines whether the value n is equal to zero. Since zero is less than 5 (i.e., n<m) in this example, video decoder 30 extracts the mode from table 1 having the index n, which is equal in this example, 0 in accordance with the DC mode.

The following table 3 shows an example of the indices of modes internal predictions, corresponding to the internal modes of prediction, and an indication of which mode is the most probable mode for a particular context. Table 3 also shows the modified indices of modes internal predictions that are displayed for each index of the mode in this particular example. Table 4 gives an example of a mapping table that maps a codeword to modified indices of modes internal predictions, which in General correspond to the indices of the modes in table 3. As discussed above, you can use more than two most probable modes, but in the examples shown in table 3 and table 4, it is assumed the use of only two most probable modes. Because of its use of the two most probable modes, table 4 contents�t two fewer records than table 3.

Horizontal - up
Table 3
Index modeModeThe most probableModified index mode internal predictions
0DCNo0
1VerticallyNo1
2HorizontallyNo2
3Diagonally down/rightNo3
4Diagonally down/leftYesX
5Vertical and rightNo4
6Vertical - leftYesX
7No5
8Horizontally - downNo6

Table 4
Modified index mode internal predictionsCode word
0000
1001
2010
3011
4100
5101
6110

In particular, let m1represents the index of the first most probable mode in table 3, and m2represents the index of the second most probable mode. If the selected mode is one of the most probable modes, then to signal that this mode is one of two most probable modes, use the first bit (e.g., "0"). If this mode is one� two most probable modes, then for signaling which of the two most probable modes correspond to the selected mode, use the second bit. Thus, it may be provided with alarm two most probable modes using the initial bit sequences "00" and "01" respectively. If the first bit is sent, other than 0 (i.e., "1"), then the selected mode is not one of the two most probable modes. Let n corresponds to the modified index mode internal predictions, specified codeword that is sent for presentation mode.

Video encoder 20 may determine the index of the selected mode (j) and display the index on the modified index of the mode (n). If j≥m2then n=j-2. Otherwise, if j≥m1then n=j-1. Otherwise, n=j. Video decoder 30 receives the modified index (n) of the mode of internal predictions and to compare n with m1. If n<m1then index (j) of mode n. If n is not less than m1then you can compare n+1 with m2. If n+1 < m2then the index of the mode is equal to n+1. Otherwise the index of the mode is equal to n+2.

As an example, associated with are shown as examples in tables 3 and 4, suppose that for the current block, with the context indicating the most probable modes "ve�ticked - left and diagonally down/left", the selected mode will be the mode to "horizontal - down. The indices m1and m2for the most probable modes in this example is equal to 4 and 6, while the index j of the mode for the selected mode (per table 3) is $ 8. In this example, because the index for the selected mode is greater than the index of the mode for both the most probable modes, then the mode index j is equal to n+2, where n is the index of the modified mode of internal predictions in table 4. Thus, if the mode index j is equal to 8, then n=6. Thus, video encoder 20 uses in this example, the code word 110 to represent the selected mode. Accordingly, video decoder 30 (see figures 1 and 4) adopts the initial codeword 110 and determines that the value of n is 6. Because 6 is not less than 4 (i.e., n≥m1and 6 plus 1 is not less than 6 (i.e., n+1≥m2in this example, video decoder 30 extracts the mode from table 3, with the index j, which is equal in this example, n+2 (i.e., 8) in accordance with the circuit "horizontally - down".

In another example associated with the above as examples of tables 3 and 4, suppose that for a current block of a selected mode is the DC mode. Again, in this example, the indices m1and m2for the most probable modes is equal to 4 and 6, while the index j for the selected mode�and (according to the table 3) is $ 0. In this example, because the index for the selected mode is less than the index mode for both the most probable modes (i.e., n<m1), then the mode index j is equal to n, where n is the index of the modified mode of internal predictions in table 4. Thus, n is 0. Thus, based on table 4 in this example, video encoder 20 uses the code word 0 to represent the selected mode. For the initial bit, or next of bits indicating that the selected mode is not the most probable mode, should the code word 000. Accordingly, video decoder 30 (see figures 1 and 4) adopts the initial bit or series of bits and the code word 000 and determines whether the value n is equal to zero. Since zero is less than 4 and 6 (i.e., n<m1in this example, video decoder 30 extracts the mode from table 3, with the index j, which is equal to n, that is 0, in accordance with the DC mode.

In yet another example associated with the above as examples of tables 3 and 4, suppose that for the current selected block mode is "vertical - right". Again, in this example, the indices m1and m2for the most probable modes is equal to 4 and 6, while the index j for the selected mode (per table 3) is $ 5. In this example, because the index for the selected mode is greater than or equal to the index for the first most likely�on mode, but less than the index mode for the second most probable mode, the mode index j is equal to n+1, where n is the index of the modified mode of internal predictions in table 4. Thus, if the mode index j is equal to five, then n=4. Thus, in this example, video encoder 20 uses the code word 110 to represent the selected mode. For the initial bit or sequence of bits indicating that the selected mode is not the most probable mode, should the code word 110. Accordingly, video decoder 30 (see figures 1 and 4) adopts the initial bit or sequence of bits and the code word 110 and determines that the value of n is 4. Since 4 is greater than or equal to 4, but 4 plus 1 is less than 6 (i.e., n≥m1but n+1<m2in this example, video decoder 30 extracts the mode from table 3, with the index j, which is equal to n+1, i.e., 5, in accordance with the mode "vertical - right" in this example.

It should be understood that tables 1, 2, 3 and 4 are just examples of tables containing the most probable modes, the indexes for these modes and code words assigned to the various indexes. In other examples, as the most probable modes may be defined by other modes, for example, based on the coding context for a specific unit. For example, the most probable mode can be defined on the OS�ove encoding modes, used to encode the neighboring block to the left and at the top. Configuration data 66 may include a variety of tables, usually these are given as examples of tables 1 and 3. Similarly, configuration data 66 may include multiple tables display the code words, such as tables 2 and 4, which represent the indexes of the code words.

In the General case, tables 1 and 3 may be referred to tables of indices of the modes, while tables 2 and 4 may be referred to tables mappings modified by indices of modes internal predictions or just a table display. As noted above, tables 1 and 2 are just one example of a table of indices of the modes and the mapping table. In some examples, the configuration data 66 may include data for multiple tables of indices of the modes and the many tables display. In some examples, the multiple contexts of encoding may correspond to one common index table modes. Similarly, many of the tables of indices of the modes may correspond to the shared mapping table.

According to disclosed procedures here modes can also be displayed on the indexes of code words, and not the modified indices of modes internal predictions. Then the indices of the codewords can be� displayed on the modified indexes of code words, which are used to search for the code words. The following table 5 shows an example of the indices of modes internal predictions and modes, which are displayed on one index of a codeword. In table 5 also include an indication of which modes are the most likely for a particular context, and also shows a modified indexes of code words corresponding to the indexes of code words for this particular example.

Table 5
Index modeModeThe most probableThe index of the code wordThe modified codeword index
0DCNo32
1VerticallyNo00
2HorizontallyNo43
3On di�gonal down/right Yes5X
4Diagonally down/leftNo64
5Vertical and rightNo11
6Vertical - leftYes2X

7Horizontal - upNo75
8Horizontally - downNo86

Table 6
The modified index of the mode code wordCode word
0000
1 001
2010
3011
4100
5101
6110

For example, let Cm1represents the index of the codeword of one of the most probable mode, and CM2represents the index of the codeword of the other most probable modes, where Cm1has a smaller value of the index of the codeword, than Cm2. As discussed above, Cm1and Cm2determine, based on the values of the indexes of code words, and not the values of the indices of the modes. Thus, Cm1may not necessarily correspond to the first most probable mode, and Cm2may not necessarily correspond to the second most probable mode. In the example of table 5 mode 3 (diagonal down/right"), for example, is the first most probable mode, because it has the minimum index of the most probable modes, and mode 6 is the second most probable mode. However, the second most probable mode has a smaller index of the corresponding code words than the first most probable mode. Thus, when�'ere according to table 5 C m1corresponds to the index of the codeword of the second most probable mode, and Cm2corresponds to the codeword index of the first most probable mode. The following description it is assumed that Cm1less than Cm2.

If the selected mode is one of the most probable modes, then to signal that this mode is one of two most probable modes, use the first bit (e.g., "0"). If this mode is one of two most probable modes, then for signaling which of the two most probable modes correspond to the selected mode, use the second bit. Thus, signaling the two most probable modes may be achieved through initial bit sequences "00" and "01" respectively. If sent first bit that is different from "0" (i.e., "1"), then the selected mode is not one of the two most probable modes, and send the selected mode in the form of a codeword corresponding to the codeword index. However, instead of sending the codeword, which directly corresponds to the codeword index for the selected mode, video encoder 20 may provide economy of bits, sending the code word corresponding to the modified codeword index. Video decoder 30 may receive codes�e word, corresponding to the modified codeword index, and then determine the index of a codeword corresponding to the selected mode of internal predictions.

The video encoder may determine a codeword index selected mode (S) and display the index mode on a modified index (Cmod) mode. If C≥Cm2then Cmod=P-2. Otherwise, if C≥Cm1then Cmod=S-1. Otherwise, Cmod=S. video decoder 30 receives the modified index (Cmodmode internal predictions and can first compare it with Cm1. If (Cmod<Cm1then index (C) the mode is equal to Cmod. If (Cmodnot less than Cm1then with Cm2you can compare Cmod+1. If (Cmod+1<Cm2then the index of the mode is equal to Cmod+1. Otherwise, the index of the mode is equal to Cmod+2.

As an example, associated with are shown as examples in tables 5 and 6, suppose that for the current block, with the context indicating the most probable modes "vertical - left (mode index 6) and diagonally down/right" (index 3 mode), the selected mode is horizontal - down (mode index 8). The indices of Cm1and Cm2the code words for the most probable modes in this example equal to 2 and 5, while the index for SEL�data mode (refer to table 5) is $ 8. According to table 5 indexes 3, 6 and 8 modes appear at indices 5, 2 and 8 of the code words, respectively. In this example, because the index of the codeword for the selected mode (i.e., the index of 8 code words) is greater than the indices of the codewords for both the most probable modes (i.e., the indices 5 and 20 of code words), the index of the codeword is equal to Cmod+2, where Cmodequal to the modified codeword index corresponding to the code word in table 6. Thus, if the codeword index selected mode is equal to 8, then Cmod=6. Thus, in this example, video encoder 20 to represent the selected mode will use the code word 110. Accordingly, video decoder 30 (see figures 1 and 4) receives the code word 110, and determines whether the value of Cmod6. Since 6 is not less than 2 (i.e., Cmod≥Cm1and 6+1 is not less than 5 (i.e., Cmod+1≥Cm2in this example, video decoder 30 extracts the mode from table 5, with the index Cmod+2, which equals 8, in accordance with the mode "horizontal - down" in this example.

As another example, again associated with exemplary tables 5 and 6, suppose that for the current selected block mode is "vertical" (index 1 and index 0 of the codeword). The indices of Cm1andCm2for the most likely regime� again equal to 5 and 2. In this example, because the index of the codeword for the selected mode is less than the indexes of code words for both the most probable modes (i.e., With<Cm1), modified index of Cmodcode words is equal to the index of the codeword. Therefore, in this example to represent the selected mode, video encoder 20 would use codeword 000. The code word 000 follows the start bit or the next bit that indicates that the selected mode is not the most probable mode. Accordingly, video decoder 30 (see figures 1 and 4) would receive the initial bit or series of bits and the code word 000 and determine the value of Cmodis 0. Because 0 is less than 5 and 2 (i.e., Cmod<Cm1in this example, video decoder 30 would retrieve the mode from table 5, with the index equal to Cmodequal to 0 in accordance with the mode "vertical" in this example.

As another example associated with an exemplary tables 5 and 6, suppose that for the current selected block mode is "horizontal" (index 2 and index 4 code words). In this example, the indices of Cm1and Cm2for the most probable modes is equal to 2 and 5. In this example, because the index of the codeword for the selected mode is greater than or equal to Cm1but less than Cm2the index of the codeword is equal to Cmod+, where Cmodmodified codeword index. Thus, if the index of the codeword is equal to 4, then Cmod=3. Therefore, in this example to represent the selected mode, video encoder 20 would use codeword 011. Code word 011 follows the start bit or the next bit that indicates that the selected mode is not the most probable mode. Accordingly, video decoder 30 (see figures 1 and 4) would receive the initial bit or series of bits and the code word 011 and determines that the value of Cmodis 3. Since 3 is not less than 2, but 3 plus 1 less than 5 (i.e., Cmod≥Cm1but Cmod+1<Cm2in this example, video decoder 30 would retrieve the mode from table 5, with the index of the mode is equal to Cmod+1 that is equal to 4, according to "horizontal".

It should be understood that tables 1-6 are just examples of tables of most probable modes, indices for these modes, indexes of code words and the code words assigned to the various indexes. In other examples, as the most probable mode can be defined other modes internal predictions, for example, based on the coding context for a specific unit. The most probable mode can be defined, for example, on the basis of the internal modes of prediction used to encode the neighboring BL�Cove to the left and above. Configuration data 66 may include a variety of tables associated with different modes internal predictions, identified as the most probable mode, and a different number identified the most probable modes, in the General case, by analogy with example tables 1, 3 and 5. Similarly, configuration data 66 may include multiple tables display the code words, such as tables 2, 4 and 6, which display the remaining indices of modes internal predictions for code words. As described above, the alarm is most probable modes is performed using the initial bit or bit sequence. The specified initial bit or sequence of bits may also depend on the context. For example, different sequences of bits can be used to indicate the most probable modes, depending on what modes internal predictions identified as the most probable modes, and the number of most probable modes are identified. The most probable modes, and the encoding table in any case also can be determined on the basis of other types of contexts instead of or in addition to the mode of the internal prediction of the adjacent blocks used in this example.

Examples lo� 1, 2, 3, 4 and 5 proposed in relation to nine modes internal prediction of the H. 264 standard. However, it should be understood that disclosed here, the procedure can be applied to other standards and technologies of encoding, such as the high-efficiency encoding (HEVC). In some instances, such as in HEVC, the number of available modes internal predictions may depend on the size of the encoded block (e.g., in HEVC is the coding unit" or "CU"). For each mode of the internal prediction of the index of the mode can be assigned on the basis of the probability of occurrence of each mode internal predictions. Fig. 3 shows an example of modes internal predictions and the corresponding indexes that can be used with HEVC encoding. The arrows on Fig. 3 represent the direction of the prediction, and the numbers represent the index of the mode. Table 7 below presents the correspondence between the CU size and the number of modes internal predictions that are available for coding units CU of the given size. As can be seen from table 7, the unit CU with size 8×8, 16×16 and 32×32 may use 35 of modes internal predictions, shown in Fig. 3, while a CU of size 4×4 and 64×64 using a smaller set of modes internal predictions.

Table 7
The size of the unit of codingThe number of modes internal predictions
4×418
8×835
16×1635
32×3235
64×644

In examples where the number of modes internal predictions varies depending on the size of the block, the configuration data 66 may include different tables for different block sizes. Accordingly, the context for encoding the indication of the internal mode prediction used to encode the block may include the size of the block and the encoding modes used to encode the neighboring blocks. Unit 56 entropy coding may choose an index table of modes and mapping table of code words that is used to select a code word representing the selected mode of internal predictions, which is used to encode this block on the basis of its context. In addition, the index table of modes for blocks of a particular size may have a number of records equal to�icesto modes internal predictions for blocks of this size. Thus, the index table of modes for blocks of size 4×4 can have 18 entries, the index table of modes for blocks of size 8×8, 16×16 and 32×32 can have 35 entries, and the index table of modes for blocks of size 64×64 can have 4 entries. Other block sizes, e.g., 128×128, may also be associated with a certain number of modes internal predictions.

Modes internal predictions that are available for blocks of size 8×8, 16×16 and 32×32, can be the same, and therefore, for blocks with size 8×8, 16×16 and 32×32 can be used the same index table modes. However, while for blocks of the specified size possible the same modes, the probability of using a particular mode for coding a block may depend on the size of this block. Accordingly, in some examples, the unit 56 entropy encoding may specify a mapping table of code words for a specific table indexes of the modes based on the block size, which should be provided with alarm mode internal predictions.

Tables 2, 4 and 6 above, are merely exemplary table to represent the various encoding modes. However, it should be understood that other examples may use other types of code words. For the table display of code words (that is, the mapping table Il� tables modified by indices of modes internal predictions) can be used by any set of code words, since each of these code words is uniquely decodable.

After predicting the current block using, for example, the internal prediction and external prediction, video encoder 20 may generate residual video blocks by subtracting data of the prediction calculated by the block 44 motion compensation or module 46 internal predictions from a source encoded video. The adder 49 is a component or components that perform this subtraction operation. Module 52 conversion applies a transform, such as discrete cosine transform (DCT) or a conceptually similar transform to the residual block, creating a video section containing the values of residual transform coefficients. The module 52 can perform conversion and other conversions, such as those defined by the H. 264 standard, which are conceptually similar to DCT transformation. Can also be used wavelet transforms, integer transforms, transform of Abdumanonov or other types of transformations. In any case, the module 52 conversion applies a transform to the residual block, generating a block of residual transform coefficients. This change allows you to convert the residual information from a pixel region value�tions in the area of conversion, for example, the frequency region. Unit 54 performs quantization quantization residual transform coefficients to further reduce bit rate. The quantization process can reduce expressed in bits of the depth associated with some or all of the coefficients. The degree of quantization can be changed by adjusting the quantization parameter.

After quantization unit 50 performs entropy encoding entropy encoding quantized transform coefficients. For example, the unit 56 may perform context adaptive coding with variable word length (CAVLC), context adaptive binary arithmetic coding (CABAC), or another entropy coding procedure. After the entropy encoding performed by the unit 56 entropy coding, the encoded video may be transmitted to another device or archived for later transmission or retrieval. In the case of context adaptive binary arithmetic coding context may be based on neighboring blocks and/or block sizes.

In some cases, the unit 56 entropy coding or another unit of video encoder may be configured to perform other functions encoding in addition to entropy coding and the coding mode of internal predictions, as described above. Eg�measures unit 56 entropy coding may be configured to determine the values of the pattern of the coded block (CBP) for units and parts thereof. Also, in some cases, the unit 56 entropy encoding can encode the length of the series of coefficients in a macroblock or partition. In particular, the unit 56 entropy coding may apply a zig-zag scan or other scanning scheme for scanning transform coefficients in a macroblock or partition and encode a series of zeros for further compression. Unit 56 entropy coding may also generate information for a header with appropriate syntax elements for transmission in the encoded bit stream.

Unit 58 and inverse quantization module and inverse transformation 60 apply inverse quantization and inverse transformation, respectively, to recover the residual block in the pixel region, for example, for later use as a reference unit. Block 44 motion compensation may calculate a reference block by adding the residual block to the predicted block of one frame in the storage 64 reference frames. Block 44 motion compensation may also apply one or more interpolation filters to the restored residual block to calculate a sub-pixel�s values for use in motion estimation. The adder 62 adds the restored residual block to block, the prediction with motion compensation, developed by block 44 motion compensation to generate a restored video for storage in the storage 64 reference frames. Restored the video section can be used by block 42 motion estimation or block 44 motion compensation in the reference block to inter-frame encoding block in the next frame.

Thus, video encoder 20 represents an example of a video encoder configured to determine a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the encoding context for the current block; select a table of codewords based on the context for the current block, where the table of code words contains a lot of code words corresponding to the modified indices of modes internal predictions, which correspond to the modes of internal predictions other than the first most probable mode of internal predictions and the second most probable mode of the internal prediction; encoding the current block using one of the modes of internal predictions, other than the first most probable mode of internal predictions � second most probable mode of internal predictions; determine one of the modified indices of modes internal predictions, which corresponds to the mentioned one of modes internal predictions, using the table of codewords; and encode a codeword from the selected table of codewords by performing a CABAC process, where the specified codeword corresponds to the one mentioned from the modified indices of modes internal predictions.

Thus, video encoder 20 represents an example of a video encoder configured to determine a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the encoding context for the current block; select a table of codewords based on the context for the current block, where the table of code words contains a lot of code words corresponding to the indexes of code words, where the indices of the codewords mapped to the internal modes of prediction; encoding the current block using one of the modes of internal predictions other than the first most probable mode of internal predictions and the second most probable mode of internal predictions; determining a modified codeword index based on the codeword index of the other modes internal predictions, used to encode the current block, the index of the codewords mapped to the first most probable mode, and the codeword index mapped to the second most probable mode; and encode a codeword from the selected table of codewords by performing a CABAC process, where the specified codeword corresponds to the one mentioned from the modified indices of modes internal predictions.

Fig. 4 shows a block diagram which shows an example video decoder 30 that decodes an encoded video sequence. In the example of Fig. 4 video decoder 30 includes a block 70 entropy decoding unit 72 motion compensation module 74 internal prediction unit 76 inverse quantization unit 78 inverse transformation, memory 82, and an adder 80. Video decoder 30 in some examples, can perform pass decoding that is the inverse of the aisle encoding described with respect to video encoder 20 (Fig. 2). Block 72 motion compensation can create data prediction based on motion vectors received from block 70 entropy encoding.

Block 72 motion compensation may use the motion vectors taken in the bit stream to identify a prediction block in the reference frames that are in the store 2 reference frames. Module 74 internal predictions can use modes internal predictions obtained in the bit stream for the formation of block prediction based on neighboring blocks in the space. In particular, video decoder 30 in the example of Fig. 4 contains the configuration data 84. Configuration data 84 is essentially similar configuration data 66 in Fig. 2 in that the configuration data 84 includes information describing the contexts for blocks, calculated on the basis of internal predictions, as well as one of the many tables displaying indexes of internal predictions to use for each context, one of the many tables modified by indices of internal predictions (or table display code words) to use for each context and the most likely mode of internal predictions for each context.

Block 70 entropy decoding can take the code word representing the mode of internal predictions, for its use for the purpose of decoding the encoded block of video data. Block 70 entropy decoding can determine the context for a given coded unit, e.g. on the basis of modes internal predictions for the neighboring left block and the neighboring block from the top in relation to the coded block� and/or based on the size of the coded block. Block 70 entropy decoding based on the context can determine one or more most probable modes internal predictions for their use with the purpose of decoding this block, as well as the table of indices of internal predictions and the table modified by indices of modes internal predictions for their use to determine an operating mode of internal predictions, which will be used for decoding the current block.

When using the single most likely mode of internal predictions, if the code word contains the first bit, for example, "0", then block 70 entropy decoding may determine that the current mode of internal predictions is the most likely mode of internal predictions for a given coded unit. Otherwise, the block 70 entropy decoding may determine a modified index mode internal predictions mapped to a received codeword, based on the table of modified indices of modes internal predictions for the context of this coded block. Let n represents the modified index mode internal predictions and let m represents the index mode for the most likely mode of internal predictions. When n<m, the block 70 ENT�opium decoding can determine the current mode of internal predictions for the encoded block has an index n. Otherwise (i.e., when n≥m), the block 70 entropy decoding may determine that the current mode of internal predictions for the encoded block has index n+1. Using the index mode, which is equal to either n or n+1, as described above, the block 70 entropy decoding can extract information indicating an operating mode of internal predictions for the purpose of decoding the coded block and parcel to the instructions in this mode, the module 74 internal predictions.

When using more than one most probable mode of internal predictions, for example, the two most probable modes internal predictions, if the first bit has a certain value, for example, "0", then block 70 entropy decoding may determine that the current mode of the internal predictions is one of the most likely modes of internal predictions for a given coded unit. In these cases, the block 70 entropy decoding based on the second bit or several bits to determine which of the most probable modes internal predictions is the selected mode internal predictions. Otherwise, after the first bit� block 70 entropy decoding may determine a modified index mode internal predictions, mapped to a received codeword, and based on this modified index of the mode of internal predictions to determine the selected mode of internal predictions for this unit. Suppose, for example, n represents a modified index mode internal predictions and let m1and m2represent the index for the most probable modes internal predictions. If n<m, then the block 70 entropy decoding may determine that the selected mode of internal predictions for the encoded block has an index equal to n. When n+1<m2(but n is not less than m1), then block 70 entropy decoding may determine that the selected mode of internal predictions for the encoded block has an index equal to n+1. Otherwise, when n+1 is not less than m2then block 70 entropy decoding may determine that the selected mode of internal predictions for the encoded block has an index equal to n+2. Using this index, the block 70 entropy decoding can extract the information indicating the selected mode of internal predictions for its use for the purpose of decoding of the coded block and parcels indicate the status of the module 74 internal predictions.

Similarly, if the indices of the modes �nutrunner predictions mapped to the indexes of code words, and there is more than one most probable mode, then if the first bit or sequence of bits has a particular value, e.g. "0", then block 70 entropy decoding may determine that the current mode of internal predictions is one of the most likely modes of internal predictions for a given coded unit. In these cases, the block 70 entropy decoding based on the second bit or several bits to determine which of the most probable modes internal predictions is the selected mode internal predictions. Otherwise, after the first bit or bit sequence block 70 entropy decoding may determine a modified codeword index mapped to a received codeword, and based on this modified codeword index to determine the selected mode of internal predictions for this unit. For example, let Cmodis the modified codeword index, and let Cm1and Cm2represent the indices of the codewords to the most probable modes internal predictions. If (Cmod<Cm1then block 70 entropy decoding may determine that the current selected mode of internal predictions for a given coded unit, and�States index of the codeword, equal to Cmod. When Cmod+1<Cm2(but Cmodnot less than Cm1), then block 70 entropy decoding may determine that the current selected mode of internal predictions for the encoded block has an index of a codeword equal to Cmod+1. Otherwise, when Cmod+1 not less than Cm2then block 70 entropy decoding may determine that the current selected mode of internal predictions for the encoded block has an index of a codeword equal to Cmod+2. Using the index of the codeword, the block 70 entropy decoding can extract the information indicating the current selected mode of internal predictions for its use for the purpose of decoding of the coded block and parcel to the instructions in this mode, the module 74 internal predictions.

Module 74 internal prediction may use the indication of the mode of internal predictions for internal prediction coded block, using, for example, pixels of neighboring, previously decoded blocks. In examples where the block is encoded using the external mode prediction unit 72 motion compensation may receive information defining a motion vector to extract data prediction with motion compensation for the UPR�analogo coded block. In any case, the block 72 motion compensation or module 74 internal predictions may submit to the adder 80 information defining block prediction.

Unit 76 inverse quantization performs inverse quantization, i.e. "dekvantovanie", the quantized coefficients of the block provided in the bit stream and decoded by the block 70 entropy decoding. The process of the inverse quantization may include standard processing, for example, as defined by the standard H. 264 decoding, or how it is run using the test model of HEVC. The process of the inverse quantization may also include the use of the parameter QPYquantization computed by the encoder 20 for each macroblock to determine a degree of quantization and, likewise, the degree of inverse quantization that should be used.

Module 58 inverse transformation applies the inverse transform, such as inverse DCT transform, inverse integer transform, or a conceptually similar inverse process of converting the transform coefficients to create residual blocks in the pixel region. Block 72 motion compensation creates blocks with motion compensation, possibly performing interpolation based on interpolation filters. The composition of elements with�of taxes can be included identifiers for interpolation filters, used for motion estimation with the accuracy of sub-pixel. Block 72 motion compensation may use interpolation filters used by video encoder 20 during encoding of the video, to calculate the interpolated values for pixels of the reference block. Block 72 motion compensation may determine the interpolation filters used by video encoder 20, in accordance with the information of the syntax and use the interpolation filters to generate predictive blocks.

Block 72 motion compensation uses the information of the syntax for defining the sizes of blocks used to encode frame (frames) coded video sequences, information about decomposition, which describes how divided each block of a frame or slice of coded video sequences, modes indicating how each part is encoded, one or more reference frames (and reference lists of frames) for each block or section of a block subjected to encoding with an external prediction, and other information to decode the coded video sequence.

The adder 80 adds the residual blocks with the corresponding predictive blocks generated by block 72 motion compensation or module 74 internal predictions for the shaping�of decoded blocks. If necessary, can also be applied to the deblocking filter to filter the decoded blocks to remove artifacts associated with the blocking. Then the decoded blocks remember in storage 82 reference frames, which provides reference blocks for subsequent motion compensation and also produces decoded video for presentation on the display device (for example, the device 32 of Fig. 1).

Thus, video decoder 30 of Fig. 4 is an example of a video decoder configured to determine a first most probable mode of internal predictions and the second most probable mode of internal predictions for the encoded block of video data based on the context for the current block; select a table of codewords based on the specified context for the current block, where the table of code words contains a lot of code words corresponding to the modified indices of modes internal predictions, which correspond to the modes of internal predictions other than the first most probable mode of internal predictions and the second most probable mode of internal predictions; perform a CABAC process to determine a received codeword; determine one of the modified indices of internal modes �of redskazanie, which corresponds to the accepted code word using the above-mentioned table of codewords; select the mode of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions, for its use for the purpose of decoding the coded block, where the selected mode of internal predictions corresponds to a particular one of the modified indices of modes internal predictions; and decoding the current block using the selected mode of internal predictions.

Thus, video decoder 30 of Fig. 4 is an example of a video decoder configured to determine a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the context for the current block; select a table of codewords based on the specified context for the current block, where the table of code words contains a lot of code words corresponding to the indexes of code words, where the indices of the codewords mapped to the internal modes of the predictions; perform a CABAC process to determine a received codeword; determine a modified codeword index that conforms to the� adopted the code word, with the use of the table of codewords; select the mode of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions, for its use for the purpose of decoding the coded block, where the selected mode of internal predictions corresponds to a codeword index selected based on the modified codeword index, the first most probable mode of internal predictions and the second most probable mode of the internal prediction; and decoding the current block using the selected mode of internal predictions.

Fig. 5A shows a block diagram which shows an example block 50A coding CABAC, which can be used according to the procedures disclosed in this description. Block 50A coding CABAC includes a module 51A display "value bin", module 53A purpose and context module 55A adaptive arithmetic coding. Module 55A adaptive arithmetic coding includes a module 57A assessment of the probability and encoding machine 59A. Block 50A coding CABAC can be set, for example, as part of unit 56 entropy coding Fig. 2.

For the syntax element having a non-binary value, the module 51A display "EIT�Linux - binary element (bin-binary element) can assign the value of the syntax element binary sequence, also called the "binary combination of elements, which may contain one or more bits or "binary elements". In other words, the module 51A display "the value of the binary element may assign the binary value of the syntax element, so that this value will be represented using binary combinations. It should be noted that the combination of binary elements with arbitrary values can be assigned to any particular syntax element does not have a binary value and the binary combination of elements does not necessarily represent the value of the syntax element in binary form. In the examples tables 2, 4 and 6 described above, the code words are given in binary form and therefore can be used for binarization. Displaying the value of the syntax for a binary code word is essentially "binarytree" this is the syntax to transfer this element of syntax in the module display 51A. However, for non-binary syntax elements, the module 51A display can binarysoul this element syntax.

As previously stated, because each of the tables 2, 4 and 6 are presented as of Feb�is to link the values that is already halftoned, you can do without this binarization process and transmit codewords at the stage of modeling context (CABAC) performed by the module 53A destination context, which is described below. Similarly, one or more binary elements described above with reference to tables 1, 3 and 5 indicating whether the used mode of the internal prediction of the most probable mode of internal predictions for a particular context, can also be represented as binary values, and therefore there is no need for binarization for the same reasons that were stated above. In other words, the modified indices of modes internal predictions, the modified index of code words, and other elements of syntax and specify whether you are using the mode of internal predictions of the most probable mode of internal predictions for a particular context, can not be represented in binary form, and therefore might need binarization.

Module 53A destination context assigns a context to each binary element of the binary combination of elements used to represent the syntax element. For example, the module 53A destination context may assign a different context to each binary element in combination BINAR�'s elements. Alternatively, the module 53A destination context may appoint the General context of one or more binary elements of binary combinations of the elements. In some other cases, for example when the binary element code using the bypass mode of CABAC, no need to have a context in an explicit form, and the module 53A destination context there is no need to appoint such a binary element of any context. In any case, in some examples, each context can be represented using a context index. In other words, each binary element of the binary combination of elements may be associated with a context index, which indicates the specific context assigned to the corresponding binary element.

Module 53A purpose of context can assign a context to each binary element of the binary combinations of the elements using the process, sometimes called "contextual modeling". For example, the module 53A destination context can assign each binary element of the context that is defined on the basis of the context model. The context model defines how to calculate the specific context for this binary element. For example, the context may be calculated on the basis of the information available for this Bina�member, such as, for example, the values of the corresponding previously encoded syntax elements for adjacent blocks of video data or a relative position of a binary element in a combination of binary elements. For example, a context model can use the values modified by indices of modes internal predictions (or code words used to represent these indices for neighboring blocks of video data above and to the left of the current block and/or position of a binary element in a combination of binary elements to calculate the context.

In some examples, each context may include a set of "contextual conditions", where each context state is associated with a specific set of probabilistic assessments, which indicates the probability that the binary element that is assigned the context contains the given value, e.g. "0" or "1". In addition, each context may be associated with a specific current state of the context at any given time, where the current state of the context shows recent estimates of the probability for this context.

Binary element of binary combinations of elements can consistently coded module 55A adaptive arithmetic coding. To encode a binary element module 57A probability estimate that is included in the composition of the� module 55A adaptive arithmetic coding, can determine the probability estimate for the encoded binary element based on the context (and its current state) that is assigned to the binary element.

Coding machine 59A can use the value of the binary element and assessing the probability corresponding to the context (and current status) assigned to the binary element as inputs module 55A adaptive arithmetic coding when encoding binary element. Probability estimate determined for a given binary element module 57A of estimates of the assigned context, as described above. As described earlier, these estimates of probability in the General case correspond to the probabilities that the binary element has a value of "0" or a value "1". The estimates of probability can be the same for binary elements assigned to the same context, and may differ from context to context that reflects the current state of each of the contexts.

In addition, the probability estimate assigned to the context can be updated based on the actual value of the binary element encoded by the encoding machine 59A. For example, if a particular binary element has a value of "1," then the probability estimate equal to "1" assigned to the context, increase. Similar�ary, if the binary element has a value of "0", then increase the probability estimate equal to "0", assigned to the context. In the above examples, the probability estimate assigned to the context can be updated by updating the context state to reflect the latest estimates of the probability for the context, as described earlier. For example, recent estimates of the probability referred to the updated context state can be used to control the following binomial that has been set to the same context.

The above procedure can be repeated for each binary element of the binary combinations of the elements. In some cases, for one or more binary elements binary combinations of the elements you can use the bypass mode, and in this case one or more binary elements encode without the use of a model of destination in an explicit form that can simplify coding and increase the speed of encoding of binary elements. For example, for one or more binary elements are coded using bypass mode, can be taken virtually uniform probability estimate (e.g., "0,5", for the values "0" and "1"). In other words, the bypass mode can be used to encode uniformly distributed binary elements.

Here was�attained, what the above process CABAC is one example of the CABAC process. Assume that modifications of the above process, and the processes CABAC, an alternative to the above is beyond the scope of the procedures described in this invention. In addition, the procedure of this invention further involve the use of adapted to other process-context entropy coding such as entropy coding processes with predefined intervals of probabilities (PIPE), as well as other processes entropy coding, adaptive to the context.

Fig. 5B shows a block diagram which shows a block 50V CABAC decoding, which can be used in accordance with disclosed procedures here. Block 50V CABAC decoding module contains V display the "binary element - value", the module V purpose and context module 55V adaptive arithmetic decoding. Module 55V adaptive arithmetic decoding includes a module 57V assessment of the probability and decoding machine 59AM. Block 50V CABAC decoding may, for example, be installed as part of the block 70 entropy decoding of Fig. 4.

In a similar manner as described above with reference to block 50A coding CABAC, block 50V CABAC decoding can decode the encoded combination Bina�tion elements, containing one or more binary elements. As previously described, coded combination of binary elements can represent a coded syntax element with binary or non-binary value.

For example, the module V destination context to use context modeling to define the context, which must be assigned to a specific binary element of binary combinations of the elements. Module 57V probability estimate may use an assigned context (and its current state) to determine estimates of the probabilities used to decode this binary element. In addition, the decoding machine can decode 59AM binary element using the evaluation of probabilities. Similarly, as described above, this process can be repeated for some or all of binary elements binary combinations of the elements, resulting in a decoded combination of binary elements. Finally, the module V display the "binary element - value can display the decoded binary elements binary combinations of the elements of a syntax element with a non-binary value, or "devinelizabeth" one or more decoded binary elements.

Again it is assumed here that the described process CABAC presented�t one example of the CABAC process. It is expected that modifications of the above process, as well as alternative processes CABAC are not beyond the scope of the procedures described in this invention. In addition to the disclosed procedures here, in addition, it is assumed the use of other processes entropy coding, adaptive to the context, such as PIPE processes, and other processes entropy coding adapted to the context.

Fig. 6 presents a block diagram illustrating an exemplary method of encoding a block of video data with internal prediction. Shown in Fig. 6 procedure in the General case can be performed by the processing unit or processor, regardless of the implementation (hardware, software, firmware, hardware or their combination), and for software and software / hardware implementation may provide appropriate hardware commands software or firmware. For illustrative purposes, the procedure of Fig. 6 is described with respect to video encoder 20 (figures 1 and 2), although it should be understood that to perform similar procedures, you can configure other devices. In addition, the steps shown in Fig. 6, can be performed in a different order or in parallel and can be added additional stages, and some stages are omitted, provided that�about, what it will not go beyond the procedures of this invention.

Initially, video encoder 20 may select the mode of internal predictions for the current block of video data (step 100). For example, the module 46 internal predictions can calculate values based distortion of transmission speed modes internal prediction used to encode the block, and then choose the mode of internal predictions, which gives the best value based distortion from the data rate for test modes internal predictions. Then the module 46 internal predictions may encode the block using the selected mode of internal predictions (step 102). That is, the module 46 internal predictions can calculate the predicted block for the current block based on the selected mode of internal predictions. Video encoder 20 can also calculate the difference between the predicted block and the original block to generate a residual block, video encoder 20 may then be transformed and quantized.

Video encoder 20 may also encode information representing the mode of internal predictions. That is 46 internal model predictions may send an indication of the selected mode of the internal prediction unit 56 entropy coded�me. Unit 56 entropy coding or another unit of video encoder 20 may determine the context for the block (step 104). The context for this unit may include the block size or the internal modes of prediction of neighboring blocks, such as a neighboring block at the top and/or left neighboring block. Unit 56 entropy coding can also select the table modified by indices of modes internal predictions to encode the pointer mode of the internal prediction based on the encoding context for the block (step 106). In addition, the unit 56 entropy coding may select the table of indices of internal predictions in some instances, while in other examples, the indices of modes internal predictions can be fixed. In addition, the unit 56 entropy coding may determine one or more most probable modes internal prediction for the given block in the context of this block (step 108).

Then, the unit 56 entropy coding may choose the code word for the mode of internal predictions from the modified table of indices of modes internal predictions based on the most probable mode (modes) of the internal predictions (step 110). For example, as discussed more below, the unit 56 entropy encoding may use one �it or a sequence of bits (for example, one bit or two bits) for signalling that the selected mode of internal predictions contains one of the most likely modes of internal predictions. If the selected mode internal predictions is not one of the most probable modes internal predictions, the unit 56 entropy coding may choose a code word to signal the selected mode internal predictions. Then, the unit 56 entropy coding may output the encoded block (e.g., the coded quantized transform coefficients in the bit stream and using a CABAC process, may display the selected code word in the bit stream (step 112).

Fig. 7A presents a block diagram illustrating an exemplary method of selecting a codeword that indicates the mode of internal predictions for the encoded block. Again, the procedure in Fig. 7A can be implemented in any suitable processor, although these treatments are discussed here in relation to given as an example of video encoder 20. Fig. 7A shows additional details for step 110 of Fig. 6. The steps of the method shown in Fig. 7A may be performed in a different order or in parallel, and can also be added additional stages, and some stages are omitted, provided that these procedures will remain in the framework of this invention.

VI�geocoder 20 may determine an encoding context for the current block (step 120), as discussed above. Similarly, video encoder 20 may select the table of modified indices of modes internal predictions based on the encoding context for the block (step 122A). Configuration data of video encoder 20 may provide an indication of the modified table of indices of modes internal predictions, and in some examples, the index table of modes internal predictions for the context of this unit. In addition, video encoder 20 may determine the most likely mode of internal predictions to use for encoding the block based on the encoding context for the block (step 124A). Again, the configuration data can provide an indication of the most probable mode of internal predictions for the context of this unit.

As discussed above, video encoder 20 may select the mode of internal predictions for this unit to really use it to encode this block (step 126A). Video encoder 20 may determine whether the selected mode of internal predictions, with the most likely mode of internal predictions for a given block, based on the context of this block (step A). If the selected mode is the most probable mode (branch "Yes" of step A), then video encoder 20 based on the most Vero�Togo mode may encode the indication of the mode of internal predictions, used to encode this block with the use of one bit, for example "0" or "1" (step 130A).

When the selected mode is not the most probable mode (branch "No" of step A), video encoder 20 may determine the index for the selected mode of internal predictions (stage 122A), for example, from the table of indices of modes internal predictions. In some examples, the indices of the modes can have global value, regardless of the context, while in other examples, the configuration data of video encoder 20 can display each context on one of the many tables of indices of modes internal predictions. Video encoder 20 may also determine the index mode for the most likely mode of internal predictions. Then, video encoder 20 may determine whether the index is less for the selected mode of internal predictions than the index mode for the most likely mode of internal predictions mentioned in the context for the block (step 134A).

When the index for the selected mode of internal predictions is less than the index of the most probable mode of internal predictions (branch "Yes" of step 134A), video encoder 20 may determine a codeword from table modified by indices of modes internal predictions context for this unit corresponding to the index for you�early mode internal predictions. In particular, video encoder 20, using a CABAC process, you can issue a codeword mapped to a modified index mode internal predictions equal to the index for the selected mode of internal predictions (phase A).

On the other hand, when the index for the selected mode of internal predictions more than the index mode for the most likely mode of internal predictions (branch "No" of step 134A), video encoder 20 may determine a codeword from table modified by indices of modes internal predictions context for this unit corresponding to the index one less than the index mode for the selected mode of internal predictions. In particular, video encoder 20 may, using the CABAC process, to give the codeword mapped to the modified index mode internal predictions, which is one less than the index mode for the selected mode of internal predictions (phase A).

As the alarm will most likely mode of internal predictions are transmitted separately in the table of modified indices of modes internal predictions, there is no need to display additional codeword index for the most probable mode of internal predictions. Thus, the modified index of the mode of internal predictions, p�wny index for the most probable mode of internal predictions, can be displayed on the index one higher than the index for the most probable mode of internal predictions. So, if you have To modes internal predictions that are available for this block, the table modified by indices of modes internal predictions it is necessary to provide code words to the K-1 modified indices of modes internal predictions that are different from single-bit code word indicating whether the most probable mode of the internal prediction to encode the current block.

Fig. 7B shows a block diagram illustrating an exemplary method of selecting a codeword that indicates the mode of internal predictions for the encoded block. Again, the procedure in Fig. 7B may be implemented in any suitable processor, although these treatments are discussed here in relation to given as an example of video encoder 20. Fig. 7B shows additional details for step 110 of Fig. 6, for cases where there are two most probable modes. The steps of the method shown in Fig. 7B, can be performed in a different order or in parallel, and can also be added additional stages, and some stages are omitted, provided that these procedures will remain in the framework of this invention.

Video encoder 20 may determine the context of Cody�hardware for the current block (step 120), as discussed above. Similarly, video encoder 20 may select the table of modified indices of modes internal predictions based on the encoding context for the block (step V). Configuration data of video encoder 20 may provide an indication of the modified table of indices of modes internal predictions, and in some examples, the index table of modes internal predictions for the context of this unit. In addition, video encoder 20 may determine a first most probable mode of internal predictions and the second most probable mode of internal predictions for their use for encoding the block based on the encoding context for the block (step V). Again, the configuration data of video encoder 20 may provide an indication of the most probable modes of internal predictions for the context of this unit.

As discussed above, video encoder 20 may select the mode of internal predictions for this unit to really use it to encode a given block (phase V). Video encoder 20 may determine whether the selected mode of internal predictions with one of the most likely modes of internal predictions for a given block, based on the context of this block (step V). If the selected mode is the most ver�probable mode (branch "Yes" of step V), then video encoder 20 based on said most probable modes may encode the indication of the internal mode prediction used to encode a given block, using initial sequence of bits, for example, two bits, which include the first bit to indicate that the existing regime is one of the most probable modes, and the second bit to indicate which of the most probable modes is the current mode (step 130).

When the selected mode is not one of the most probable modes (branch "No" of step V), video encoder 20 may determine the index for the selected mode of internal predictions (phase V), for example, from the table of indices of modes internal predictions. In some examples, the indices of the modes can have global value, regardless of the context, while in other examples, the configuration data of video encoder 20 can display each context on one of the many tables of indices of modes internal predictions. Video encoder 20 may also determine the index mode for the most probable modes internal predictions. Then, video encoder 20 may determine whether the index is less for the selected mode of internal predictions than the index for the first most probable mode of internal predictions and the second most�e probable mode of internal predictions mentioned in the context for the block (step V).

When the index for the selected mode of internal predictions less indexes for both the most probable modes internal predictions (branch "Yes" of step V), video encoder 20 may determine a codeword from table modified by indices of modes internal predictions context for this unit corresponding to the index for the selected mode of internal predictions. In particular, video encoder 20 may use the code word is mapped to a modified index mode internal predictions equal to the index for the selected mode of internal predictions (phase V).

On the other hand, when the index for the selected mode of the internal prediction of not less than the indices for both the most probable modes (branch "No" of step V), video encoder 20 may then determine greater than or equal to the index for the selected mode of the internal prediction index for the first most probable mode of internal predictions and the second most probable mode of internal predictions in the context for the block (step V). When the index for the selected mode of internal predictions greater than or equal to the indices for both the most probable modes internal predictions (branch "Yes" of step V), video encoder 20 may determine a codeword from table modified by indices R�presses of internal predictions for the context of this unit, corresponding to the index for the selected mode of internal predictions. In particular, video encoder 20 may determine a codeword from table modified by indices of modes internal predictions context for this unit corresponding to the index, which is two units less than the index mode for the selected mode of internal predictions. In particular, video encoder 20 may, using the CABAC process, to give the codeword mapped to the modified index mode internal predictions, which is two units less than the index mode for the selected mode of internal predictions (phase 140V).

When the index for the selected mode of the internal prediction of not less than the indices for both the most probable modes internal predictions (branch "No" of step V) and when the index for the selected mode of internal predictions are not equal to or greater than the indexes for both the most probable modes internal predictions (branch "No" of step V), then the index for the selected mode of internal predictions does not exceed or equal to the index mode for the first most probable mode of internal predictions, but less than the index mode for the second most probable mode of internal predictions (branch "No" of step V). When the index for the selected mode of the internal pre�precautionary statements greater than or equal to the index mode for the first most probable mode of internal predictions, but less than the index mode for the second most probable mode of the internal prediction, video encoder 20 may determine a codeword from table modified by indices of modes internal predictions context for this unit corresponding to the index for the selected mode of internal predictions. In particular, video encoder 20, using a CABAC process, you can issue a codeword mapped to a modified index mode internal predictions, one less than the index mode for the selected mode of internal predictions (phase V).

Because the first bit and the second bit is used to indicate the most probable modes as described above, in the table of modified indices of modes internal predictions, there is no need to see more code words on the index for the most probable modes internal predictions. So, if you have To modes internal predictions that are available for this block, the table modified by indices of modes internal predictions it is necessary to provide code words to the K-2 modified indices of modes internal predictions.

Fig. 8 presents a block diagram illustrating an exemplary method of decoding a block of video data with internal prediction. Shown in Fi�. 8 procedure in the General case can be performed by any processing unit or processor, regardless of the implementation (hardware, software, firmware, hardware or their combination), and for software and software / hardware implementation may provide appropriate hardware commands software or firmware. For illustrative purposes, the procedure of Fig. 8 is described with respect to video decoder 30 (figures 1 and 4), although it should be understood that to perform similar procedures, you can configure other devices. In addition, the steps shown in Fig. 8 can be performed in a different order or in parallel and can be added additional stages, and some stages are omitted, provided that it will not go beyond the procedures of this invention.

Video decoder 30 may determine a code word for coded block in the mode of internal predictions using a CABAC process (step 150). Generally it is a code word may represent the mode of internal predictions, used to encode the block, and by analogy the mode of internal predictions, which should be used for decoding the current block. Video decoder 30 may determine an encoding context for the block in the same way as e�performs on the video encoder 20 (step 152), for example, based on the block size and/or modes internal prediction of neighboring blocks, such as the above-located neighboring block and/or left neighboring block.

Video decoder 30 may also select a table modified by indices of modes internal predictions for the current block based on the specific encoding context for the block (step 154). In some examples, video decoder 30 may also determine the index table of modes internal predictions, based on the said context, while in other examples, the indices of modes internal predictions can be fixed and applied globally to all contexts. Video decoder 30 may also determine one or more most probable modes internal predictions for the context of this block (step 156).

Then video decoder 30 may determine an operating mode of internal predictions to use for decoding the block using the selected table of codewords to the most probable mode (modes) of the internal predictions and a received code word (step 158). For example, if the code word contains one bit or sequence of bits indicating whether the selected mode is the most probable mode, then video decoder 30 may use this one bitely a sequence of bits to determine do I need to use to decode this unit is the most probable mode (modes) of the internal predictions. If it is determined that the selected mode is not the most probable mode, then video decoder 30 may determine a modified index mode internal predictions based on the specified codeword using the table of modified indices of modes internal predictions, and based on modified index mode internal predictions video decoder 30 may determine the mode of internal predictions, used to encode this block.

Video decoder 30 may use them a certain mode of internal predictions for the decoding of this block (step 160). For example, video decoder 30 may calculate the block prediction for the current block, using the previously defined mode internal predictions. In addition, video decoder 30 may receive an encoded quantized transform coefficients, which may decode to perform inverse quantization and inverse transform to recover the residual block for the current block. Then video decoder 30 may combine the prediction block and the residual block to form a decoded block. Video decoder 30 may issue the decoded block (step 162), and this phase can�t involve sending the decoded video to a display device for display (e.g., using the frame buffer) and/or saving copies of the decoded block in the buffer of reference frames for use as reference unit for decoding subsequent blocks of video data, for example in certain time frames or slices.

Fig. 9A shows a block diagram illustrating an exemplary method for determining the internal mode prediction for the block using a received code word that specifies the mode of internal predictions for the encoded block. Again, the procedure in Fig. 9A can be implemented in any suitable processor, although these treatments are discussed here in relation to given as an example of video decoder 30. Fig. 9A shows additional details for the step 160 of Fig. 8. The steps of the method shown in Fig. 9A, can be performed in a different order or in parallel, and can also be added additional stages, and some stages are omitted, provided that these procedures will remain in the framework of this invention.

Video decoder 30 may determine a code word for the unit, encoded with internal prediction using a CABAC process (step 170╟). As discussed above, video decoder 30 may determine an encoding context for the block (step A), for example, based on the block size and/or modes of encoding with internal prediction neighborhood�x blocks.

Based on the specific context of video decoder 30 may select the table of modified indices of modes internal predictions for the current block (step A) and to determine the most likely mode of internal predictions for the current block (step ulitsa 176a). In some examples, video decoder 30 may also select a table of indices of modes internal predictions for the current block based on the specified context.

Video decoder 30 may determine whether the first bit in the code word that the selected mode of internal predictions is the most likely mode. If the selected mode internal predictions is the most likely mode (branch "Yes" of step A), then video decoder 30 may decode the block using the most probable mode of internal predictions (phase 180°). On the other hand, if the selected mode of the internal prediction is the mode of internal predictions that differ from the most probable mode (branch "No" of step A), then video decoder 30 may determine a modified index (MIPM) mode internal predictions based on the codeword from the selected table modified by indices of modes internal predictions (phase A).

Then video decoder 30 may determine, less if the modified index of internal PR�of wskazania, than the index mode for the most likely mode of internal predictions for the context of this block (step A). If the modified index mode internal predictions is less than the index mode for the most likely mode of internal predictions (branch "Yes" of step A), then video decoder 30 may decode the block using the mode of internal predictions, with the index equal to the modified index mode internal predictions (phase A). On the other hand, if the modified index mode internal predictions greater than or equal to the index mode for the most likely mode of internal predictions (branch "No" of step A), then video decoder 30 may decode the block using the mode of internal predictions, with the index equal to the modified index mode internal predictions, plus one (step A).

Fig. 9B shows a block diagram illustrating an exemplary method for determining the internal mode prediction for the block using a received code word that specifies the mode of internal predictions for the encoded block. Again, the procedure in Fig. 9B can be implemented in any suitable processor, although these treatments are discussed here in relation to given as an example of video decoder 30. Fig. 9B shows �additional details for step 160 of Fig. 8, when you use more than one most probable mode. The steps of the method shown in Fig. 9B, can be performed in a different order or in parallel, and can also be added additional stages, and some stages are omitted, provided that these procedures will remain in the framework of this invention.

Video decoder 30 may determine a code word for the unit, encoded with internal prediction using a CABAC process (phase 170V). As discussed above, video decoder 30 may determine an encoding context for the block (step V), for example, based on the block size and/or modes of encoding with internal prediction of neighboring blocks. Based on the specific context of video decoder 30 may select the table of modified indices of modes internal predictions for the current block (step V) and to determine the most probable modes of internal predictions for the current block (step V). In some examples, video decoder 30 may also select a table of indices of modes internal predictions for the current block based on the specified context.

Video decoder 30 may determine whether the first bit or sequence of bits in a codeword that the selected mode of internal predictions is one of the most probable modes. If the selected mode is f�one of the most probable modes (branch "Yes" of step V), then video decoder 30 may decode the block using the most probable modes of internal predictions (phase 180V). Video decoder 30 may, for example, take the second bit or sequence of bits to specify which of the most probable modes is the selected mode. On the other hand, if the first bit or sequence of bits indicate that the selected mode is not one of the most probable modes (branch "No" of step V), then video decoder 30 may determine a modified index mode internal predictions (MIPM) based on the codeword from the selected table modified by indices of modes internal predictions (phase V).

Then video decoder 30 may determine, less if the modified index mode internal predictions than the index mode for the first most probable mode of internal predictions for the context of this block (step V). As explained earlier, we assume that the index for the first most probable mode is less than the index mode for the second most probable mode. Thus, if the modified index mode internal predictions is less than the index mode for the first most probable mode of internal predictions, it is also less than the index mode for the second most probable mode of the internal repre�Azania. If the modified index mode internal predictions is less than the index mode for the first most probable mode of internal predictions (branch "Yes" of step V), then video decoder 30 may decode the block using the mode of internal predictions, with the index equal to the modified index mode internal predictions (phase 186B). If the modified index mode internal predictions not less than the index mode for the first most probable mode of internal predictions (branch "No" of step V), then video decoder 30 may determine, less if the modified index mode internal predictions plus one than the index mode for the second most probable mode of internal predictions for the context of this block (step V). If the modified index mode internal predictions, plus one less than the index mode for the second most probable mode of internal predictions for the context of this unit (the branch "Yes" of step V), then video decoder 30 may decode the block using the mode of internal predictions, with the index one higher than the modified index mode internal predictions (phase 190V).

If the modified index mode internal predictions not less than the index mode� for the second most probable mode of internal predictions (branch "No" of step V), then video decoder 30 may decode the block using the mode of internal predictions, with the index exceeding two modified index mode internal predictions (phase V).

Although the method according to figures 6, 7A, 7B, 8, 9A and 9B was shown in relation to the modified display of the indices of modes internal predictions on indices of the modes, it should be clear that the fundamental procedure of the above-mentioned methods can also be used to display the modified indexes of code words on the indices of the codewords and Vice versa in the same manner as described above with respect to are given as examples of tables 5 and 6.

Fig. 10 shows a conceptual diagram illustrating an exemplary set of configuration data 250, which include the relationship between the table 200 indices of modes internal predictions, the table 210 modified by indices of modes internal predictions and contextual data 220. Configuration data 250 in General can match configuration data 66 (Fig. 2) or configuration data 84 (Fig. 4). In addition, the configuration data describing the contexts, tables, and the most likely modes of internal predictions, should be the same as the encoder and decoder for a given bitstream.

In the example of Fig. 10 table 200 indices of modes internal predictions includes a set of modes 2021-202Kinternal predictions (202 internal modes of the predictions) and the corresponding indexes 20411-204K. Although for illustrative purposes and for purposes of explanation is shown here only one table 200 indices of modes internal predictions, it should be understood that the configuration data 250 may include multiple tables of indices of modes internal predictions that are similar to table 200 indices of modes internal predictions. Index table of modes internal predictions do not necessarily have to be the same size as the number of modes internal predictions that are available for one unit, may depend on the size of this block, as discussed above, for example, in connection with table 5. Indexes 204 may be referred to as indices of modes internal predictions or just the indices of the modes.

Table 210 modified by indices of modes internal predictions includes indexes 2121-212K-1. Thus, the table 210 modified by indices of modes internal predictions contains one entry is less than (K-1) than table 200 indices of modes internal predictions (To). As discussed above, the most likely mode of internal �of redskazanie you can specify using one-bit or sequence of bits, and not one of the codewords 214. Thus, modes internal predictions that differ from the most probable mode of internal predictions, can be represented by one of the codewords 214. Again, although the example in Fig. 10 shows only one table modified by indices of modes internal predictions, it should be understood that the configuration data 250 may include multiple tables modified by indices of modes internal predictions. In addition, the number of tables modified by indices of modes internal predictions need not necessarily be equal to the number of tables of indices of modes internal predictions. Some examples can exist between tables of modes internal predictions and tables modified by indices of modes internal predictions may be the ratio of many - to-one, so that the same index table of modes may correspond to one or more tables of indices of modes internal predictions.

In addition, configuration data 250 includes context data 220, which contain many shortcut entries similar to the context record A. In this example, the context entry A includes a pointer A the most likely mode of internal predictions, the decree�tel A index table of modes internal predictions, table A modified by indices of modes internal predictions and contextual data blocks 230A. Contextual data blocks 230A may include information that specifies the blocks to which to apply the shortcut entry A. For example, contextual data blocks 230A may include information describing one or more dimensions of the blocks to which to apply the shortcut entry A, and modes of internal predictions for neighboring blocks those blocks for which to apply a context entry A. As one example, contextual data blocks for one of the context of records 222 may indicate that the context entry corresponds to the blocks having 16×16 pixels, which is ideal above encode the neighboring block using the mode of internal predictions horizontally, and where the neighboring block to the left also code using the mode of internal predictions horizontally.

The pointer A the most likely mode of internal predictions in this example specifies the mode 202M. In some examples, the configuration data 250 can set a single bit code word used to represent that the block is encoded using the most probable mode of internal predictions. Thus, for blocks with contexts, the relevant Conte�STN data blocks 230A, the most likely mode of internal predictions is in this example, the mode 202minternal predictions. Since the mode 202Minternal predictions is the most likely mode of internal predictions for the contextual recording A, mode 202Minternal predictions, there is no need to display on one of the code words 214 table 210 modified by indices of modes internal predictions, and therefore, the table 210 modified by indices of modes internal predictions can be code words for one less than 202 internal modes of the predictions in the table 200 indices of modes internal predictions.

In addition, indices 204 modes, which in this example is less than the index 204Mthat is , the indexes 2041-204M-1displayed on the modified index 212 of modes internal predictions that have the same values that are contained in the table 210 modified by indices of modes internal predictions. For example, the index 2042mode is displayed in this example, the modified index 2122mode internal predictions due to the fact that the index 2042less than the index 204Mmode. Thus, when video encoder 20 encodes the block with the context defined contextual data blocks 230A used� mode 202 2internal prediction, video encoder 20 may report the internal mode prediction for the block using the codeword 2142. Similarly, when video decoder 30 receives the codeword 2142for the block with the context defined contextual data blocks 230A, video decoder 30 may determine that the mode of internal predictions, used to encode this block (and by analogy, the mode of internal predictions to be used for decoding the block), contains a mode 2022internal predictions. Similarly, the mode 202M-1internal predictions displayed on the codeword 214M-1due to the fact that the index 204M-1mode is displayed on the modified index 212M-1mode internal predictions.

On the other hand, indexes 204 modes exceeding the index 204Mmode, the indices 204M-1-204Kare displayed in this example, the modified index 212 of modes internal predictions, which is one less than the index of the mode. For example, the index 204K-1mode is displayed on the modified index 212K-2mode internal predictions in this example due to the fact that the index 204K-1mode more than the index 204Mmode. Thus, when the video encoder modirum block with the context, certain contextual data blocks 230A, using the mode 202K-1internal prediction, video encoder 20 may report the internal mode prediction for the block using the codeword 214K-2. Similarly, when video decoder 30 receives the codeword 214K-2for the block with the context defined contextual data blocks 230A, video decoder 30 may determine that the mode of internal predictions, used to encode this block (and by analogy, the mode of internal predictions to be used to decode this block contains the mode 202K-1internal predictions. Similarly, the mode 202M+1internal predictions displayed on the codeword 214Mdue to the fact that the index 204M+1mode is displayed on the modified index 212Mmode internal predictions.

In this way, provided that the mode of internal predictions displayed on the index j of the mode, video encoder 20 may determine a codeword for modes internal predictions that differ from the most probable modes, using the following step function f(j), where m represents the index of the most probable mode for the mode of internal predictions, and the code word (n) is the code word assigned to the modified index n �mode internal predictions:

Similarly, if you set the code word for the selected mode of internal predictions, which is not the most probable mode, video decoder 30 may determine the mode of internal predictions mapped to a code word using the following step function g(n) of the next stage, where m represents the index of the most probable mode for the mode of internal predictions, and mode(j) refers to the mode of encoding with internal prediction displayed on the index j of the mode:

If these concepts be extended to examples where there are two most probable mode, when the specified mode of encoding with internal prediction displayed on the index j of the mode, video encoder 20 may determine a codeword using the following step function f(j), where m1represents the index mode for the first most probable mode of internal predictions, m2represents the index mode for the second most probable mode of internal predictions, and the codeword(n) is the code word assigned to the modified index n of the mode of internal predictions:

Similarly, for a given codeword video decoder 30 may determine the mode EXT�nego predictions mapped to a code word using the following step function g(n), where m1represents the index mode for the first most probable mode of internal predictions, m2represents the index for the second most probable mode of internal predictions, and mode(j) refers to the mode of internal predictions, displayed on the index j of the mode:

In one or more examples of the above-described functions may be implemented by hardware, by software, hardware, or any combination of these. When implemented by software, these functions may be stored as one or more commands or code in a computer readable storage medium or transmitted through a transmission medium and to execute a hardware-implemented processing unit. Machine-readable medium may include machine-readable storage medium which corresponds to a carrier material, such as a means of data storage, or communication environment, including any medium that ensures the shipment of a computer program from one place to another, for example, according to the communication Protocol. Thus, computer readable media in General can match (1) material to read�newterm media for long-term storage; or (2) the communication medium, where the medium used to transfer a signal or carrier wave. The storage medium may be any available medium that can be accessed by one or more computers or one or more processors to retrieve the commands, code and/or data structures to implement the procedures described in this invention. The computer program product may include computer readable medium (media).

As an example, but not limitation, the specified computer readable media can include RAM, ROM), electrically erasable programmable ROM (EEPROM) ROM on the CD-ROM (CD-ROM) or other optical disk storage device, the storage device on magnetic disks or other magnetic storage devices, flash memory, or any other medium which can be used to mark the desired program code in the form of instructions or data structures and which have the possibility of access from the computer. Also, any connection is properly called machine-readable media. For example, if the instructions are transferred from a Web site, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital and�onotskoe line (DSL) or wireless technologies, such as infrared, radio and microwave communications, then in the definition of media includes infrared, radio and microwave communications. However, it should be understood that computer readable media and environment for data storage does not include connections, carrier waves, signals, or other temporary media, but rather refers to a tangible storage medium for long-term storage. Used here, the term disk (disk) and disc (disc) distributed on CD-ROM (CD), laser disc, optical disc, digital versatile disk (DVD), floppy disk and blu-ray disc, and the term "disk" is normally used for discs that reproduce data magnetically way, while the term "disc" refers to the discs reproduce data optically with lasers. The combination of the tools mentioned above should also be included in the scope of computer readable medium.

The instructions may be executed by one or more processors, such as one or more digital signal processors (GSP), General purpose microprocessors, application specialized integrated circuit (ASIC), logic arrays, field programmable (FPGA) or other equivalent integrated or discrete logic circuitry. Accordingly, as used herein, the term "processor" may refer to any of the above�mentioned structures or any other structure, the proper implementation of the procedures described here. In addition, in some aspects described herein functionality may be provided within dedicated hardware or software modules configured for encoding and decoding, or incorporated in the United codec. Also, these procedures can be fully implemented in one or more circuits or logic elements.

The procedure of this invention can be implemented in a variety of devices and apparatuses, including a wireless microphone tube, integrated circuit (IC), a set of integrated circuits (e.g., the chipset). Various components, modules or units described in this invention, to reveal functional aspects of devices configured to perform the disclosed procedures, and their implementation does not require the use of other hardware blocks. Rather, as has been said here, various blocks may be combined in a hardware codec unit or provided by a collection of interacting hardware units, including one or more of the above processors in combination with suitable software and/or hardware.

There have been described various examples. These and other examples are included in the scope of the following claims.

1. Method of decoding video data, the method contains:
determining a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the context for the current block;
the process of context-adaptive binary arithmetic coding (SAVAS) to determine a received codeword corresponding to the modified index mode internal predictions;
the index definition of the mode of internal predictions, with the index definition of the mode of internal predictions contains a comparison of the modified index mode internal predictions with index mode internal predictions for the first most probable mode of internal predictions and the index of the mode of internal predictions for the second most probable mode of internal predictions;
the choice, based on the mapping of indices of modes internal predictions for the internal modes of the predictions of the mode of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions to be used for decoding the current block, wherein the selected mode of internal predictions suitable�no specific index of the mode of internal predictions, each of the first most probable mode of internal predictions and the second most probable mode of the internal prediction matches the corresponding index of the mode of internal predictions, in this case, when the modified index mode internal predictions plus one is greater than or equal to the index of the mode of internal predictions for the first most probable mode of internal predictions and greater than or equal to the index of the mode of internal predictions for the second most probable mode of internal predictions, the choice of the mode of internal predictions contains a selection of the mode of internal predictions, with the index of the mode of internal predictions, which is two more than the modified index mode internal predictions; and
decoding the current block using the selected mode of internal predictions.

2. A method according to claim 1, further comprising:
setting the context for the current block at least partially based on the modes of internal predictions for at least one neighboring block on the left of the current block and the neighboring block above the current block.

3. A method according to claim 1, further comprising:
the third definition is the most likely mode of internal predictions for the current�on the block.

4. A method according to claim 1, wherein, when the modified index mode internal predictions is less than the index of the mode of internal predictions for the first most probable mode of internal predictions and less than the index of the mode of internal predictions for the second most probable mode of internal predictions, the choice of the mode of internal predictions contains a selection of the mode of internal predictions, with the index of the mode of internal predictions, equal to the modified index mode internal predictions.

5. A method according to claim 1, wherein, when the modified index mode internal predictions plus one is greater than or equal to the index of the mode of internal predictions for the first most probable mode of internal predictions and less than the index of the mode of internal predictions for the second most probable mode of internal predictions, the choice of the mode of internal predictions contains a selection of the mode of internal predictions, with the index of the mode of internal predictions, which is one greater than the modified index mode internal predictions.

6. A device for decoding video data, wherein the device comprises a video decoder configured for:
determine a first most probable mode of internal predictions and �of which the most likely mode of internal predictions for the current block of video data based on the context for the current block;
of a process, a context-adaptive binary arithmetic coding (SAVAS) to determine a received codeword corresponding to the modified index mode internal predictions;
determine the index of the mode of internal predictions by comparing the modified index mode internal predictions with index mode internal predictions for the first most probable mode of internal predictions and the index of the mode of internal predictions for the second most probable mode of internal predictions;
selecting, based on the mapping of indices of modes internal predictions for the internal modes of the predictions of the mode of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions to be used for decoding the current block, wherein the selected mode of the internal prediction matches the modified index mode internal predictions, wherein each of the first most probable mode of internal predictions and the second most probable mode of the internal prediction matches the corresponding index of the mode of internal predictions, in this case, when the modified index mode� internal predictions plus one is greater than or equal to the index of the mode of internal predictions for the first most probable mode of internal predictions and greater than or equal to the index mode of the internal predictions for the second most probable mode of the internal prediction, video decoder configured to select the mode of internal predictions, with the index of the mode of internal predictions, which is two more than the modified index mode internal predictions; and
decoding the current block using the selected mode of internal predictions.

7. Apparatus according to claim 6, wherein the video decoder further configured to determine the context for the current block at least partially based on the modes of internal predictions for at least one neighboring block on the left of the current block and the neighboring block above the current block.

8. Apparatus according to claim 6, wherein the video decoder further configured to determine the context for the current block at least partially based on the size of the current block.

9. The device according to claim 6, wherein, when the modified index mode internal predictions less than the index of the mode of internal predictions for the first most probable mode of internal predictions and less than the index of the mode of internal predictions for the second most probable mode of the internal prediction, video decoder configured to select the mode of internal predictions, with the index �mode internal predictions, equal to the modified index mode internal predictions.

10. The device according to claim 6, wherein, when the modified index mode internal predictions plus one is greater than or equal to the index of the mode of internal predictions for the first most probable mode of internal predictions and less than the index of the mode of internal predictions for the second most probable mode of the internal prediction, video decoder configured with a choice of modes internal predictions, with the index of the mode of internal predictions, which is one greater than the modified index mode internal predictions.

11. Apparatus according to claim 6, wherein the device comprises at least one of:
the integrated circuit;
microprocessor; and
wireless communications device that includes a video decoder.

12. A method of encoding video data, the method contains:
determining a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the encoding context for the current block;
encoding the current block using the mode of internal predictions, other than the first most probable mode of internal predictions and the second most �reatogo mode internal predictions;
determining, based on the mapping of indices of modes internal predictions for modes internal predictions, index, mode of internal predictions, which corresponds to the mode of internal predictions;
the definition of the modified index mode internal predictions, with the definition of the modified index mode internal predictions contains a comparison of certain index of the mode of internal predictions with index mode internal predictions for the first most probable mode of internal predictions and the index of the mode of internal predictions for the second most probable mode of internal predictions, wherein each of the first most probable mode of internal predictions and the second most probable mode of the internal prediction matches the corresponding index of the mode of internal predictions, and when the index mode internal predictions greater than the index of the mode of internal predictions for the first most probable mode of internal predictions and more index of the mode of internal predictions for the second most probable mode of internal predictions, the definition of the modified index mode internal predictions contains the definition of one of the modified index�in modes internal predictions, which is two less than the index of the mode of internal predictions;
encoding code word corresponding to the modified index mode internal predictions by means of a process, a context-adaptive binary arithmetic coding (SAVAS).

13. A method according to claim 12, further comprising:
the definition of the encoding context for the current block at least partially based modes for at least one neighboring block on the left of the current block and the neighboring block above the current block.

14. A method according to claim 12, further comprising:
the third definition is the most likely mode of internal predictions for the current block.

15. A method according to claim 12, wherein, when the index mode internal predictions less than the index of the mode of internal predictions for the first most probable mode of internal predictions and less than the index of the mode of internal predictions for the second most probable mode of internal predictions, the definition of the modified index mode internal predictions contains the definition of one of the modified indices of modes internal predictions, which equals the index of the mode of internal predictions.

16. A method according to claim 12, wherein, when the index mode internal pre�legend greater than or equal to the index of the mode of internal predictions for the first most probable mode of internal predictions and less than the index of the mode of internal predictions for the second most probable mode internal predictions, determining one of the modified indices of modes internal predictions contains the definition of the modified index mode internal predictions, which is one less than the index of the mode of internal predictions.

17. A device for encoding video data, wherein the device includes a video encoder configured for:
determine a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the encoding context for the current block;
encoding the current block using the mode of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions;
determine the index of the mode of internal predictions, which corresponds to the mode of internal predictions;
determining, based on the mapping of indices of modes internal predictions for the internal modes of the predictions of the modified index mode internal predictions by comparing certain index of the mode of internal predictions with index mode internal predictions for the first most probable mode of internal predictions and�Dex mode internal predictions for the second most probable mode of internal predictions, each of the first most probable mode of internal predictions and the second most probable mode of the internal prediction matches the corresponding index of the mode of internal predictions, and when the index mode internal predictions greater than the index of the mode of internal predictions for the first most probable mode of internal predictions and more index of the mode of internal predictions for the second most probable mode of internal predictions, and wherein the video encoder determines a modified index mode internal predictions by determining one of the modified indices of modes internal predictions, which is two less than the internal mode prediction; and
encoding code word corresponding to the modified index mode internal predictions by means of a process, a context-adaptive binary arithmetic coding (SAVAS).

18. The device according to claim 17, wherein the encoder is further configured to determine the encoding context for the current block at least partially based modes for at least one neighboring block on the left of the current block and the neighboring block above the current block.

19. The device according to claim 1, wherein the encoder is further configured to determine the third most probable mode of the internal prediction of the current block.

20. The device according to claim 17, wherein, when the index mode internal predictions less than the index of the mode of internal predictions for the first most probable mode of internal predictions and less than the index of the mode of internal predictions for the second most probable mode of the internal prediction, the video encoder further configured to determine the modified index mode internal predictions by defining a modified mode of internal predictions, which equals the index of the mode of internal predictions.

21. The device according to claim 17, wherein, when the index mode internal predictions greater than or equal to the index of the mode of internal predictions for the first most probable mode of internal predictions and less than the index of the mode of internal predictions for the second most probable mode of the internal prediction, the video encoder further configured to determine the modified index mode internal predictions by determining the modified index mode internal predictions, which is one less than the index of the internal pre�tales.

22. The device according to claim 17, wherein the device comprises at least one of:
the integrated circuit;
microprocessor; and
wireless communication devices that includes the video encoder.

23. A device for decoding video data, wherein the device contains:
means for determining a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the context for the current block;
means for performing the process of context-adaptive binary arithmetic coding (SAVAS) to determine a received codeword corresponding to the modified index mode internal predictions;
means for determining the index of the internal mode prediction, wherein the means for determining the index of the mode of internal predictions includes means for comparing the modified index mode internal predictions with index mode internal predictions for the first most probable mode of internal predictions and the index of the mode of internal predictions for the second most probable mode of internal predictions;
means for selecting, on the basis of mapping of the indices of modes internal predictions for the internal modes predicted�I, mode internal predictions other than the first most probable mode of internal predictions and the second most probable mode of internal predictions to be used for decoding the current block, wherein the selected mode of internal predictions corresponds to the index of the mode of internal predictions, wherein each of the first most probable mode of internal predictions and the second most probable mode of the internal prediction matches the corresponding index of the mode of internal predictions, in this case, when the modified index mode internal predictions plus one is greater than or equal to the index of the mode of internal predictions for the first most probable mode of internal predictions and greater than or equal to the index of the mode of internal predictions for the second most probable mode of internal predictions, and wherein the means for selecting the mode of internal predictions includes means for selecting the mode of internal predictions, with the index of the mode of internal predictions, which is two more than the modified index mode internal predictions; and
means for decoding the current block using the selected mode of internal predictions.

24. The device according to claim 23, d�Uo contains:
means for determining the context for the current block at least partially based on the modes of internal predictions for at least one neighboring block on the left of the current block and the neighboring block above the current block.

25. The device according to claim 23, further comprising:
means for determining the third most probable mode of the internal prediction of the current block.

26. A device for encoding video data, wherein the device contains:
means for determining a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the encoding context for the current block;
means for encoding the current block using the mode of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions;
means for determining, based on the mapping of indices of modes internal predictions for modes internal predictions, index, mode of internal predictions, which corresponds to the mode of internal predictions; and
means for determining a modified index mode internal predictions by CPA�using a certain index of the mode of internal predictions with index mode internal predictions for the first most probable mode of internal predictions and the index of the mode of internal predictions for the second most probable mode of internal predictions, wherein each of the first most probable mode of internal predictions and the second most probable mode of the internal prediction matches the corresponding index of the mode of internal predictions, and when the index mode internal predictions greater than the index of the mode of internal predictions for the first most probable mode of internal predictions and more index of the mode of internal predictions for the second most probable mode of internal predictions, the means for determining the modified index mode internal predictions includes means for determining one of the modified indices of modes internal predictions, which is two less than the index of the mode of internal predictions; and
means for encoding the code word corresponding to the modified index mode internal predictions, by means of a process, a context-adaptive binary arithmetic coding (SAVAS).

27. The device according to claim 26, further comprising:
a means for determining the encoding context for the current block at least partially based modes for at least one neighboring block on the left of the current block and�neighbouring block above the current block.

28. The device according to claim 26, further comprising:
means for determining the third most probable mode of the internal prediction of the current block.

29. Machine-readable media having saved instructions that when performed by prompting one or more processors:
to determine a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the context for the current block;
to perform the process of context-adaptive binary arithmetic coding (SAVAS) to determine a received codeword corresponding to the modified index mode internal predictions;
to determine the index of the mode of internal predictions by comparing the modified index mode internal predictions with index mode internal predictions for the first most probable mode of internal predictions and the index of the mode of internal predictions for the second most probable mode of internal predictions;
to choose, on the basis of mapping of the indices of modes internal predictions for the internal modes of prediction, the mode of internal predictions, other than the first most probable mode of internal predictions and the WTO�wow the most likely mode of internal predictions, to use for decoding the current block, wherein the selected mode of internal predictions corresponds to the index of the mode of internal predictions, wherein each of the first most probable mode of internal predictions and the second most probable mode of the internal prediction matches the corresponding index of the mode of internal predictions, in this case, when the modified index mode internal predictions plus one is greater than or equal to the index of the mode of internal predictions for the first most probable mode of internal predictions and greater than or equal to the index of the mode of internal predictions for the second most probable mode of internal predictions, and wherein the one or more processors choose the mode of internal predictions by selecting the mode of internal predictions, with the index of the mode of internal predictions, which is two more than the modified index mode internal predictions; and
to decode the current block using the selected mode of internal predictions.

30. Machine-readable media having saved instructions that when performed by prompting one or more processors:
to determine a first most probable mode of internal predictions � second most probable mode of internal predictions for the current block of video data based on the encoding context for the current block;
to encode the current block using the mode of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions;
to determine, on the basis of mapping of the indices of modes internal predictions for modes internal predictions, the index of the mode of internal predictions, which corresponds to the mode of internal predictions;
to determine the modified index mode internal predictions by comparing certain index of the mode of internal predictions with index mode internal predictions for the first most probable mode of internal predictions and the index of the mode of internal predictions for the second most probable mode of internal predictions, wherein each of the first most probable mode of internal predictions and the second most probable mode of the internal prediction matches the corresponding index of the mode of internal predictions, and when the index mode internal predictions greater than the index of the mode of internal predictions for the first most probable mode of internal predictions and more index of the mode of internal predictions for the second most probable mode internal forecast�Oia, determining one or more processors of the modified index mode internal predictions contains the definition of one of the modified indices of modes internal predictions, which is two less than the index of the mode of internal predictions;
to encode a code word corresponding to the modified index mode internal predictions by means of a process, a context-adaptive binary arithmetic coding (SAVAS).

31. Method of decoding video data, the method contains:
determining a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the context for the current block;
the process of context-adaptive binary arithmetic coding (SAVAS) to determine a received codeword corresponding to the modified index mode internal predictions;
the index definition of the mode of internal predictions, with the index definition of the mode of internal predictions contains a comparison of the modified index mode internal predictions with index mode internal predictions for the first most probable mode of internal predictions and the index mode vnutrishnioregionalna for the second most probable mode of internal predictions;
the choice, based on the mapping of indices of modes internal predictions for the internal modes of the predictions of the mode of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions to be used for decoding the current block, wherein the selected mode of internal predictions corresponds to the index of the mode of internal predictions, wherein each of the first most probable mode of internal predictions and the second most probable mode of the internal prediction matches the corresponding index of the mode of internal predictions, in this case, when the modified index mode internal predictions less than the index of the mode of internal predictions for the first most probable mode of internal predictions and less than the index of the mode of internal predictions for the second most probable mode of internal predictions, the choice of the mode of internal predictions contains a selection of the mode of internal predictions, with the index of the mode of internal predictions, equal to the modified index mode internal predictions; and
decoding the current block using the selected mode of internal predictions.

32. A method according to claim 31,in which, when the modified index mode internal predictions plus one is greater than or equal to the index of the mode of internal predictions for the first most probable mode of internal predictions and less than the index of the mode of internal predictions for the second most probable mode of internal predictions, the choice of the mode of internal predictions contains a selection of the mode of internal predictions, with the index of the mode of internal predictions, which is one greater than the modified index mode internal predictions.

33. A device for decoding video data, wherein the device comprises a video decoder configured for:
determine a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the context for the current block;
of a process, a context-adaptive binary arithmetic coding (SAVAS) to determine a received codeword corresponding to the modified index mode internal predictions;
determine the index of the mode of internal predictions by comparing the modified index mode internal predictions with index mode internal predictions for the most likely first �mode internal predictions and the index of the mode of internal predictions for the second most probable mode of internal predictions;
selecting, based on the mapping of indices of modes internal predictions for the internal modes of the predictions of the mode of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions to be used for decoding the current block, wherein the selected mode of the internal prediction matches the modified index mode internal predictions, wherein each of the first most probable mode of internal predictions and the second most probable mode of the internal prediction matches the corresponding index of the mode of internal predictions, in this case, when the modified index mode internal predictions less than the index of the mode of internal predictions for the first most probable mode of internal predictions and less than the index of the mode of internal predictions for the second most probable mode of the internal prediction, video decoder configured to select the mode of internal predictions, with the index of the mode of internal predictions, equal to the modified index mode internal predictions; and
decoding the current block using the selected mode of internal predictions.

34. The device according to claim 33, in to�Thor when the modified index mode internal predictions plus one is greater than or equal to the index of the mode of internal predictions for the first most probable mode of internal predictions and less than the index of the mode of internal predictions for the second most probable mode of internal predictions, to select the mode of internal predictions, the decoder configured to select the mode of internal predictions, with the index of the mode of internal predictions, which is one greater than the modified index mode internal predictions.

35. Method of decoding video data, the method contains:
determining a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the context for the current block;
the process of context-adaptive binary arithmetic coding (SAVAS) to determine a received codeword corresponding to the modified index mode internal predictions;
the index definition of the mode of internal predictions, with the index definition of the mode of internal predictions contains a comparison of the modified index mode internal predictions with the index of the predicted internal�I for the first most probable mode of internal predictions and the index of the mode of internal predictions for the second most probable mode of internal predictions;
the choice, based on the mapping of indices of modes internal predictions for the internal modes of the predictions of the mode of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions to be used for decoding the current block, wherein the selected mode of internal predictions corresponds to the index of the mode of internal predictions, wherein each of the first most probable mode of internal predictions and the second most probable mode of the internal prediction matches the corresponding index of the mode of internal predictions, in this case, when the modified index mode internal predictions plus one is greater than or equal to the index of the mode of internal predictions for the first most probable mode of internal predictions and less than the index of the mode of internal predictions for the second most probable mode of internal predictions, the choice of the mode of internal predictions contains a selection of the mode of internal predictions, with the index of the mode of internal predictions, which is one greater than the modified index mode internal predictions; and
decoding the current block using the selected mode EXT�internal predictions.

36. A device for decoding video data, wherein the device comprises a video decoder configured for:
determine a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the context for the current block;
of a process, a context-adaptive binary arithmetic coding (SAVAS) to determine a received codeword corresponding to the modified index mode internal predictions;
determine the index of the mode of internal predictions, with the index definition of the mode of internal predictions contains a comparison of the modified index mode internal predictions with index mode internal predictions for the first most probable mode of internal predictions and the index of the mode of internal predictions for the second most probable mode of internal predictions;
selecting, based on the mapping of indices of modes internal predictions for the internal modes of the predictions of the mode of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions to be used for decoding the current block, when e�'om the selected mode of internal predictions corresponds to the index of the mode of internal predictions, each of the first most probable mode of internal predictions and the second most probable mode of the internal prediction matches the corresponding index of the mode of internal predictions, in this case, when the modified index mode internal predictions plus one is greater than or equal to the index of the mode of internal predictions for the first most probable mode of internal predictions and less than the index of the mode of internal predictions for the second most probable mode of the internal prediction, video decoder configured to select the mode of internal predictions, with the index of the mode of internal predictions, which is one greater than the modified index mode internal predictions; and
decoding the current block using the selected mode of internal predictions.

37. A method of encoding video data, the method contains:
determining a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the encoding context for the current block;
encoding the current block using the mode of internal predictions, other than the first most probable mode of internal predictions and the WTO�wow the most likely mode of internal predictions;
determining, based on the mapping of indices of modes internal predictions for modes internal predictions, index, mode of internal predictions, which corresponds to the mode of internal predictions;
the definition of the modified index mode internal predictions, with the definition of the modified index mode internal predictions contains a comparison of certain index of the mode of internal predictions with index mode internal predictions for the first most probable mode of internal predictions and the index of the mode of internal predictions for the second most probable mode of internal predictions, wherein each of the first most probable mode of internal predictions and the second most probable mode of the internal prediction matches the corresponding index of the mode of internal predictions, and when the index mode internal predictions less than the index of the mode of internal predictions for the first most probable mode of internal predictions and less than the index of the mode of internal predictions for the second most probable mode of internal predictions, the definition of the modified index mode internal predictions contains the definition of one of the modified index�in modes internal predictions, which is equal to the index mode of the internal predictions;
encoding code word corresponding to the modified index mode internal predictions by means of a process, a context-adaptive binary arithmetic coding (SAVAS).

38. A device for encoding video data, wherein the device includes a video encoder configured for:
determine a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the encoding context for the current block;
encoding the current block using the mode of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions;
determining, based on the mapping of indices of modes internal predictions for modes internal predictions, index, mode of internal predictions, which corresponds to the mode of internal predictions;
the definition of the modified index mode internal predictions by comparing certain index of the mode of internal predictions with index mode internal predictions for the first most probable mode of the internal predicted�and I the index of the mode of internal predictions for the second most probable mode of internal predictions, each of the first most probable mode of internal predictions and the second most probable mode of the internal prediction matches the corresponding index of the mode of internal predictions, and when the index mode internal predictions less than the index of the mode of internal predictions for the first most probable mode of internal predictions and less than the index of the mode of internal predictions for the second most probable mode of internal predictions, to determine the modified index mode internal predictions, the encoder further configured to determine one of the modified indices of modes internal predictions, which equals the index of the internal mode prediction; and encoding a codeword, corresponding to the modified index mode internal predictions by means of a process, a context-adaptive binary arithmetic coding (SAVAS).

39. A method of encoding video data, the method contains:
determining a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the encoding context for the current block;
encoding the current block using�ing to the mode of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions;
determining, based on the mapping of indices of modes internal predictions for modes internal predictions, index, mode of internal predictions, which corresponds to the mode of internal predictions;
the definition of the modified index mode internal predictions, with the definition of the modified index mode internal predictions contains a comparison of certain index of the mode of internal predictions with index mode internal predictions for the first most probable mode of internal predictions and the index of the mode of internal predictions for the second most probable mode of internal predictions, wherein each of the first most probable mode of internal predictions and the second most probable mode of the internal prediction matches the corresponding index of the mode of internal predictions, and when the index mode internal predictions greater than or equal to the index of the mode of internal predictions for the first most probable mode of internal predictions and less than the index of the mode of internal predictions for the second most probable mode inside�his predictions the definition of one of the modified indices of modes internal predictions contains the definition of the modified index mode internal predictions, which is one less than the index of the mode of internal predictions; and
encoding code word corresponding to the modified index mode internal predictions by means of a process, a context-adaptive binary arithmetic coding (SAVAS).

40. A device for encoding video data, wherein the device includes a video encoder configured for:
determine a first most probable mode of internal predictions and the second most probable mode of internal predictions for the current block of video data based on the encoding context for the current block;
encoding the current block using the mode of internal predictions, other than the first most probable mode of internal predictions and the second most probable mode of internal predictions;
determining, based on the mapping of indices of modes internal predictions for modes internal predictions, index, mode of internal predictions, which corresponds to the mode of internal predictions;
the definition of the modified index mode internal predictions, FL�m the definition of the modified index mode internal predictions contains a comparison of certain index of the mode of internal predictions with index mode internal predictions for the most likely first mode internal predictions and the index of the mode of internal predictions for the second most probable mode of internal predictions, wherein each of the first most probable mode of internal predictions and the second most probable mode of the internal prediction matches the corresponding index of the mode of internal predictions, and when the index mode internal predictions greater than or equal to the index of the mode of internal predictions for the first most probable mode of internal predictions and less than the index of the mode of internal predictions for the second most probable mode of internal predictions, to determine one of the modified indices of modes internal predictions, the video encoder further configured to determine the modified index mode internal predictions, which is one less than the index of the mode of internal predictions; and
encoding code word corresponding to the modified index mode internal predictions by means of a process, a context-adaptive binary arithmetic coding (SAVAS).



 

Same patents:

FIELD: physics, computer engineering.

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

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

14 cl, 6 dwg

FIELD: physics, computer engineering.

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

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

9 cl, 2 dwg

FIELD: physics, video.

SUBSTANCE: invention relates to video encoding/decoding techniques which employ a loop filter which reduces blocking noise. The technical result is achieved due to that a video encoding/decoding device, which encodes or decodes video using a loop filter, includes a deviation calculating unit which calculates deviation between a target noise cancellation pixel and a neighbouring pixel of the target pixel using a decoded image. A pattern form establishing unit limits the pattern form such that the less the deviation from the maximum deviation in the decoded image, the smaller the pattern form. When removing target pixel noise, using a weight coefficient in accordance with the degree of similarity between the pattern of the target pixel and the pattern of each search point in the form of a search and a weighted sum of pixel values at search points, the loop filter compares patterns using the limited pattern form and removes the target pixel noise.

EFFECT: reduced computational complexity of the noise cancellation filter, thereby preventing deterioration of encoding efficiency.

5 cl, 19 dwg

FIELD: physics, computer engineering.

SUBSTANCE: invention relates to technology of automatic selection of extra data, for example, ad, guide data, extra data, data on operating performances. Thus, processing, storage and/or transmission resources can be saved. This device for automatic selection of extra data to be included in content comprises classifier connected with user profile and selection means connected with extra data base. Extra data of definite category is placed in appropriate or contrasting context depending on used interest in thus goods category. Profiles of user are automatically classified as profiles with either pronounces or weak interest in this category.

EFFECT: adapted selection of extra data to be included in the content for twofold decrease in total volume of extra data.

11 cl, 2 dwg

FIELD: physics, computer engineering.

SUBSTANCE: invention relates to means of encoding and decoding images with prediction. The method includes receiving accessibility information of reference units of a current image and determining if the reference units are accessible for intra prediction according to the accessibility information. In the method, the accessibility information includes an indication of whether the reference unit is located within the image boundaries where the current image unit is located; whether the reference unit is located in the same layer as the current image unit; and whether the reference unit has already been encoded or decoded. In the method, reference units of the current image unit include a left side unit, an upper side unit and a upper left unit of the current image unit.

EFFECT: high efficiency of predicting an image unit.

16 cl, 8 dwg

FIELD: physics, video.

SUBSTANCE: invention relates to techniques for encoding and decoding video images. Disclosed is a method of encoding image information containing motion data by selecting a motion vector from a group of at least three possible motion vectors for at least one current unit of a current image to be encoded. The method includes a step of determining an optimum selection subgroup comprising part of the possible motion vectors. Further, the method includes selecting a motion vector from the vectors of the optimum selection subgroup and inputting into said information data on allocation of a motion vector selected from the vectors of the optimum selection subgroup.

EFFECT: high efficiency of encoding and decoding video images by determining an optimum selection subgroup containing part of possible motion vectors.

12 cl, 8 dwg

FIELD: physics, computer engineering.

SUBSTANCE: invention relates to computations, particularly, to display control systems. This device comprises imaging section capture of dynamic image in present range relative to image display direction. Besides, it comprises image analysis section for analysis of dynamic image caught by imaging section and calculation of the position of a particular user from multiple users. Note here that it comprises system optimisation section to computer system control data for system optimisation proceeding from said position of a particular user computed by image analysis section.

EFFECT: optimised state of imaging device for particular user.

7 cl, 23 dwg

FIELD: physics.

SUBSTANCE: proposed process comprises the steps that follow. construction of blocs in space relative to current block of forecasts. Note here that current forecast block is arranged inside current unit of coding. Accessible adjacent blocs are defined relative to current block in compliance with the type of coding current unit separation. Note here that accessible adjacent blocs are located outside the current coding unit. Motion vector predictors are obtained from accessible adjacent blocs in preset sequence in compliance with predictors of accessible adjacent blocs. Said obtained predictors are added to the list of motion vectors.

EFFECT: higher efficiency of compression in coding.

16 cl, 10 dwg

FIELD: physics.

SUBSTANCE: method for motion compensation in digital dynamic video, wherein during motion compensation in frames of a video stream using a video codec, a combination is used of a search algorithm for motion compensation of frame fragments with approximation of movement of frame fragmental projections approximated by physical laws of motion of real captured mobile objects corresponding to said projections. Owing to fragmental approximation of motion in the image using a timer, real-time approximation of fractional values of velocities and positions of predictions of part of the mobile fragments of the frame is performed, and further refinement of the positions of said found preliminary approximation predictions is performed using the motion compensation search algorithm, but with smaller sizes of the prediction search regions and shift of the centres of said regions by the found approximation shift vectors.

EFFECT: higher average throughput frame capabilities of video codecs operating in real time, with insignificant decrease in average code volumes and quality of the decoded images.

2 cl, 17 dwg, 3 tbl

FIELD: physics, video.

SUBSTANCE: invention relates to video data processing means. The method includes generating an entry point table; defining entry points in the video data stream with a certain a distance in time from each other to facilitate trick play; storing the defined entry points in the entry point table by storing addresses thereof. In the method, the video data stream comprises a plurality of sub-streams representing one stream of 3D video data and comprises a 2D sub-stream which comprises an independently encoded 2D version of the 3D video data and an auxiliary sub-stream comprising a dependently encoded part of the 3D video data. In the method, defining the entry points comprises associating the entry point table with 3D video data by defining main entry points in the 2D sub-stream and auxiliary entry points in the auxiliary sub-stream.

EFFECT: high quality of display during 3D trick play.

24 cl, 11 dwg

FIELD: information technology.

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

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

5 cl, 1 dwg

FIELD: information technology.

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

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

5 cl, 1 dwg

FIELD: information technologies.

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

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

17 cl, 6 dwg

FIELD: information technology.

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

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

6 cl, 11 dwg

FIELD: information technology.

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

EFFECT: enabling flexible sharing of multimedia content between subjects.

17 cl, 9 dwg

FIELD: information technologies.

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

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

21 cl, 12 dwg

FIELD: information technology.

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

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

17 cl, 42 dwg

FIELD: radio engineering, communication.

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

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

13 cl, 1 dwg

FIELD: radio engineering, communication.

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

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

13 cl, 1 dwg

FIELD: information technology.

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

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

21 cl, 13 dwg

Up!