[go: up one dir, main page]

RU2336661C2 - Method and device of adaptive choice of context model for entropy encoding - Google Patents

Method and device of adaptive choice of context model for entropy encoding Download PDF

Info

Publication number
RU2336661C2
RU2336661C2 RU2006113092/09A RU2006113092A RU2336661C2 RU 2336661 C2 RU2336661 C2 RU 2336661C2 RU 2006113092/09 A RU2006113092/09 A RU 2006113092/09A RU 2006113092 A RU2006113092 A RU 2006113092A RU 2336661 C2 RU2336661 C2 RU 2336661C2
Authority
RU
Russia
Prior art keywords
prediction flag
residual
residual prediction
value
cbp
Prior art date
Application number
RU2006113092/09A
Other languages
Russian (ru)
Other versions
RU2006113092A (en
Inventor
Бае-кеун ЛИ (KR)
Бае-Кеун ЛИ
Кио-хиук ЛИ (KR)
Кио-Хиук ЛИ
Санг-чанг ЧА (KR)
Санг-чанг ЧА
Воо-Дзин ХАН (KR)
Воо-Дзин ХАН
Original Assignee
Самсунг Электроникс Ко., Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020050059371A external-priority patent/KR100763181B1/en
Priority claimed from KR1020050087761A external-priority patent/KR100746007B1/en
Application filed by Самсунг Электроникс Ко., Лтд. filed Critical Самсунг Электроникс Ко., Лтд.
Publication of RU2006113092A publication Critical patent/RU2006113092A/en
Application granted granted Critical
Publication of RU2336661C2 publication Critical patent/RU2336661C2/en

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

FIELD: physics, video technics.
SUBSTANCE: invention concerns video signal encoding/decoding, particularly adaptive choice of context model for entropy encoding, and video decoder. The invention claims a method of residual prediction flag encoding, indicating prediction of residual data for enhanced layer unit of multilayer video signal, based on residual data from bottom layer unit correlating to residual data from enhanced layer unit. The method involves stages of residual data energy calculation for bottom layer unit, determination of residual prediction flag encoding method according to the energy, and residual prediction flag encoding by the determined encoding method.
EFFECT: method and device for efficient flag compression.
66 cl, 17 dwg

Description

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕFIELD OF THE INVENTION

Способы и устройства, совместимые с настоящим изобретением, относятся к кодированию и декодированию видеосигнала и, более конкретно, к адаптивному выбору контекстной модели для кодирования по энтропии и видеодекодера.Methods and devices compatible with the present invention relate to encoding and decoding a video signal and, more specifically, to adaptive selection of a context model for entropy encoding and a video decoder.

УРОВЕНЬ ТЕХНИКИBACKGROUND

С развитием технологии информационной связи, в том числе Интернета, возрастают мультимедийные услуги, содержащие различные типы информации, такие как текст, видео, аудио и т.п. Мультимедийные данные требуют большой емкости носителя хранения и широкой полосы пропускания для передачи, поскольку объем мультимедийных данных обычно большой. Следовательно, способ кодирования со сжатием является обязательным для передачи мультимедийных данных, в том числе текста, видео и аудио.With the development of information communication technology, including the Internet, multimedia services are growing, containing various types of information, such as text, video, audio, etc. Multimedia data requires a large storage medium capacity and a wide bandwidth for transmission, since the volume of multimedia data is usually large. Therefore, a compression encoding method is mandatory for transmitting multimedia data, including text, video and audio.

Базовый принцип сжатия данных заключается в устранении избыточности данных. Данные могут быть сжаты посредством устранения пространственной избыточности, в которой один цвет или объект повторяется в изображении, временной избыточности, в которой предусмотрено небольшое изменение между соседними кадрами в движущемся изображении, или один и тот же звук повторяется в аудио либо мысленной визуальной избыточности, которая учитывает человеческое зрение и его ограниченное восприятие высокой частоты. При общем кодировании видео временная избыточность устраняется посредством компенсирования движения на основе оценки и компенсирования движения, а временная избыточность удаляется посредством кодирования с преобразованием.The basic principle of data compression is to eliminate data redundancy. Data can be compressed by eliminating spatial redundancy, in which one color or object is repeated in the image, temporal redundancy, which provides for a slight change between adjacent frames in a moving image, or the same sound is repeated in audio or mental visual redundancy, which takes into account human vision and its limited perception of high frequency. In general video coding, temporal redundancy is eliminated by motion compensation based on motion estimation and compensation, and temporal redundancy is removed by transform coding.

Чтобы передавать мультимедиа, сгенерированное после устранения избыточности данных, необходима среда передачи. Производительность передачи различна в зависимости от среды передачи. Используемая в настоящее время среда передачи имеет различные скорости передачи. Например, сверхвысокоскоростная сеть связи может передавать данные в несколько десятков мегабит в секунду, тогда как сеть мобильной связи имеет скорость передачи в 384 килобит в секунду. Следовательно, для того чтобы поддерживать среду передачи, имеющую различные скорости, или чтобы передавать мультимедиа на скорости передачи данных, подходящей для среды передачи, способы кодирования данных, имеющие масштабирование, такие как коротковолновое кодирование видео и полосное кодирование видео, могут быть подходящими для мультимедийного окружения.In order to transmit multimedia generated after eliminating data redundancy, a transmission medium is required. Transmission performance varies depending on the transmission medium. The transmission medium currently used has various transmission rates. For example, an ultra-high-speed communication network can transmit data of several tens of megabits per second, while a mobile communication network has a transmission speed of 384 kilobits per second. Therefore, in order to support a transmission medium having different speeds, or to transmit multimedia at a data transfer rate suitable for the transmission medium, data encoding methods having scaling such as short-wave video encoding and video band encoding may be suitable for multimedia environments .

Масштабированное кодирование видео - это методика, которая дает возможность сжатому потоку битов быть декодированным при различных разрешениях, частотах смены кадров и уровней отношения "сигнал-шум" (SNR) посредством отсечения части потока битов согласно внешним условиям, таким как скорость передачи в битах, частота ошибок по битам и системные ресурсы. Стандартизация Экспертной группы по вопросам движущегося изображения 4 (MPEG-4) часть 10 для масштабированного кодирования видео разрабатывается. В частности, предпринимаются значительные усилия для того, чтобы реализовать масштабируемость на основе многослойной структуры. Например, поток битов может состоять из нескольких слоев, т.е. базового слоя и первого и второго улучшенных слоев с различными разрешениями (QCIF, CIF и 2CIF) или частотами смены кадров.Scaled video coding is a technique that enables a compressed bitstream to be decoded at various resolutions, frame rates, and signal-to-noise ratio (SNR) by cutting off part of the bitstream according to external conditions, such as bit rate, frequency bit errors and system resources. The standardization of the Motion Picture 4 Expert Group (MPEG-4) Part 10 for scaled video coding is under development. In particular, significant efforts are being made to realize scalability based on a multilayer structure. For example, a bitstream may consist of several layers, i.e. base layer and the first and second advanced layers with different resolutions (QCIF, CIF and 2CIF) or frame rates.

Аналогично тому, когда видео кодируется в один слой, когда видео кодируется в несколько слоев, вектор движения (MV) получается для каждого из нескольких слоев для того, чтобы устранить временную избыточность. Поиск вектора движения MV может осуществляться отдельно для каждого слоя (в первом случае), или вектор движения, получаемый посредством поиска вектора движения для одного слоя, используется для другого слоя (без или после повышающей/понижающей дискретизации) (во втором случае). Во втором случае, тем не менее, несмотря на преимущества, получаемые от точных векторов движения, существуют потери вследствие векторов движения, сгенерированных для каждого слоя. Таким образом, эффективно устранять избыточность между векторами движения для каждого слоя является очень сложной задачей.Similarly, when a video is encoded in one layer, when a video is encoded in several layers, a motion vector (MV) is obtained for each of several layers in order to eliminate temporary redundancy. The motion vector search MV can be performed separately for each layer (in the first case), or the motion vector obtained by searching for the motion vector for one layer is used for another layer (without or after up / down sampling) (in the second case). In the second case, however, despite the advantages obtained from the exact motion vectors, there are losses due to the motion vectors generated for each layer. Thus, effectively eliminating redundancy between the motion vectors for each layer is a very difficult task.

Фиг.1 показывает пример масштабированного видеокодека, использующего многослойную структуру. Ссылаясь на фиг.1, базовый слой имеет разрешение четверть от общего промежуточного формата (QCIF) и частоту передачи кадров в 15 Гц, первый улучшенный слой имеет разрешение общего промежуточного формата (CIF) и частоту передачи кадров в 30 Гц, а второй улучшенный слой имеет стандартное разрешение (SD) и частоту передачи кадров в 60 Гц. Например, для того чтобы получить поток CIF в 0,5 Мбит/с, поток битов первого улучшенного слоя (CIF_30Hz_0.7M) усекается для того, чтобы соответствовать целевой скорости передачи в 0,5 Мбит. Таким образом, можно предоставить пространственно-временную масштабируемость и масштабируемость отношения "сигнал-шум" (SNR).Figure 1 shows an example of a scaled video codec using a multilayer structure. Referring to FIG. 1, the base layer has a resolution of a quarter of the common intermediate format (QCIF) and a frame rate of 15 Hz, the first enhanced layer has a resolution of the common intermediate format (CIF) and a frame rate of 30 Hz, and the second improved layer has standard resolution (SD) and a frame rate of 60 Hz. For example, in order to obtain a 0.5 Mbps CIF stream, the bit stream of the first enhanced layer (CIF_30Hz_0.7M) is truncated in order to correspond to a target transfer rate of 0.5 Mbps. Thus, spatio-temporal scalability and scalability of the signal-to-noise ratio (SNR) can be provided.

Как показано на фиг.1, кадры (к примеру, 10, 20 и 30) в одной временной позиции в каждом слое могут рассматриваться как аналогичные изображения. Одна известная методика кодирования включает в себя предсказание текстуры текущего слоя из текстуры более низкого слоя (непосредственно или после повышающей дискретизации) и кодирование разности между предсказываемым значением и фактической текстурой текущего слоя. Это методика задана как предсказание Intra_BL в модели масштабированного видео 3.0 стандарта масштабированного кодирования видео ISO/IEC 21000-13 ("SVM 3.0").As shown in figure 1, frames (for example, 10, 20 and 30) at the same time position in each layer can be considered as similar images. One well-known coding technique involves predicting the texture of the current layer from the texture of the lower layer (immediately or after upsampling) and coding the difference between the predicted value and the actual texture of the current layer. This technique is defined as Intra_BL prediction in the scaled video 3.0 model of the scaled video encoding standard ISO / IEC 21000-13 ("SVM 3.0").

SVM 3.0 использует методику для предсказания текущего блока с помощью корреляции между текущим блоком и соответствующим блоком в нижнем слое помимо направленного предсказания Intra и предсказания Inter, используемого в традиционном стандарте H.264 для того, чтобы предсказывать блоки или макроблоки в текущем кадре. Способ предсказания называется "предсказание Intra_BL", а режим кодирования, использующий предсказание Intra_BL, называется "режимом Intra_BL".SVM 3.0 uses a technique to predict the current block by correlating between the current block and the corresponding block in the lower layer, in addition to the directional Intra prediction and Inter prediction used in the traditional H.264 standard to predict blocks or macroblocks in the current frame. The prediction method is called "Intra_BL prediction", and the encoding mode using the Intra_BL prediction is called the "Intra_BL mode".

Фиг.2 - это схематическая схема для описания вышеприведенных трех способов предсказания: 1) предсказание Intra для макроблока 14 в текущем кадре 11; 2) предсказание Inter с помощью кадра 12 в другой временной позиции, чем текущий кадр 11; и 3) предсказание Intra_BL с помощью данных текстуры из области 16 в кадре 13 базового слоя, соответствующего макроблоку 14.Figure 2 is a schematic diagram for describing the above three prediction methods: 1) Intra prediction for macroblock 14 in the current frame 11; 2) Inter prediction using frame 12 at a different time position than the current frame 11; and 3) predicting Intra_BL using texture data from region 16 in frame 13 of the base layer corresponding to macroblock 14.

Стандарт масштабированного кодирования видео выбирает преимущественный способ из трех способов предсказания для каждого макроблока.The scaled video coding standard selects an advantageous method from among three prediction methods for each macroblock.

Чтобы предоставить информацию о выбранном способе предсказания или данные, используемые для выбранного способа предсказания, декодеру, может быть использовано множество флагов. Один бит, несколько бит и несколько десятков бит могут быть использованы как флаги в зависимости от того, выполняется кодирование по макроблокам, по сериям последовательных макроблоков или по кадрам. Размер данных увеличивается, когда задаются флаги для каждого макроблока, серии последовательных макроблоков или кадра в общем движущемся изображении.To provide information about the selected prediction method or the data used for the selected prediction method, a plurality of flags may be used by the decoder. One bit, several bits, and several tens of bits can be used as flags, depending on whether encoding is performed on macroblocks, on a series of consecutive macroblocks, or on frames. The data size increases when flags are set for each macroblock, a series of consecutive macroblocks, or a frame in a common moving image.

Следовательно, существует необходимость в способе и устройстве эффективного сжатия флагов.Therefore, there is a need for a method and apparatus for efficiently compressing flags.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION

Настоящее изобретение предоставляет способ и устройство для уменьшения объема данных, требуемого для предсказания с помощью данных базового слоя.The present invention provides a method and apparatus for reducing the amount of data required for prediction using base layer data.

Вышеуказанный аспект, а также другие аспекты, признаки и преимущества настоящего изобретения станут понятны специалистам в данной области техники после ознакомления с последующим описанием.The above aspect, as well as other aspects, features and advantages of the present invention, will become apparent to those skilled in the art upon review of the following description.

Согласно аспекту настоящего изобретения предусмотрен способ кодирования флага остаточного предсказания, указывающего, предсказываются ли остаточные данные для блока улучшенного слоя многослойного видеосигнала из остаточных данных блока нижнего слоя, соответствующих остаточным данным для блока улучшенного слоя, при этом способ содержит этапы, на которых вычисляют энергию остаточных данных блока нижнего слоя, определяют способ кодирования флага остаточного предсказания согласно энергии и кодируют флаг остаточного предсказания с помощью определенного способа кодирования.According to an aspect of the present invention, there is provided a method for encoding a residual prediction flag indicating whether residual data is predicted for an enhanced layer layer of a multilayer video signal from residual data of a lower layer block corresponding to residual data for an enhanced layer block, the method comprising the steps of calculating the residual energy block of the lower layer, determine the method of encoding the residual prediction flag according to energy and encode the residual prediction flag with the power of a particular coding method.

Согласно другому аспекту настоящего изобретения предусмотрен способ кодирования флага остаточного предсказания, указывающего, предсказываются ли остаточные данные для блока улучшенного слоя многослойного видеосигнала из остаточных данных блока нижнего слоя, соответствующих остаточным данным для блока улучшенного слоя, при этом способ содержит этапы, на которых вычисляют шаблон кодированных блоков (CBP) блока нижнего слоя, определяют способ кодирования флага остаточного предсказания согласно вычисленному значению CBP и кодируют флаг остаточного предсказания с помощью определенного способа кодирования.According to another aspect of the present invention, there is provided a method for encoding a residual prediction flag indicating whether residual data is predicted for an enhanced layer layer of a multilayer video signal from residual data of a lower layer block corresponding to residual data for an enhanced layer block, the method comprising the steps of calculating an encoded pattern blocks (CBP) of the lower layer block, determine the method for encoding the residual prediction flag according to the calculated CBP value and encode the flag sufficiently prediction using a specific encoding method.

Согласно еще одному аспекту настоящего изобретения предусмотрен способ декодирования флага остаточного предсказания, указывающего, предсказываются ли остаточные данные для блока улучшенного слоя многослойного видеосигнала из остаточных данных блока нижнего слоя, соответствующих остаточным данным для блока улучшенного слоя, при этом способ содержит этапы, на которых вычисляют энергию остаточных данных блока нижнего слоя, определяют способ декодирования флага остаточного предсказания согласно энергии и декодируют флаг остаточного предсказания с помощью определенного способа декодирования.According to yet another aspect of the present invention, there is provided a method for decoding a residual prediction flag indicating whether residual data for an enhanced layer block of a multilayer video signal is predicted from residual data of a lower layer block corresponding to residual data for an enhanced layer block, the method comprising the steps of calculating energy the residual data of the lower layer block, determine the method for decoding the residual prediction flag according to the energy, and decode the residual flag predictions using a specific decoding method.

Согласно еще одному аспекту настоящего изобретения предусмотрен способ декодирования флага остаточного предсказания, указывающего, предсказываются ли остаточные данные для блока улучшенного слоя многослойного видеосигнала из остаточных данных блока нижнего слоя, соответствующих остаточным данным для блока улучшенного слоя, при этом способ содержит этапы, на которых вычисляют значение CBP блока нижнего слоя, определяют способ декодирования флага остаточного предсказания согласно вычисленному значению CBP и декодируют флаг остаточного предсказания с помощью определенного способа декодирования.According to yet another aspect of the present invention, there is provided a method for decoding a residual prediction flag indicating whether residual data for an enhanced layer layer of a multi-layer video signal is predicted from residual data of a lower layer block corresponding to residual data for an enhanced layer block, the method comprising the steps of calculating a value CBP block of the lower layer, determine the method for decoding the residual prediction flag according to the calculated CBP value and decode the residual flag o predictions using a specific decoding method.

Согласно дополнительному аспекту настоящего изобретения предусмотрен способ декодирования флага остаточного предсказания, указывающего, предсказываются ли остаточные данные для блока улучшенного слоя многослойного видеосигнала из остаточных данных блока нижнего слоя, соответствующих остаточным данным для блока улучшенного слоя, при этом способ содержит этапы, на которых проверяют значение CBP в блоке нижнего слоя, определяют, имеет или нет каждый бит CBP в блоке нижнего слоя значение 1, определяют способ декодирования флага остаточного предсказания согласно тому, имеет или нет, по меньшей мере, один бит CBP в блоке нижнего слоя значение 1, и декодируют флаг остаточного предсказания согласно определенному способу декодирования.According to a further aspect of the present invention, there is provided a method for decoding a residual prediction flag indicating whether residual data for an enhanced layer block of a multi-layer video signal is predicted from residual data of a lower layer block corresponding to residual data for an enhanced layer block, the method comprising the steps of checking the CBP value in the block of the lower layer, determine whether or not each bit CBP in the block of the lower layer has a value of 1, determine the method of decoding the residual flag prediction according to whether or not the at least one bit CBP in the lower layer block 1, and decoding the residual prediction flag according to the determined decoding method.

Согласно еще одному дополнительному аспекту настоящего изобретения предусмотрен способ декодирования улучшенного слоя многослойного видеосигнала, при этом способ содержит этапы, на которых определяют способ декодирования флага остаточного предсказания, указывающего, предсказывается ли улучшенный слой из нижнего слоя с помощью значения CBP нижнего слоя, и декодируют флаг остаточного предсказания с использованием способа декодирования по энтропии, выбранного согласно способу декодирования, и декодируют улучшенный слой с помощью флага остаточного предсказания.According to yet a further aspect of the present invention, there is provided a method for decoding an enhanced layer of a multilayer video signal, the method comprising the steps of determining a method for decoding a residual prediction flag indicating whether the improved layer is predicted from the lower layer using the CBP value of the lower layer and decoding the residual flag predictions using the entropy decoding method selected according to the decoding method, and decode the enhanced layer using the flag but a residual prediction.

Согласно еще одному другому аспекту настоящего изобретения предусмотрен декодер флага остаточного предсказания, указывающего, предсказываются ли остаточные данные для блока улучшенного слоя многослойного видеосигнала из остаточных данных блока нижнего слоя, соответствующих остаточным данным для блока улучшенного слоя, при этом декодер содержит анализатор, который анализирует значение CBP блока нижнего слоя, и блок декодирования, который определяет способ декодирования флага остаточного предсказания согласно значению CBP и декодирует флаг остаточного предсказания с помощью определенного способа декодирования.According to yet another aspect of the present invention, there is provided a residual prediction flag decoder indicating whether residual data for an enhanced layer layer of a multilayer video signal is predicted from residual data of a lower layer block corresponding to residual data for an enhanced layer block, wherein the decoder comprises an analyzer that analyzes the CBP value a lower layer unit, and a decoding unit that determines a method for decoding the residual prediction flag according to the CBP value and decodes the residual prediction flag using a decoding method specified.

Согласно еще одному дополнительному аспекту настоящего изобретения предусмотрен декодер для декодирования улучшенного слоя многослойного видеосигнала, при этом декодер содержит анализатор, который анализирует значение CBP для более нижнего слоя, чем улучшенный слой, блок декодирования по энтропии, который определяет способ декодирования флага остаточного предсказания, указывающего, предсказывается ли улучшенный слой из нижнего слоя с помощью значения CBP, и выполняет декодирование по энтропии флага остаточного предсказания согласно способу декодирования и затем улучшенного слоя, обратный квантователь, который обратно квантует улучшенный слой, и обратный преобразователь, который выполняет обратное преобразование обратно-квантованного улучшенного слоя и выполняет декодирование результата с помощью предсказания от нижнего слоя согласно флагу остаточного предсказания.According to a still further aspect of the present invention, there is provided a decoder for decoding an enhanced layer of a multilayer video signal, the decoder comprising an analyzer that analyzes the CBP value for a lower layer than the enhanced layer, an entropy decoding unit that determines a method for decoding a residual prediction flag indicating whether the improved layer from the lower layer is predicted using the CBP value, and performs entropy decoding of the residual prediction flag according to benefits and then decoding the enhancement layer, an inverse quantizer which inversely quantizes the enhanced layer and the inverse transformer which performs inverse transform inversely quantized enhancement layer and performs decoding result using prediction from the lower layer according to the residual prediction flag.

Согласно другому аспекту настоящего изобретения предусмотрен способ кодирования, выполняемый многослойным видеокодером, при этом способ кодирования содержит этапы, на которых получают кадр базового слоя из входного кадра, получают данные для улучшенного слоя из входного кадра посредством ссылки на кадр базового слоя и кодируют данные для улучшенного слоя согласно результату определения того, должны ли данные для улучшенного слоя быть предсказаны из данных для кадра базового слоя.According to another aspect of the present invention, there is provided an encoding method performed by a multilayer video encoder, the encoding method comprising the steps of obtaining a base layer frame from an input frame, obtaining data for an enhanced layer from an input frame by referencing a base layer frame, and encoding data for an enhanced layer according to the result of determining whether the data for the enhanced layer should be predicted from the data for the base layer frame.

Согласно еще одному другому аспекту настоящего изобретения предусмотрен способ декодирования, выполняемого многослойным видеодекодером, при этом способ декодирования содержит этапы, на которых декодируют входной кадр базового слоя, определяют, нужны ли данные для кадра базового слоя для того, чтобы предсказывать данные улучшенного слоя, и декодируют данные для улучшенного слоя согласно результату определения.According to yet another aspect of the present invention, there is provided a decoding method performed by a multilayer video decoder, the decoding method comprising the steps of decoding an input frame of a base layer, determining whether data is needed for a frame of the base layer in order to predict enhanced layer data, and decode data for the enhanced layer according to the result of the determination.

Согласно по-прежнему другому аспекту настоящего изобретения предусмотрен видеокодер, содержащий кодер базового слоя, который получает кадр базового слоя из входного кадра, кодер улучшенного слоя, который генерирует данные для улучшенного слоя, предсказываемые из кадра базового слоя из входного кадра, при этом кодер улучшенного слоя содержит преобразователь, который кодирует данные улучшенного слоя согласно результату определения того, предсказуемы ли данные улучшенного слоя из данных кадра базового слоя.According to still another aspect of the present invention, there is provided a video encoder comprising a base layer encoder that receives a base layer frame from an input frame, an enhanced layer encoder that generates data for an enhanced layer predicted from a base layer frame from an input frame, wherein the enhanced layer encoder comprises a converter that encodes the enhanced layer data according to the result of determining whether the enhanced layer data is predictable from the data of the base layer frame.

Согласно дополнительному аспекту настоящего изобретения предусмотрен видеодекодер, содержащий декодер базового слоя, который декодирует входной кадр базового слоя, декодер улучшенного слоя, который декодирует данные улучшенного слоя посредством ссылки на кадр базового слоя, при этом декодер улучшенного слоя содержит обратный преобразователь, который декодирует данные улучшенного слоя согласно результату определения того, требуются ли данные декодированного кадра базового слоя для того, чтобы предсказывать данные улучшенного слоя, предсказываемого из кадра базового слоя.According to a further aspect of the present invention, there is provided a video decoder comprising a base layer decoder that decodes an input frame of a base layer, an enhanced layer decoder that decodes enhanced layer data by reference to a base layer frame, wherein the enhanced layer decoder comprises an inverter that decodes the enhanced layer data according to the result of determining whether data of a decoded frame of the base layer is required in order to predict the data of the enhanced layer, predicted from the frame of the base layer.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF THE DRAWINGS

Вышеописанные и другие признаки и преимущества настоящего изобретения станут более очевидными посредством подробного описания примерных вариантов осуществления со ссылкой на прилагаемые чертежи, из которых:The above and other features and advantages of the present invention will become more apparent through a detailed description of exemplary embodiments with reference to the accompanying drawings, of which:

Фиг.1 иллюстрирует пример масштабированного видеокодека, использующего многослойную структуру;Figure 1 illustrates an example of a scaled video codec using a multilayer structure;

Фиг.2 - это схема для описания предсказания Inter, предсказания Intra, предсказания Intra_BL;2 is a diagram for describing Inter prediction, Intra prediction, Intra_BL prediction;

Фиг.3 - это схема, показывающая пример остаточного предсказания в кодировании видео;3 is a diagram showing an example of residual prediction in video encoding;

Фиг.4 - это блок-схема последовательности операций, иллюстрирующая способ повышения эффективности кодирования флага остаточного предсказания согласно примерному варианту осуществления настоящего изобретения;FIG. 4 is a flowchart illustrating a method for improving coding efficiency of a residual prediction flag according to an exemplary embodiment of the present invention; FIG.

Фиг.5 - это блок-схема последовательности операций, иллюстрирующая способ декодирования данных, закодированных с помощью способа, проиллюстрированного на фиг.4, согласно примерному варианту осуществления настоящего изобретения;FIG. 5 is a flowchart illustrating a method for decoding data encoded using the method illustrated in FIG. 4, according to an exemplary embodiment of the present invention;

Фиг.6 - это схема, показывающая пример предсказания движения в кодировании видео согласно примерному варианту осуществления настоящего изобретения;6 is a diagram showing an example of motion prediction in video encoding according to an exemplary embodiment of the present invention;

Фиг.7 - это блок-схема последовательности операций, иллюстрирующая примерный способ повышения эффективности кодирования флага предсказания движения;7 is a flowchart illustrating an exemplary method for improving the coding efficiency of a motion prediction flag;

Фиг.8 - это блок-схема последовательности операций, иллюстрирующая способ декодирования данных, закодированных с помощью способа фиг.7, согласно примерному варианту осуществления настоящего изобретения;FIG. 8 is a flowchart illustrating a method of decoding data encoded using the method of FIG. 7 according to an exemplary embodiment of the present invention;

Фиг.9 - это блок-схема, иллюстрирующая процесс кодирования данных обратного остаточного предсказания согласно примерному варианту осуществления настоящего изобретения;9 is a flowchart illustrating a process for encoding inverse residual prediction data according to an exemplary embodiment of the present invention;

Фиг.10 - это блок-схема последовательности операций, иллюстрирующая примерный процесс декодирования данных, закодированных с помощью процесса, проиллюстрированного на фиг.9;FIG. 10 is a flowchart illustrating an example decoding process of data encoded using the process illustrated in FIG. 9;

Фиг.11 - это блок-схема, иллюстрирующая процесс кодирования флага остаточного предсказания с помощью модифицированного контекста согласно примерному варианту осуществления настоящего изобретения;11 is a flowchart illustrating a process for encoding a residual prediction flag using a modified context according to an exemplary embodiment of the present invention;

Фиг.12 - это блок-схема последовательности операций, иллюстрирующая примерный процесс декодирования данных, закодированных с помощью процесса, проиллюстрированного на фиг. 11;12 is a flowchart illustrating an exemplary process for decoding data encoded using the process illustrated in FIG. eleven;

Фиг.13 - это блок-схема последовательности операций, иллюстрирующая пример, при котором режим кодирования варьируется в зависимости от остаточных данных базового слоя;13 is a flowchart illustrating an example in which the encoding mode varies depending on the residual data of the base layer;

Фиг.14 - это блок-схема последовательности операций, иллюстрирующая процесс кодирования с помощью различных контекстных моделей, когда выполняется контекстное адаптивное двоичное арифметическое кодирование (CABAC), согласно примерному варианту осуществления настоящего изобретения;14 is a flowchart illustrating a coding process using various context models when context adaptive binary arithmetic coding (CABAC) is performed according to an exemplary embodiment of the present invention;

Фиг.15 - это блок-схема последовательности операций, иллюстрирующая примерный процесс декодирования видеоданных, закодированных с помощью процесса, проиллюстрированного на фиг.14;FIG. 15 is a flowchart illustrating an example decoding process of video data encoded using the process illustrated in FIG. 14;

Фиг.16 - это блок-схема видеокодера согласно примерному варианту осуществления настоящего изобретения; иFIG. 16 is a block diagram of a video encoder according to an exemplary embodiment of the present invention; FIG. and

Фиг.17 - это блок-схема видеодекодера согласно примерному варианту осуществления настоящего изобретения.17 is a block diagram of a video decoder according to an exemplary embodiment of the present invention.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯDETAILED DESCRIPTION OF THE INVENTION

Далее настоящее изобретение описывается более подробно со ссылкой на прилагаемые чертежи, на которых показаны примерные варианты осуществления изобретения.The present invention will now be described in more detail with reference to the accompanying drawings, in which exemplary embodiments of the invention are shown.

Преимущества и признаки настоящего изобретения и способы его осуществления могут более четко быть понятными посредством ссылки на последующее подробное описание примерных вариантов осуществления и прилагаемых чертежей. Тем не менее, настоящее изобретение может быть осуществлено во многих различных формах и не должно рассматриваться как ограниченное примерными вариантами осуществления, изложенными в данном документе. Вместо этого данные примерные варианты осуществления предусмотрены с тем, чтобы эта сущность была исчерпывающей и полной, они полностью выражают идею изобретения специалистам данной области техники, и настоящее изобретение полностью определяется прилагаемой формулой изобретения. Аналогичные номера ссылок означают аналогичные элементы по всей спецификации.The advantages and features of the present invention and methods for its implementation can be more clearly understood by reference to the following detailed description of exemplary embodiments and the accompanying drawings. However, the present invention can be practiced in many different forms and should not be construed as limited by the exemplary embodiments set forth herein. Instead, these exemplary embodiments are provided so that this entity is exhaustive and complete, they fully express the idea of the invention to those skilled in the art, and the present invention is fully defined by the appended claims. Similar reference numbers mean similar elements throughout the specification.

Настоящее изобретение описывается далее со ссылкой на блок-схемы последовательностей операций способов примерных вариантов осуществления изобретения. Следует понимать, что каждый этап иллюстраций блок-схем последовательности операций и сочетания этапов иллюстраций блок-схем последовательности операций могут быть реализованными вычислительными программными инструкциями. Эти вычислительные программные инструкции могут быть предоставлены процессору вычислительной машины общего назначения, вычислительной машины специального назначения или другому программируемому устройству обработки данных для того, чтобы генерировать машину, с тем чтобы инструкции, которые исполняются посредством процессора вычислительной машины или другого программируемого устройства обработки данных, создавали средство реализации функций, указанных на этапе или этапах блок-схемы последовательности операций.The present invention will now be described with reference to flowcharts of methods of exemplary embodiments of the invention. It should be understood that each step in the illustrations of flowcharts and combinations of steps in the illustrations of flowcharts may be implemented by computational software instructions. These computing program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing device in order to generate a machine so that instructions executed by a computer processor or other programmable data processing device provide means the implementation of the functions indicated in the step or steps of the flowchart.

Эти вычислительные программные инструкции также могут быть сохранены в машиноиспользуемой или машиночитаемой памяти, которая может управлять вычислительной машиной или другим программируемым устройством обработки данных, для его функционирования определенным способом, с тем чтобы инструкции, сохраненные в машиноиспользуемой или машиночитаемой памяти, генерировали продукт производства, содержащий средство инструктирования, которое реализует функцию, указанную на этапе или этапах блок-схемы последовательности операций.These computational program instructions can also be stored in a computer-useable or machine-readable memory that can control a computer or other programmable data processing device for its operation in a certain way so that instructions stored in a computer-useable or machine-readable memory generate a production product containing means instruction, which implements the function indicated in the step or steps of the flowchart.

Вычислительные программные инструкции также могут загружаться на вычислительную машину или другое программируемое устройство обработки данных для инициации выполнения последовательности операционных этапов на вычислительной машине или другом программируемом устройстве для того, чтобы генерировать машинореализуемый процесс, с тем чтобы инструкции, которые исполняются на вычислительной машине или другом программируемом устройстве, предоставляли этапы реализации функций, указанных на этапе или этапах блок-схемы последовательности операций.Computational program instructions can also be downloaded to a computer or other programmable data processing device to initiate the execution of a sequence of operational steps on a computer or other programmable device in order to generate a computer-executable process so that instructions that are executed on a computer or other programmable device , provided the stages of the implementation of the functions specified in the stage or stages of the flowchart of the sequence operations.

Каждый этап иллюстраций блок-схемы последовательности операций может представлять модуль, сегмент или часть кода, которые содержат одну или более исполняемых инструкций для реализации указанных логических функций. Следует также отметить, что в некоторых альтернативных реализациях функции, указанные на этапах, могут выполняться в другой последовательности. Например, два этапа, показанные друг за другом, могут фактически быть исполняемыми практически одновременно, или блоки могут иногда быть исполняемыми в обратном порядке, в зависимости от их функциональности.Each step of the illustrations of the flowchart may represent a module, segment, or piece of code that contains one or more executable instructions for implementing the indicated logical functions. It should also be noted that in some alternative implementations, the functions indicated in the steps may be performed in a different sequence. For example, two steps, shown one after another, can actually be executed almost simultaneously, or blocks can sometimes be executed in reverse order, depending on their functionality.

Информация, касающаяся способов предсказания, показанных на фиг.2, т.е. данные, относящиеся к одному выбранному способу из способов предсказания, показанных на фиг.2, или информация, касающаяся справочных данных, задается кодером и передается для того, чтобы быть используемой декодером. Кодирование по энтропии осуществляется для того, чтобы окончательно и без потерь сжать данные. Кодирование Хаффмана, как правило, используется в качестве способа кодирования по энтропии. Кодирование Хаффмана - это форма кодирования по длине параметров, и она зависит от расположения бит данных на основе вероятностей данных. Таким образом для того, чтобы повысить общую эффективность по битам, способ представления данных может быть модифицирован.Information regarding the prediction methods shown in FIG. 2, i.e. data related to one selected method from the prediction methods shown in FIG. 2, or information regarding the reference data is set by the encoder and transmitted in order to be used by the decoder. Entropy encoding is carried out in order to finally and losslessly compress the data. Huffman coding is typically used as a method of entropy coding. Huffman coding is a form of coding along the length of the parameters, and it depends on the location of the data bits based on the data probabilities. Thus, in order to increase the overall bit efficiency, the data presentation method can be modified.

Один способ уведомления декодера о способе предсказания, выбранном из способов предсказания, проиллюстрированных на фиг.2, - это использование флага предсказания, который указывает, что выбранный способ ссылается на информацию базового слоя, например остаточные данные или векторы движения базового слоя. В качестве флага предсказания может быть использован флаг остаточного предсказания или флаг предсказания движения для того, чтобы информировать декодер о том, были ли ссылки на информацию базового слоя. Поскольку флаги предсказания всегда задаются для каждого макроблока, каждой серии последовательных макроблоков или каждого кадра, важно уменьшить размер флагов или повысить эффективность сжатия в ходе кодирования, такого как кодирование по энтропии. Чтобы достичь этой цели, информация задается для декодера для того, чтобы предсказывать флаги предсказания и восстанавливать флаги предсказания с помощью указанной информации.One way to notify the decoder of a prediction method selected from the prediction methods illustrated in FIG. 2 is to use a prediction flag that indicates that the selected method refers to base layer information, such as residual data or motion vectors of the base layer. As a prediction flag, a residual prediction flag or a motion prediction flag can be used to inform the decoder whether there were links to information of the base layer. Since prediction flags are always set for each macroblock, each series of consecutive macroblocks, or each frame, it is important to reduce the size of the flags or increase compression efficiency during encoding, such as entropy encoding. In order to achieve this goal, information is set for the decoder to predict the prediction flags and restore the prediction flags using the specified information.

Фиг.3 иллюстрирует пример остаточного предсказания в видеокодировании. Остаточное предсказание ссылается на предсказание, выполняемое с остаточными данными, предсказываемыми с помощью одного выбранного из способов предсказания, проиллюстрированных на фиг.2. Макроблок (серия последовательных макроблоков или кадр) 14 в базовом слое может быть составлен из одного выбранного из способов предсказания, проиллюстрированных на фиг.2, к примеру временного предсказания Inter, с помощью остаточных данных. В этом случае остаточное предсказание также может быть выполнено для макроблока, серии последовательных макроблоков или кадра в улучшенном слое с помощью остаточных данных базового слоя. Хотя изобретение описывается далее относительно макроблока, оно не ограничено им и может быть применено к серии последовательных макроблоков или кадру.Figure 3 illustrates an example of residual prediction in video coding. The residual prediction refers to the prediction performed with the residual data predicted using one of the selected prediction methods illustrated in FIG. 2. A macroblock (a series of consecutive macroblocks or a frame) 14 in the base layer may be composed of one of the selected prediction methods illustrated in FIG. 2, for example, Inter temporal prediction using residual data. In this case, residual prediction can also be performed for a macroblock, a series of consecutive macroblocks, or a frame in an enhanced layer using the residual data of the base layer. Although the invention is described below with respect to a macroblock, it is not limited to it and can be applied to a series of consecutive macroblocks or a frame.

Чтобы макроблок в улучшенном слое реализовал временное предсказание Inter, может упоминаться остаток базового слоя. Чтобы уведомить декодер о том, что остаток базового слоя упоминается во временном предсказании Inter, флагу остаточного предсказания (флаг остаточной предикации) присваивается значение 1. Если всем значениям макроблоков в базовом слое (т.е. макроблоков, содержащих остаточные данные) присвоено значение нуль, число ненулевых пикселей меньше заранее определенного порога или значение CBP равно нулю или меньше заранее определенного порога, необязательно задавать значение флага остаточного предсказания. Это означает, что существует мало движения как результат временного предсказания в базовом слое. Т.е. поскольку нет или недостаточно справочных данных для макроблока в улучшенном слое, на которые следует ссылаться, кодирование флага остаточного предсказания пропускается, тем самым сохраняя определенное число бит, требуемых для задания значения флага остаточного предсказания.In order for the macroblock in the enhanced layer to implement Inter temporal prediction, the remainder of the base layer may be mentioned. To notify the decoder that the remainder of the base layer is referred to in the Inter temporal prediction Inter, the residual prediction flag (residual prediction flag) is assigned the value 1. If all macroblock values in the base layer (i.e., macroblocks containing residual data) are set to zero, if the number of non-zero pixels is less than a predetermined threshold or the CBP value is zero or less than a predetermined threshold, it is not necessary to set the value of the residual prediction flag. This means that there is little movement as a result of temporal prediction in the base layer. Those. since there is no or insufficient reference data for the macroblock in the enhanced layer to be referenced, the encoding of the residual prediction flag is skipped, thereby preserving a certain number of bits required to set the value of the residual prediction flag.

Остаточное предсказание имеет смысл в случае, когда векторы движения в улучшенном слое аналогичны векторам в базовом слое. Таким образом, получение разности между векторами движения для двух слоев может быть фундаментальным вопросом при предсказании значения флага остаточного предсказания. Для краткости информация определения для предсказания значения флага остаточного предсказания далее упоминается как "флаг определения предсказания". В общей модели масштабированного видео (JSVM) 1 повышенная эффективность кодирования по энтропии может быть достигнута посредством кодирования разности между флагом остаточного предсказания и флагом определения предсказания, обозначенным как PrdRpFlag, вместо задания флага остаточного предсказания. Поэтому этот флаг разности остаточного предсказания, обозначенный как residual_prediction_flag_diff, введен для того, чтобы кодировать видеоинформацию.The residual prediction makes sense when the motion vectors in the enhanced layer are similar to the vectors in the base layer. Thus, obtaining the difference between the motion vectors for two layers can be a fundamental issue in predicting the value of the residual prediction flag. For brevity, determination information for predicting the value of the residual prediction flag is hereinafter referred to as a “prediction determination flag”. In the general scaled video model (JSVM) 1, improved entropy coding efficiency can be achieved by coding the difference between the residual prediction flag and the prediction determination flag, designated as PrdRpFlag, instead of setting the residual prediction flag. Therefore, this residual prediction difference flag, designated as residual_prediction_flag_diff, is entered in order to encode the video information.

Далее описан способ получения флага разности остаточного предсказания.The following describes a method for obtaining a residual prediction difference flag.

Сначала, если число ненулевых пикселей, присутствующих в остатке базового слоя, меньше порога, кодирование флага остаточного предсказания пропускается.First, if the number of non-zero pixels present in the remainder of the base layer is less than a threshold, the encoding of the residual prediction flag is skipped.

Наоборот, если число ненулевых пикселей больше порога, кодируется флаг разности остаточного предсказания, а не флаг остаточного предсказания. Чтобы получить флаг разности остаточного предсказания, используется остаток между вектором движения базового слоя BaseMV и вектором движения улучшенного или текущего слоя CurrMV. Чтобы закодировать флаг разности остаточного предсказания, должен быть получен флаг определения.Conversely, if the number of non-zero pixels is greater than the threshold, the residual prediction difference flag is encoded, and not the residual prediction flag. To obtain the residual prediction difference flag, the remainder is used between the motion vector of the BaseMV base layer and the motion vector of the enhanced or current CurrMV layer. In order to encode the residual prediction difference flag, a determination flag must be obtained.

Вышеуказанный процесс может быть обобщен следующим образом.The above process can be summarized as follows.

Если |BaseMV-CurrMV| меньше заранее определенного порога, флагу определения присваивается значение 1; в противном случае ему присваивается значение 0. Затем флаг разности остаточного предсказания, который является разностью между вычисленным флагом определения и флагом остаточной разности, кодируется.If | BaseMV-CurrMV | less than a predetermined threshold, a value of 1 is assigned to the definition flag; otherwise, it is assigned a value of 0. Then, the residual prediction difference flag, which is the difference between the calculated determination flag and the residual difference flag, is encoded.

Если энергия остатка базового слоя (или число ненулевых пикселей) меньше порога Thresholdresidual, кодирование флага остаточного предсказания пропускается.If the energy of the remainder of the base layer (or the number of nonzero pixels) is less than the Threshold residual , the encoding of the residual prediction flag is skipped.

Если |BaseMV-CurrMV| меньше порога ThresholdMV, кодируется значение один минус флаг остаточного предсказания, т.е. 1 - residual_prediction_flag; в противном случае кодируется значение нуль минус флаг остаточного предсказания, т.е. 0 - residual_prediction_flag, что то же самое, что флаг остаточного предсказания.If | BaseMV-CurrMV | less than the threshold Threshold MV , a value of one minus the residual prediction flag is encoded, i.e. 1 - residual_prediction_flag; otherwise, a value of zero minus the residual prediction flag is encoded, i.e. 0 - residual_prediction_flag, which is the same as the residual prediction flag.

Фиг.4 - это блок-схема последовательности операций, иллюстрирующая процесс реализации вышеуказанной концепции. Ссылаясь на фиг.4, на этапе S101 остаточные данные базового слоя получаются посредством, например, временного внутреннего кодирования посредством ссылки на другой кадр или блок. Если остаточные данные базового слоя меньше заранее определенного порога, т.е. порога Thresholdresidual, на этапе S105, например, если базовые остаточные данные имеют значение 0 или вся энергия меньше заранее определенного порога, кодирование флага остаточного резервирования пропускается, поскольку его не требуется задавать. Наоборот, если остаточные данные базового слоя больше Thresholdresidual на этапе S105, флаг остаточного предсказания выборочно имеет значение 1 или 0. Основа выбора флага определения предсказания, обозначенная как PrdRpFlag, может быть задана.4 is a flowchart illustrating a process for implementing the above concept. Referring to FIG. 4, in step S101, the residual data of the base layer is obtained by, for example, temporary intra-coding by referring to another frame or block. If the residual data of the base layer is less than a predetermined threshold, i.e. Threshold residual , in step S105, for example, if the base residual data is 0 or all the energy is less than a predetermined threshold, the encoding of the residual reservation flag is skipped because it does not need to be set. Conversely, if the residual data of the base layer is greater than the Threshold residual in step S105, the residual prediction flag is selectively 1 or 0. The basis for selecting the prediction determination flag, designated as PrdRpFlag, can be set.

Если разность между BaseMV и CurrMV меньше заранее определенного порога, т.е. ThresholdMV на этапе S110, что означает, что вероятность использования остаточных данных базового слоя высока, флагу определения предсказания присваивается значение 1 на этапе S111. Наоборот, если разность между BaseMV и CurrMV больше ThresholdMv на этапе S110, вероятность использования остаточных данных базового слоя небольшая. Таким образом, флагу определения предсказания присваивается значение 0 на этапе S112. На этапе S120 кодируется флаг определения предсказания, заданный на этапе S111 или S112, и флаг разности остаточного предсказания, соответствующий разности между флагом остаточного предсказания и флагом определения предсказания. Кодер может кодировать флаг определения предсказания и флаг разности остаточного предсказания по макроблокам, по сериям последовательных макроблоков или по кадрам.If the difference between BaseMV and CurrMV is less than a predetermined threshold, i.e. Threshold MV in step S110, which means that the probability of using the residual data of the base layer is high, the prediction determination flag is set to 1 in step S111. Conversely, if the difference between BaseMV and CurrMV is greater than ThresholdMv in step S110, the probability of using the residual data of the base layer is small. Thus, the prediction determination flag is set to 0 in step S112. In step S120, the prediction determination flag set in step S111 or S112 is encoded and the residual prediction difference flag corresponding to the difference between the residual prediction flag and the prediction determination flag. The encoder may encode the prediction determination flag and the residual prediction difference flag for macroblocks, for series of consecutive macroblocks, or for frames.

Фиг.5 - это блок-схема последовательности операций, иллюстрирующая процесс декодирования данных, закодированных с помощью способа, проиллюстрированного на фиг.4, согласно примерному варианту осуществления настоящего изобретения.FIG. 5 is a flowchart illustrating a process of decoding data encoded using the method illustrated in FIG. 4, according to an exemplary embodiment of the present invention.

Сначала на этапе S151 остаточные данные базового слоя получаются из закодированных данных. С одной стороны, если остаточные данные не меньше заранее определенного порога, т.е. Thresholdresidual на этапе S155 (НЕТ на этапе S155), флагу остаточного предсказания присваивается значение разности между закодированным флагом определения предсказания и флагом разности остаточного предсказания на этапе S161. Как задано в процедуре кодирования, проиллюстрированной на фиг.4, флаг определения предсказания и флаг разности остаточного предсказания обозначены как PrdRpFlag и residual_pred_flag_diff соответственно. В таком случае residual_pred_flag_diff = PrdRpFlag - residual_prediction_flag. Таким образом, residual_prediction_flag может быть получен посредством вычитания residual_pred_flag_diff из PrdRpFlag.First, in step S151, the residual data of the base layer is obtained from the encoded data. On the one hand, if the residual data is not less than a predetermined threshold, i.e. Threshold residual in step S155 (NO in step S155), the residual prediction flag is assigned a difference value between the encoded prediction determination flag and the residual prediction difference flag in step S161. As specified in the coding procedure illustrated in FIG. 4, the prediction determination flag and the residual prediction difference flag are designated as PrdRpFlag and residual_pred_flag_diff, respectively. In this case, residual_pred_flag_diff = PrdRpFlag - residual_prediction_flag. Thus, residual_prediction_flag can be obtained by subtracting residual_pred_flag_diff from PrdRpFlag.

С другой стороны, если остаточные данные меньше Thresholdresidual на этапе S155 (ДА на этапе S155), что означает, что улучшенный слой не генерируется посредством ссылки на флаг остаточного предсказания, флагу остаточного предсказания присваивается значение 0 на этапе S162.On the other hand, if the residual data is less than the Threshold residual in step S155 (YES in step S155), which means that the enhanced layer is not generated by referring to the residual prediction flag, the residual prediction flag is set to 0 in step S162.

В вышеприведенном описании кодируется информация, отличная от флага остаточного предсказания, указывающая, содержатся ли ссылки на остаточные данные базового слоя, тем самым повышая эффективность кодирования. Аналогично, другая информация может быть закодирована вместо кодирования флага предсказания движения, который указывает, используется или нет информация о движении базового слоя для предсказания вектора движения для того, чтобы достичь той же цели.In the above description, information other than a residual prediction flag is encoded indicating whether references to residual data of the base layer are contained, thereby increasing the encoding efficiency. Similarly, other information may be encoded instead of encoding a motion prediction flag that indicates whether or not motion information of the base layer is used to predict the motion vector in order to achieve the same goal.

Фиг.6 - это схема, показывающая пример предсказания движения в кодировании видео согласно примерному варианту осуществления настоящего изобретения. Предсказание движения относится к предсказанию вектора движения улучшенного слоя или текущего слоя из вектора движения базового слоя. Таким образом, если флагу предсказания движения, обозначенному как motion_prediction_flag, присваивается значение 1, вектор движения улучшенного слоя предсказывается посредством ссылки на вектор движения базового слоя. В противном случае, если флагу предсказания движения присвоено значение 0, вектор движения базового слоя не указывается ссылками. 21 или 25 на фиг.6 обозначает макроблок (или субблок), серию последовательных макроблоков или кадр. Для удобства описания предполагается, что предсказание движения выполняется по макроблокам. Вектор движения макроблока 21 базового слоя такой же, как вектор движения макроблока 25 улучшенного слоя. В этом случае кодирование флага предсказания движения не требуется. Кодирование флага предсказания движения может также быть пропущено, если остаток между двумя векторами движения меньше заранее определенного порога, т.е. ThresholdMotion.6 is a diagram showing an example of motion prediction in video encoding according to an exemplary embodiment of the present invention. Motion prediction refers to the prediction of the motion vector of the enhanced layer or the current layer from the motion vector of the base layer. Thus, if the motion prediction flag designated as motion_prediction_flag is set to 1, the motion vector of the enhanced layer is predicted by reference to the motion vector of the base layer. Otherwise, if the motion prediction flag is set to 0, the motion vector of the base layer is not indicated by links. 21 or 25 in FIG. 6 denotes a macroblock (or subunit), a series of consecutive macroblocks, or a frame. For convenience of description, it is assumed that motion prediction is performed on macroblocks. The motion vector of the macroblock 21 of the base layer is the same as the motion vector of the macroblock 25 of the enhanced layer. In this case, the encoding of the motion prediction flag is not required. The encoding of the motion prediction flag may also be skipped if the remainder between the two motion vectors is less than a predetermined threshold, i.e. Threshold Motion .

В то же время флаг предсказания движения может быть определен посредством сравнения вектора движения базового слоя с векторами движения из пространственно соседних областей. Пространственно соседние области могут предоставлять точные векторы движения; тем не менее, в некоторых случаях предсказание движения может не выполняться точно. Это может приводить к большому остатку вектора движения. Хотя точность предсказания движения из вектора движения базового слоя меньше пространственного предсказания движения, первое обеспечивает приемлемую точность практически во всех случаях. Таким образом, остаток между двумя векторами движения может быть использован для того, чтобы предсказывать флаг предсказания движения.At the same time, the motion prediction flag can be determined by comparing the motion vector of the base layer with the motion vectors from spatially neighboring regions. Spatially adjacent areas can provide accurate motion vectors; however, in some cases, motion prediction may not be accurate. This can lead to a large remainder of the motion vector. Although the accuracy of motion prediction from the motion vector of the base layer is less than spatial motion prediction, the former provides acceptable accuracy in almost all cases. Thus, the remainder between two motion vectors can be used to predict a motion prediction flag.

Если остаток между векторами движения из макроблоков 22 и 26 больше заранее определенного порога, т.е. ThresholdMV, флагу определения предсказания prediction_determination_flag, присваивается значение 1, поскольку есть большая вероятность того, что флагу предсказания движения присвоено значение 1. С другой стороны, если остаток между векторами движения из макроблоков 22 и 26 меньше ThresholdMV, флагу определения предсказания присваивается значение 0, поскольку есть большая вероятность того, что флагу предсказания движения присвоено значение 0.If the remainder between the motion vectors from macroblocks 22 and 26 is greater than a predetermined threshold, i.e. Threshold MV , the prediction determination flag prediction_determination_flag, is set to 1 because there is a high probability that the motion prediction flag is set to 1. On the other hand, if the remainder between the motion vectors from macroblocks 22 and 26 is less than Threshold MV , the prediction determination flag is set to 0 since there is a high probability that the motion prediction flag is set to 0.

После того как задано значение флага определения предсказания, кодируется флаг разности предсказания движения, обозначенный как motion_pred_flag_diff, соответствующий разности между флагом определения предсказания и флагом предсказания движения.After the prediction determination flag value is set, the motion prediction difference flag flag, designated as motion_pred_flag_diff, corresponding to the difference between the prediction determination flag and the motion prediction flag, is encoded.

Фиг.7 - это блок-схема последовательности операций, иллюстрирующая способ повышения эффективности кодирования флага предсказания движения.7 is a flowchart illustrating a method for improving the coding efficiency of a motion prediction flag.

Ссылаясь на фиг.7, вектор движения, предсказываемый из базового слоя, обозначенный как Predict_MV_From_BaseLayer, и вектор движения, предсказываемый из пространственно соседней области, обозначенный как Predict_MV_From_Spatia, получаются на этапе S201. На этапе S205, с одной стороны, если разность между двумя векторами движения меньше заранее определенного порога, т.е. ThresholdMotion, флаг предсказания движения не кодируется. С другой стороны, если разность между двумя векторами движения больше ThresholdMV, флаг определения предсказания задается для того, чтобы предсказывать флаг предсказания движения, вместо флага предсказания движения. Флагу определения предсказания присваивается значение 1 или 0 в зависимости от того, больше или нет разность, чем ThresholdMV, на этапе 210.Referring to FIG. 7, a motion vector predicted from a base layer designated as Predict_MV_From_BaseLayer and a motion vector predicted from a spatially adjacent area designated as Predict_MV_From_Spatia are obtained in step S201. In step S205, on the one hand, if the difference between the two motion vectors is less than a predetermined threshold, i.e. Threshold Motion , the motion prediction flag is not encoded. On the other hand, if the difference between the two motion vectors is greater than Threshold MV , the prediction determination flag is set to predict the motion prediction flag, instead of the motion prediction flag. The prediction determination flag is assigned a value of 1 or 0 depending on whether the difference is greater or not than Threshold MV , in step 210.

Т.е. если на этапе S210 разность больше ThresholdMV, флагу определения предсказания присваивается значение 1 на этапе S211. Если разность больше ThresholdMV, флагу определения предсказания присваивается значение 0 на этапе S212. На этапе S220 кодируется значение флага определения предсказания, заданное на этапе S211 или S212, 1 или 0, и флага разности остаточного предсказания, соответствующее разности между флагом остаточного предсказания и флагом определения предсказания.Those. if in step S210 the difference is greater than Threshold MV , the prediction determination flag is set to 1 in step S211. If the difference is greater than Threshold MV , the prediction determination flag is set to 0 in step S212. In step S220, the value of the prediction determination flag set in step S211 or S212, 1 or 0, and the residual prediction difference flag corresponding to the difference between the residual prediction flag and the prediction determination flag are encoded.

Фиг.8 - это блок-схема последовательности операций, иллюстрирующая способ декодирования данных, закодированных с помощью способа, проиллюстрированного на фиг.7, согласно примерному варианту осуществления настоящего изобретения.FIG. 8 is a flowchart illustrating a method of decoding data encoded using the method illustrated in FIG. 7 according to an exemplary embodiment of the present invention.

Ссылаясь на фиг.8, на этапе S251 вектор движения, предсказываемый из базового слоя, и вектор движения, предсказываемый из пространственно соседней области, получаются на основе кодированных данных.Referring to FIG. 8, in step S251, a motion vector predicted from a base layer and a motion vector predicted from a spatially adjacent region are obtained based on encoded data.

На этапе S255, с одной стороны, если разность между двумя векторами движения меньше заранее определенного порога, т.е. ThresholdMotion, значение флага предсказания движения, обозначенного как motion_prediction_flag, задается равным разности между флагом определения предсказания и флагом разности предсказания движения на этапе S261. Как задано в проиллюстрированной выше процедуре кодирования, флаг определения предсказания и флаг разности остаточного предсказания обозначаются как PrdRpFlag и residual_pred_flag_diff соответственно. В таком случае motion_pred_flag_diff = PrdRpFlag - motion_prediction_flag. Таким образом, motion_prediction_flag может быть получен посредством вычитания motion_pred_flag_diff из PrdRpFlag.In step S255, on the one hand, if the difference between the two motion vectors is less than a predetermined threshold, i.e. Threshold Motion , the value of the motion prediction flag, designated as motion_prediction_flag, is set equal to the difference between the prediction determination flag and the motion prediction difference flag in step S261. As specified in the coding procedure illustrated above, the prediction determination flag and the residual prediction difference flag are designated as PrdRpFlag and residual_pred_flag_diff, respectively. In this case, motion_pred_flag_diff = PrdRpFlag - motion_prediction_flag. Thus, motion_prediction_flag can be obtained by subtracting motion_pred_flag_diff from PrdRpFlag.

С другой стороны, на этапе S255, если разность меньше ThresholdMotion, motion_prediction_flag присваивается значение 0 на этапе S262.On the other hand, in step S255, if the difference is less than the Threshold Motion , the motion_prediction_flag is set to 0 in step S262.

Как описано в связи с фиг.3-8, данные, которые должны быть закодированы, предсказываются из данных базового слоя для того, чтобы уменьшить размер данных, которые должны быть закодированы. Далее описан способ уменьшения размера данных, которые должны быть закодированы, согласно другому примерному варианту осуществления настоящего изобретения.As described in connection with FIGS. 3-8, the data to be encoded is predicted from the data of the base layer in order to reduce the size of the data to be encoded. The following describes a method of reducing the size of data to be encoded according to another exemplary embodiment of the present invention.

В процессе кодирования, проиллюстрированном на фиг.3-8, кодирование флага, указывающего, содержатся ли ссылки на данные базового слоя, пропускается, когда данные базового слоя не нужны для предсказания или значение для предсказания флага кодируется вместо самого флага.In the coding process illustrated in FIGS. 3-8, coding of a flag indicating whether references to the base layer data are contained is skipped when the base layer data is not needed for prediction or the value for predicting the flag is encoded instead of the flag itself.

В другом примерном варианте осуществления кодирование флага остаточного предсказания пропускается с помощью данных базового слоя или флаг остаточного предсказания может быть преобразован в новое значение для кодирования.In another exemplary embodiment, the encoding of the residual prediction flag is skipped using the base layer data, or the residual prediction flag can be converted to a new value for encoding.

Когда остаток базового слоя не содержит ненулевые пиксели или когда CBP базового слоя равен нулю, кодирование флага остаточного предсказания может быть пропущено, поскольку флаг остаточного предсказания может быть предсказан. В противном случае кодируется значение один минус флаг остаточного предсказания, т.е. 1 - residual_prediction_flag, поскольку есть большая вероятность того, что флаг остаточного предсказания имеет значение 1. В этом случае, поскольку размер данных, которые должны быть закодированы, может возрастать, когда закодирован 1, 0 может быть закодирован вместо 1 для того, чтобы повысить эффективность кодирования.When the remainder of the base layer does not contain non-zero pixels, or when the CBP of the base layer is zero, the encoding of the residual prediction flag may be skipped since the residual prediction flag may be predicted. Otherwise, the value is encoded one minus the residual prediction flag, i.e. 1 - residual_prediction_flag, since there is a high probability that the residual prediction flag has a value of 1. In this case, since the size of the data to be encoded can increase when encoded 1, 0 can be encoded instead of 1 in order to increase efficiency coding.

Вышеописанный подход используется, когда используется кодер, основанный на кодировании переменной длины (VLC), поскольку этот подход генерирует больше нулей. Когда используется контекстное адаптивное двоичное арифметическое кодирование (CABAC), можно эффективно сжимать биты или шаблон бит, часто появляющихся в данных, которые должны быть закодированы. Таким образом, общий коэффициент сжатия может быть увеличен посредством регулирования шаблона данных, содержащего единицы или нули. CABAC достигает высокой производительности сжатия за счет выбора вероятностной модели для каждого символа на основе контекста символа, адаптации оценок вероятностей, соответствующих вероятностной модели, на основе локальной статистики, и выполнения арифметического кодирования символа. Процесс кодирования символа данных состоит из не более чем четырех элементарных этапов: 1. Преобразование в двоичную форму; 2. Контекстное моделирование; 3. Арифметическое кодирование; и 4. Обновление вероятностей.The above approach is used when a variable length coding (VLC) encoder is used, since this approach generates more zeros. When context adaptive binary arithmetic coding (CABAC) is used, it is possible to efficiently compress bits or a bit pattern often appearing in data to be encoded. Thus, the overall compression ratio can be increased by adjusting the data template containing units or zeros. CABAC achieves high compression performance by selecting a probabilistic model for each character based on the context of the character, adapting probability estimates corresponding to the probabilistic model based on local statistics, and performing arithmetic coding of the character. The process of encoding a data symbol consists of no more than four elementary steps: 1. Conversion to binary form; 2. Contextual modeling; 3. Arithmetic coding; and 4. Updating probabilities.

1. Преобразование в двоичную форму1. Binary Conversion

Среди методик CABAC двоичное арифметическое кодирование дает возможность данному символу не с двоичным значением быть уникально сопоставленным с двоичной последовательностью. В CABAC только двоичное решение вводится в процесс кодирования. Символы с недвоичными значениями, такие как коэффициенты преобразования или векторы движения, преобразуются в двоичные коды до процесса фактического арифметического кодирования. Этот процесс аналогичен преобразованию символов данных в коды длины параметра за исключением того, что двоичные коды ранее кодируются арифметическим кодером до передачи.Among CABAC techniques, binary arithmetic coding allows a given non-binary character to be uniquely mapped to a binary sequence. In CABAC, only a binary solution is introduced into the encoding process. Symbols with non-binary values, such as conversion factors or motion vectors, are converted to binary codes before the actual arithmetic coding process. This process is similar to converting data characters into parameter length codes, except that binary codes are previously encoded by an arithmetic encoder prior to transmission.

Следующие элементарные операции контекстного моделирования, арифметического моделирования и обновления вероятностей выполняются рекурсивно с соответствующими битами преобразованных в двоичную форму кодов, т.е. бинами.The following elementary operations of context modeling, arithmetic modeling and updating of probabilities are performed recursively with the corresponding bits of the binary-converted codes, i.e. bins.

2. Контекстное моделирование2. Contextual modeling

Контекстная модель, которая является вероятностной моделью для одного или более бинов преобразованных в двоичную форму символов и выбирается на основе статистики последних закодированных символов данных, сохраняет вероятность для каждого бина для того, чтобы быть 1 или 0.The context model, which is a probabilistic model for one or more binaries of binary-converted characters and is selected based on statistics of the last encoded data characters, saves the probability for each bin in order to be 1 or 0.

3. Арифметическое кодирование3. Arithmetic coding

Арифметический кодер кодирует каждый бин на основе выбранной вероятностной модели. Каждый бин имеет только два вероятностных поддиапазона, соответствующих значениям 1 и 0 соответственно.An arithmetic encoder encodes each bin based on the selected probabilistic model. Each bin has only two probability subbands corresponding to the values 1 and 0, respectively.

4. Обновление вероятностей4. Update probabilities

Выбранная вероятностная модель обновляется на основе фактически закодированных значений. Т.е. если значение бина равно 1, число вхождений единиц увеличивается на один.The selected probabilistic model is updated based on the actually encoded values. Those. if the bin value is 1, the number of occurrences of units is increased by one.

Поскольку контекстная модель выбирается для каждой серии последовательных макроблоков согласно вышеописанному CABAC, вероятностные значения вероятностных моделей инициализируются в таблицу постоянных значений для серии последовательных макроблоков. CABAC предоставляет большую эффективность кодирования, чем традиционное VLC, когда заранее определенный объем информации аккумулируется, поскольку контекстная модель должна быть непрерывно обновляема на основе статистики последних закодированных символов данных.Since the context model is selected for each series of consecutive macroblocks according to the above CABAC, the probabilistic values of the probabilistic models are initialized into a table of constant values for a series of consecutive macroblocks. CABAC provides greater coding efficiency than traditional VLC, when a predetermined amount of information is accumulated, since the context model must be continuously updated based on statistics of the latest encoded data characters.

Фиг.9 - это блок-схема последовательности операций, иллюстрирующая процесс, в котором кодирование флага остаточного предсказания, обозначенного как residual_prediction_flag, пропускается с помощью энергии остатка базового слоя или значения CBP либо флаг остаточного предсказания преобразуется в новое значение для кодирования.9 is a flowchart illustrating a process in which the encoding of the residual prediction flag, designated as residual_prediction_flag, is skipped using the remainder energy of the base layer or the CBP value, or the residual prediction flag is converted to a new encoding value.

На этапе S301 получаются остаточные данные базового слоя. Если энергия остаточных данных базового слоя или значение CBP равно 0 на этапе S302, что означает, что остаточные данные базового слоя не содержат ненулевые пиксели, остаточные данные не указываются ссылками в улучшенном слое. Таким образом, кодирование флага остаточного предсказания не обязательно.In step S301, residual data of the base layer is obtained. If the energy of the residual data of the base layer or the CBP value is 0 in step S302, which means that the residual data of the base layer does not contain non-zero pixels, the residual data is not referenced in the enhanced layer. Thus, coding of the residual prediction flag is not necessary.

Наоборот, если энергия остаточных данных базового слоя или значение CBP не равно 0, что означает, что остаточные данные базового слоя имеют ненулевые пиксели, флаг остаточного предсказания имеет смысл, поэтому значение флага остаточного предсказания получается на этапе S312. Затем на этапе S316 кодируется обратный флаг остаточного предсказания, который задается как значение один минус флаг остаточного предсказания, т.е. 1 - residual_prediction_flag.Conversely, if the energy of the residual data of the base layer or the CBP value is not 0, which means that the residual data of the base layer has nonzero pixels, the residual prediction flag makes sense, therefore, the value of the residual prediction flag is obtained in step S312. Then, in step S316, the inverse residual prediction flag is encoded, which is set to one minus the residual prediction flag, i.e. 1 - residual_prediction_flag.

Фиг.10 - это блок-схема последовательности операций, иллюстрирующая процесс декодирования данных, закодированных с помощью процесса, проиллюстрированного на фиг.9. Ссылаясь на фиг.10, на этапе S351 получаются остаточные данные базового слоя. Если энергия остаточных данных базового слоя или значение CBP равно 0 на этапе S352, что означает, что нет данных, которые должны быть использованы для предсказания в улучшенном слое, флагу остаточного предсказания присваивается значение 0 на этапе S364. Наоборот, если остаточные данные базового слоя имеют ненулевые пиксели, флаг остаточного предсказания имеет смысл. Поскольку данные, закодированные согласно способу, проиллюстрированному на фиг.9, - это значение один минус флаг остаточного предсказания, т.е. 1 - residual_prediction_flag, т.е. обратный флаг остаточного предсказания, флагу остаточного предсказания может быть присвоено значение один минус обратный флаг остаточного предсказания, т.е. 1 - reversed_residual_prediction_flag, на этапе S370.FIG. 10 is a flowchart illustrating a process for decoding data encoded using the process illustrated in FIG. 9. Referring to FIG. 10, in step S351, residual data of the base layer is obtained. If the energy of the residual data of the base layer or the CBP value is 0 in step S352, which means that there is no data to be used for prediction in the enhanced layer, the residual prediction flag is set to 0 in step S364. Conversely, if the residual data of the base layer has nonzero pixels, the residual prediction flag makes sense. Since the data encoded according to the method illustrated in FIG. 9 is one minus the residual prediction flag, i.e. 1 - residual_prediction_flag, i.e. inverse residual prediction flag, the residual prediction flag may be set to one minus the inverse residual prediction flag, i.e. 1 is reversed_residual_prediction_flag, in step S370.

В проиллюстрированном варианте осуществления, показанном на фиг.9 и 10, процесс кодирования описан таким образом, что можно определить, следует ли кодировать флаг остаточного предсказания с помощью остаточных данных базового слоя, и кодирование выполняется с помощью обратного значения остаточных данных базового слоя, тем самым повышая эффективность кодирования.In the illustrated embodiment shown in FIGS. 9 and 10, the encoding process is described in such a way that it can be determined whether the residual prediction flag is encoded using the residual data of the base layer, and encoding is performed using the inverse value of the residual data of the base layer, thereby increasing coding efficiency.

Далее описывается способ кодирования флага остаточного предсказания с помощью модифицированного контекста, когда используется CABAC. Поскольку CABAC используется для того, чтобы кодировать символы на основе контекста, как описано выше, он предлагает переменные коэффициенты сжатия в зависимости от контекстной модели, смещенной к 0 или 1. Например, когда контекст смещен к 0, коэффициент сжатия высокий, когда данные, содержащие больше нулей, чем единиц, сжимаются с помощью контекста. С другой стороны, если контекст смещен к 1, коэффициент сжатия высокий, если данные, содержащие больше единиц, чем нулей, сжимаются с помощью контекста. Как описано выше со ссылкой на фиг.9, существует очень большая вероятность того, что флаг остаточного предсказания равен 1, если он кодируется. Таким образом, флаг остаточного предсказания кодируется согласно модифицированному контексту, смещенному к символу.The following describes a method for encoding a residual prediction flag using a modified context when using CABAC. Because CABAC is used to encode context-based characters as described above, it offers variable compression ratios depending on the context model shifted to 0 or 1. For example, when the context is shifted to 0, the compression ratio is high when data containing more zeros than ones are compressed by context. On the other hand, if the context is shifted to 1, the compression ratio is high if the data containing more units than zeros is compressed using the context. As described above with reference to FIG. 9, there is a very high probability that the residual prediction flag is 1 if it is encoded. Thus, the residual prediction flag is encoded according to the modified context shifted to the symbol.

Фиг.11 - это блок-схема, иллюстрирующая процесс кодирования флага остаточного предсказания, обозначенного как residual_prediction_flag, с помощью модифицированного контекста согласно примерному варианту осуществления настоящего изобретения. Как описано выше, согласно процессу кодирования кодирование флага остаточного предсказания пропускается с помощью энергии остатка базового слоя или значения CBP либо флаг остаточного предсказания кодируется с помощью контекста, смещенного к символу 1.11 is a flowchart illustrating a process for encoding a residual prediction flag, designated residual_prediction_flag, using a modified context according to an exemplary embodiment of the present invention. As described above, according to the encoding process, the encoding of the residual prediction flag is skipped using the remainder energy of the base layer or the CBP value, or the residual prediction flag is encoded using the context shifted to symbol 1.

Ссылаясь на фиг.11, остаточные данные базового слоя получаются на этапе S401. Если энергия остаточных данных базового слоя или значение CBP равно 0 на этапе S402, что означает, что остаточные данные базового слоя не содержат ненулевые пиксели, остаточные данные не указываются ссылками в улучшенном слое. Таким образом, кодирование флага остаточного предсказания не обязательно. В свою очередь, если используется многослойная структура, значение CBP может накапливаться с самого нижнего слоя. В этом случае, если значение CBP, накопленное из базового слоя, равно 0, кодирование флага остаточного предсказания также пропускается.Referring to FIG. 11, residual data of the base layer is obtained in step S401. If the energy of the residual data of the base layer or the CBP value is 0 in step S402, which means that the residual data of the base layer does not contain non-zero pixels, the residual data is not referenced in the enhanced layer. Thus, coding of the residual prediction flag is not necessary. In turn, if a multilayer structure is used, the CBP value can accumulate from the lowest layer. In this case, if the CBP value accumulated from the base layer is 0, the encoding of the residual prediction flag is also skipped.

Если энергия остаточных данных базового слоя или накопленное значение CBP не равно 0, что означает, что остаточные данные базового слоя имеют ненулевые пиксели, флаг остаточного предсказания имеет смысл, поэтому значение флага остаточного предсказания получается на этапе S412. Поскольку существует большая вероятность того, что значение флага остаточного предсказания равно 1, флаг остаточного предсказания кодируется с помощью контекста, смещенного к символу 1, на этапе S416.If the energy of the residual data of the base layer or the accumulated CBP value is not 0, which means that the residual data of the base layer has nonzero pixels, the residual prediction flag makes sense, therefore, the value of the residual prediction flag is obtained in step S412. Since there is a high probability that the value of the residual prediction flag is 1, the residual prediction flag is encoded using the context shifted to symbol 1 in step S416.

Фиг.12 - это блок-схема последовательности операций, иллюстрирующая процесс декодирования данных, закодированных с помощью процесса, проиллюстрированного на фиг.11. Ссылаясь на фиг.12, на этапе S451 получаются остаточные данные базового слоя. Если энергия остаточных данных базового слоя или накопленное значение CBP равно 0 на этапе S452, что означает, что нет данных, которые должны быть использованы для предсказания в улучшенном слое, флагу остаточного предсказания присваивается значение 0 на этапе S464. Наоборот, если остаточные данные базового слоя имеют ненулевые пиксели на этапе S452, флаг остаточного предсказания имеет смысл. Таким образом, флаг остаточного предсказания декодируется с помощью контекста, смещенного к символу 1, на этапе S462. Затем на этапе 470 улучшенный слой получается согласно значению флага остаточного предсказания.12 is a flowchart illustrating a process for decoding data encoded using the process illustrated in FIG. 11. Referring to FIG. 12, in step S451, residual data of the base layer is obtained. If the energy of the residual data of the base layer or the accumulated CBP value is 0 in step S452, which means that there is no data to be used for prediction in the enhanced layer, the residual prediction flag is set to 0 in step S464. Conversely, if the residual data of the base layer has nonzero pixels in step S452, the residual prediction flag makes sense. Thus, the residual prediction flag is decoded using the context shifted to symbol 1 in step S462. Then, at step 470, an improved layer is obtained according to the value of the residual prediction flag.

Альтернативно, может быть определено, следует кодировать флаг остаточного предсказания с помощью энергии остаточных данных базового слоя или значения CBP. Если энергия остаточных данных базового слоя или значение CBP попадает в заранее определенный диапазон, кодирование флага остаточного предсказания может быть пропущено. Далее представлен следующий псевдокод кодирования:Alternatively, it can be determined whether the residual prediction flag should be encoded using the residual energy of the base layer data or the CBP value. If the energy of the residual data of the base layer or the CBP value falls within a predetermined range, the encoding of the residual prediction flag may be skipped. The following is the following encoding pseudo-code:

Если (энергия остаточных данных базового слоя равна 0 или значение CBP равно 0)If (the energy of the residual data of the base layer is 0 or the CBP value is 0)

тогдаthen

пропустить кодирование residual_prediction_flagskip encoding residual_prediction_flag

иначеotherwise

закодировать residual_prediction_flagencode residual_prediction_flag

Если энергия остаточных данных базового слоя или значение CBP равно нулю в результате декодирования, декодер выполняет процесс декодирования без остаточного предсказания над базовым слоем. В противном случае декодируется значение флага остаточного предсказания. Далее представлен следующий псевдокод декодирования:If the energy of the residual data of the base layer or the CBP value is zero as a result of decoding, the decoder performs the decoding process without residual prediction on the base layer. Otherwise, the value of the residual prediction flag is decoded. The following pseudo decoding code is presented:

Если (энергия остаточных данных базового слоя равна 0 или значение CBP равно 0)If (the energy of the residual data of the base layer is 0 or the CBP value is 0)

тогдаthen

пропустить декодирование residual_prediction_flagskip decoding residual_prediction_flag

иначеotherwise

декодировать residual_prediction_flagdecode residual_prediction_flag

Фиг.13 - это блок-схема последовательности операций, иллюстрирующая пример, при котором режим кодирования варьируется в зависимости от остаточных данных базового слоя.13 is a flowchart illustrating an example in which the encoding mode varies depending on the residual data of the base layer.

Ссылаясь на фиг.13, на этапе S501 получаются остаточные данные базового слоя. На этапе 520, если энергия остаточных данных базового слоя или значение CBP равно 0, что означает, что флаг остаточного предсказания равен 0, используется способ кодирования, который предлагает высокую эффективность кодирования, когда флаг остаточного предсказания равен 0. Например, если для кодирования используется CABAC, флаг остаточного предсказания может быть закодирован с помощью вероятностной модели для контекстной модели CABAC, имеющей большую вероятность быть 0, чем быть 1. Referring to FIG. 13, in step S501, residual data of the base layer is obtained. In step 520, if the base layer residual data energy or CBP value is 0, which means that the residual prediction flag is 0, an encoding method is used that offers high encoding efficiency when the residual prediction flag is 0. For example, if CABAC is used for encoding , the residual prediction flag can be encoded using a probabilistic model for the CABAC context model, which is more likely to be 0 than be 1 .

Наоборот, если энергия остаточных данных базового слоя или значение CBP не равно 0, существует очень большая вероятность того, что флаг остаточного предсказания равен 1. Таким образом, на этапе S530 используется способ кодирования, который предлагает высокую эффективность кодирования, когда флаг остаточного предсказания равен 1. Например, если в качестве способа кодирования используется CABAC, флаг остаточного предсказания может быть закодирован с помощью вероятностной модели для контекстной модели CABAC, имеющей большую вероятность быть 1, чем быть 0.Conversely, if the energy of the residual data of the base layer or the CBP value is not 0, there is a very high probability that the residual prediction flag is 1. Thus, in step S530, a coding method that offers high encoding efficiency when the residual prediction flag is 1 For example, if CABAC is used as the encoding method, the residual prediction flag can be encoded using a probabilistic model for the CABAC context model, which is more likely to be 1 than 0.

Далее представлен следующий псевдокод процесса, проиллюстрированного на фиг.13:The following pseudo-code of the process illustrated in FIG. 13 is presented.

Если (энергия остаточных данных базового слоя равна 0 или значение CBP равно 0)If (the energy of the residual data of the base layer is 0 or the CBP value is 0)

тогдаthen

кодировать с помощью способа, предлагающего высокую эффективность кодирования, когда флаг остаточного предсказания равен 0encode using a method that offers high encoding efficiency when the residual prediction flag is 0

иначеotherwise

кодировать с помощью способа, предлагающего высокую эффективность кодирования, когда флаг остаточного предсказания равен 1encode using a method that offers high encoding efficiency when the residual prediction flag is 1

При многослойном видеокодировании, когда видеоданные кодируются на базовом слое, слое мелкозернистой масштабируемости (FGS) и улучшенном слое, энергия остаточных данных или значение CBP могут указываться ссылкой в базовом слое или слое FGS.In multi-layer video coding, when the video data is encoded on a base layer, a fine-grained scalability layer (FGS) and an enhanced layer, the residual data energy or CBP value may be referenced in the base layer or FGS layer.

Процесс декодирования выполняется способом, аналогичным процессу кодирования. Т.е. после того, как получены остаточные данные базового слоя, если энергия остаточных данных или значение CBP равно 0, что означает, что флаг остаточного предсказания равен 0, кодированные видеоданные декодируются с помощью способа, предлагающего высокую эффективность кодирования, когда используется флаг остаточного предсказания, равный 0. Например, если для кодирования используется CABAC, видеоданные могут быть декодированы с помощью контекстной модели CABAC, имеющей более высокую вероятность быть 0, чем быть 1 для того, чтобы получить флаг остаточного предсказания.The decoding process is performed in a manner similar to the encoding process. Those. after the residual data of the base layer is obtained, if the residual data energy or the CBP value is 0, which means that the residual prediction flag is 0, the encoded video data is decoded using a method offering high encoding efficiency when the residual prediction flag of 0 is used For example, if CABAC is used for encoding, video data can be decoded using the CABAC context model, which is more likely to be 0 than be 1 in order to obtain a residual flag th prediction.

Наоборот, если энергия остаточных данных базового слоя или значение CBP не равно 0, что означает, что существует большая вероятность того, что флаг остаточного предсказания равен 1, видеосигнал, закодированный согласно способу кодирования, который предлагает высокую эффективность кодирования, когда флаг остаточного предсказания равен 1, декодируется способом, аналогичным способу кодирования. Например, если в качестве способа кодирования используется CABAC, видеоданные могут быть декодированы с помощью вероятностной модели для контекстной модели CABAC, имеющей более высокую вероятность быть 1, чем быть 0 для того, чтобы получить флаг остаточного предсказания. Далее представлен следующий псевдокод процесса декодирования:Conversely, if the energy of the base layer residual data or the CBP value is not 0, which means that there is a high probability that the residual prediction flag is 1, the video signal encoded according to the encoding method that offers high encoding efficiency when the residual prediction flag is 1 is decoded in a manner similar to the encoding method. For example, if CABAC is used as the encoding method, the video data may be decoded using a probabilistic model for the CABAC context model having a higher probability of being 1 than being 0 in order to obtain a residual prediction flag. The following pseudo-code for the decoding process is presented:

Если (энергия остаточных данных базового слоя равна 0 или значение CBP равно 0)If (the energy of the residual data of the base layer is 0 or the CBP value is 0)

тогдаthen

декодировать согласно способу, предлагающему высокую эффективность кодирования, когда флаг остаточного предсказания равен 0decode according to a method offering high coding efficiency when the residual prediction flag is 0

иначеotherwise

декодировать согласно способу, предлагающему высокую эффективность кодирования, когда значение флага остаточного предсказания равно 1decode according to a method offering high coding efficiency when the value of the residual prediction flag is 1

Ссылаясь на фиг.13, на этапах 520 и 530 способы кодирования, предлагающие высокую эффективность кодирования, когда флаг остаточного предсказания равен 0 и когда флаг остаточного предсказания равен 1, соответственно, используются. Один из способов, предлагающих высокую эффективность кодирования, - это использовать различные контекстные модели в ходе кодирования по энтропии.Referring to FIG. 13, at steps 520 and 530, coding methods offering high coding efficiency when the residual prediction flag is 0 and when the residual prediction flag is 1, respectively, are used. One of the methods that offer high coding efficiency is to use various context models during entropy coding.

Фиг.14 - это блок-схема последовательности операций, иллюстрирующая процесс кодирования с помощью различных контекстных моделей, когда используется CABAC, согласно примерному варианту осуществления настоящего изобретения. Ссылаясь на фиг.14, на этапе S601 получаются остаточные данные базового слоя. Если энергия остаточных данных базового слоя или значение CBP равно 0 на этапе S610, что означает, что флаг остаточного предсказания равен 0, флаг остаточного предсказания кодируется с помощью контекстной модели CABAC, имеющей более высокую вероятность быть 0, чем быть 1, на этапе S620. Наоборот, если энергия остаточных данных базового слоя или значение CBP не равно 0 на этапе S610, существует большая вероятность того, что флаг остаточного предсказания равен 1. Таким образом, флаг остаточного предсказания кодируется с помощью контекстной модели CABAC, имеющей более высокую вероятность быть 0, чем быть 1, на этапе S630.14 is a flowchart illustrating a coding process using various context models when using CABAC according to an exemplary embodiment of the present invention. Referring to FIG. 14, in step S601, residual data of the base layer is obtained. If the energy of the base layer residual data or the CBP value is 0 in step S610, which means that the residual prediction flag is 0, the residual prediction flag is encoded using the CABAC context model, which is more likely to be 0 than be 1, in step S620. Conversely, if the energy of the residual data of the base layer or the CBP value is not 0 in step S610, there is a high probability that the residual prediction flag is 1. Thus, the residual prediction flag is encoded using a CABAC context model having a higher probability of 0, than to be 1, in step S630.

Фиг.15 - это блок-схема последовательности операций, иллюстрирующая процесс декодирования данных, закодированных с помощью процесса, проиллюстрированного на фиг.14. На этапе S651 получаются остаточные данные базового слоя. На этапе S652 получаются биты шаблона кодированных блоков (CBP). На этапе S653 4 самых младших бита в CBP выделяются значению CBP для сигнала яркости, обозначенного как CodedBlockPatternLuma, а 2 более старших бита выделяются значению CBP для сигнала цветности, обозначенного как CodedBlockPatternChroma, соответственно. Значения CBP для 4 субблоков в макроблоке могут быть известны из значения CBP для CodedBlockPatternLuma. Значения CBP для постоянной и переменной составляющей тока могут быть известны из значения CBP для CodedBlockPatternChroma. Форматы coded_block_pattern, CodedBlockPatternLuma и CodedBlockPatternChroma показаны в таблице ниже. Параметр coded_block_pattern предлагает информацию о том, имеет ли субблок или макроблок, представленный каждым битом, ненулевые пиксели.FIG. 15 is a flowchart illustrating a process for decoding data encoded using the process illustrated in FIG. In step S651, residual data of the base layer is obtained. In step S652, bits of a coded block pattern (CBP) are obtained. In step S653, the 4 least significant bits in the CBP are allocated to the CBP value for the luminance signal designated as CodedBlockPatternLuma, and the 2 higher bits are allocated to the CBP value for the luminance signal designated as CodedBlockPatternChroma, respectively. The CBP values for the 4 sub-blocks in the macroblock can be known from the CBP value for CodedBlockPatternLuma. The CBP values for the DC and AC components of the current can be known from the CBP values for CodedBlockPatternChroma. The coded_block_pattern, CodedBlockPatternLuma, and CodedBlockPatternChroma formats are shown in the table below. The coded_block_pattern parameter provides information on whether the subblock or macroblock represented by each bit has nonzero pixels.

coded_block_patterncoded_block_pattern бит[5] bit [5] бит[4]bit [4] бит[3] bit [3] бит[2] bit [2] бит[1] bit [1] бит[0]bit [0] CodedBlockPatternChromaCodedBlockPatternChroma CodedBlockPatternLumaCodedBlockPatternLuma

Бит[0] имеет значение 1, когда левый верхний блок яркости 8·8 из четырех блоков яркости 8·8 в макроблоке имеет ненулевые пиксели. Бит[1] и бит[2] имеют значение 1, когда левый нижний и правый нижний блоки яркости 8Ч8 имеют ненулевые пиксели.Bit [0] has the value 1 when the upper left luminance block of 8 · 8 out of four blocks of luminance of 8 · 8 in the macroblock has non-zero pixels. Bit [1] and bit [2] have a value of 1 when the lower left and lower right blocks of brightness 8CH8 have non-zero pixels.

Бит[4] и бит[5] имеют значение 1, когда постоянные и переменные составляющие тока информации о цветности в макроблоке имеют ненулевые пиксели.Bit [4] and bit [5] have a value of 1 when the constant and variable components of the current of color information in the macroblock have non-zero pixels.

Таким образом, наличие или отсутствие ненулевых пикселей может быть определено значением CBP. Когда, по меньшей мере, один из четырех бит, составляющих CodedBlockPatternLuma, имеет значение 1 или значение CodedBlockPatternChroma больше 0 на этапе S660, что означает, что остаточные данные имеют ненулевые пиксели, существует большая вероятность того, что флаг остаточного предсказания равен 1. Таким образом, значение для выбора контекстной модели кодирования по энтропии, обозначенной как ctxIdxInc, задается равным 1 на этапе S670. После того как ctxIdxInc присвоено значение 1, кодированные данные декодируются с помощью способа декодирования, который предлагает высокую эффективность кодирования, когда флаг остаточного предсказания равен 1. Например, кодированные данные могут быть декодированы с помощью контекстной модели CABAC, имеющей более высокую вероятность быть 1, чем быть 0.Thus, the presence or absence of nonzero pixels can be determined by the CBP value. When at least one of the four bits making up the CodedBlockPatternLuma has a value of 1 or the CodedBlockPatternChroma value is greater than 0 in step S660, which means that the residual data has nonzero pixels, there is a high probability that the residual prediction flag is 1. Thus , the value for selecting the entropy coding context model designated as ctxIdxInc is set to 1 in step S670. After ctxIdxInc is set to 1, the encoded data is decoded using a decoding method that offers high encoding efficiency when the residual prediction flag is 1. For example, encoded data can be decoded using the CABAC context model, with a higher probability of 1 than be 0.

С другой стороны, если ни один из четырех бит, составляющих CodedBlockPatternLuma, не имеет значение 1 и значение CodedBlockPatternChroma равно 0 на этапе S660, что означает, что остаточные данные не содержат ненулевых пикселей, существует большая вероятность того, что флаг остаточного предсказания равен 0. Таким образом, значение ctxIdxInc задается равным 0 на этапе S680 для выбора контекстной модели кодирования по энтропии. После того как ctxIdxInc присвоено значение 0, кодированные данные декодируются с помощью способа декодирования, который предлагает высокую эффективность кодирования, когда флаг остаточного предсказания равен 0. Например, кодированные данные могут быть декодированы с помощью контекстной модели CABAC, предлагающей более высокую вероятность быть 1, чем быть 0.On the other hand, if none of the four bits making up the CodedBlockPatternLuma has a value of 1 and the CodedBlockPatternChroma value is 0 in step S660, which means that the residual data does not contain non-zero pixels, there is a high probability that the residual prediction flag is 0. Thus, the ctxIdxInc value is set to 0 in step S680 to select the entropy encoding context model. After ctxIdxInc is set to 0, the encoded data is decoded using a decoding method that offers high encoding efficiency when the residual prediction flag is 0. For example, encoded data can be decoded using a CABAC context model offering a higher probability of 1 than be 0.

После того как ctxIdxInc выборочно присвоено значение 1 на этапе S670 или 0 на этапе S680, на этапе S690 выполняется кодирование по энтропии с помощью заданного значения ctxIdxInc.After ctxIdxInc is selectively assigned a value of 1 in step S670 or 0 in step S680, entropy encoding is performed using the set value ctxIdxInc in step S690.

На этапе S660 определяется, присутствует ли бит, имеющий значение 1, в CBP. Как описано выше, значение CBP выделяется CodedBlockPatternLuma и CodedBlockPatternChroma. Процесс поиска ненулевых пикселей с помощью CodedBlockPatternLuma приведен далее:In step S660, it is determined whether a bit having a value of 1 is present in the CBP. As described above, the CBP value is allocated by CodedBlockPatternLuma and CodedBlockPatternChroma. The process for finding nonzero pixels using CodedBlockPatternLuma is as follows:

for (Luma8⊥×8BlkIdx = 0; i <= 3; i++){for (Luma8⊥ × 8BlkIdx = 0; i <= 3; i ++) {

if ((CodedBlockPatternLuma>>Luma8x8BlkIdx) & 1) andif ((CodedBlockPatternLuma >> Luma8x8BlkIdx) & 1) and

(current macroblock is inter-macroblock))(current macroblock is inter-macroblock))

thenthen

residua AvailLuma8×8Blk= 1;residua AvailLuma8 × 8Blk = 1;

break;break;

elseelse

residualAvailLuma8×8Blk = 0;residualAvailLuma8 × 8Blk = 0;

}}

Побитовая операция AND (&) выполняется для каждого Luma8×8Blkldx для того, чтобы определить, имеет ли каждый бит CodedBlockPatternLuma значение 1, и осуществляется проверка в отношении того, является ли текущий макроблок макроблоком с внутренним кодированием. Если текущий макроблок является макроблоком с внутренним кодированием, параметру residualAvailLuma8×8Blk присваивается значение 1; в противном случае ему присваивается значение 0. Параметр residualAvailLuma8×8Blk используется для того, чтобы задавать baseResidualAvailLuma8×8Blk и определять значение ctxIdxInc, которое определяет контекстную модель кодирования по энтропии.The AND (&) bitwise operation is performed for each Luma8 × 8Blkldx in order to determine whether each CodedBlockPatternLuma bit is 1 and a check is made as to whether the current macroblock is an internally encoded macroblock. If the current macroblock is an internally encoded macroblock, the value residualAvailLuma8 × 8Blk is set to 1; otherwise, it is set to 0. The residualAvailLuma8 × 8Blk parameter is used to set the baseResidualAvailLuma8 × 8Blk and determine the ctxIdxInc value, which defines the entropy encoding context model.

Процесс поиска ненулевых пикселей с помощью CodedBlockPatternChroma приведен далее:The process for finding nonzero pixels using CodedBlockPatternChroma is as follows:

if ((CodedBlockPatternChroma != 0) andif ((CodedBlockPatternChroma! = 0) and

(current macroblock is inter-macroblock))(current macroblock is inter-macroblock))

thenthen

residualAvailChroma = 1;residualAvailChroma = 1;

break;break;

elseelse

residualAvailChroma = 0;residualAvailChroma = 0;

Если значение CodedBlockPatternChroma не равно 0 и текущий макроблок является макроблоком с внешним кодированием, параметру residualAvailChroma присваивается значение 1; в противном случае ему присваивается значение 0. Параметр residualAvailLuma8×8Blk используется для того, чтобы задавать baseResidualAvailLuma8×8Blk и определять значение ctxIdxInc, которое определяет контекстную модель кодирования по энтропии.If the value of CodedBlockPatternChroma is not 0 and the current macroblock is an externally encoded macroblock, the value residualAvailChroma is set to 1; otherwise, it is set to 0. The residualAvailLuma8 × 8Blk parameter is used to set the baseResidualAvailLuma8 × 8Blk and determine the ctxIdxInc value, which defines the entropy encoding context model.

Таким образом, если, по меньшей мере, один из бит в CodedBlockPatternLuma или CodedBlockPatternChroma имеет значение 1, определяется, что остаточные данные имеют, по меньшей мере, один ненулевой пиксель, так что ctxIdxInc присваивается значение 1. В противном случае ctxIdxInc присваивается значение 0 для кодирования по энтропии.Thus, if at least one of the bits in CodedBlockPatternLuma or CodedBlockPatternChroma is set to 1, it is determined that the residual data has at least one nonzero pixel, so that ctxIdxInc is set to 1. Otherwise, ctxIdxInc is set to 0 for entropy coding.

В описанных ниже примерных вариантах осуществления "блок", "часть" или "модуль" означают компонент программного обеспечения или компонент аппаратных средств, такой как программируемая пользователем матричная БИС (FPGA) или специализированная интегральная схема (ASIC). Блок выполняет конкретную функцию, но не ограничен программным обеспечением и аппаратными средствами. Блок может быть включен в адресный носитель хранения или может быть сконфигурирован для того, чтобы воспроизводить один или более процессоров. Следовательно, блоки могут включать в себя компоненты, такие как программные компоненты, объектно-ориентированные программные компоненты, компоненты классов и компоненты заданий, процессы, функции, атрибуты, процедуры, вспомогательные процедуры, сегменты программного кода, драйверы, микропрограммное обеспечение, микрокоды, схемы, данные, базы данных, структуры данных, таблицы, массивы и параметры. Компоненты и признаки, предоставляемые блоками, могут быть объединены в меньшее число компонентов и меньшее число блоков или могут быть поделены на большее число компонентов и большее число блоков. Помимо этого, компоненты и блоки могут быть реализованы таким образом, что они воспроизводят один или более центральных процессоров (ЦП) в устройстве или защищенной мультимедийной карте (MMC).In the exemplary embodiments described below, “block,” “part,” or “module” means a software or hardware component, such as a user programmable matrix LSI (FPGA) or application specific integrated circuit (ASIC). A block performs a specific function, but is not limited to software and hardware. The unit may be included in the address storage medium or may be configured to play one or more processors. Consequently, blocks can include components such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, auxiliary procedures, program code segments, drivers, firmware, microcodes, circuits, data, databases, data structures, tables, arrays and parameters. The components and features provided by the blocks can be combined into fewer components and fewer blocks, or can be divided into more components and more blocks. In addition, components and units can be implemented in such a way that they reproduce one or more central processing units (CPUs) in a device or a secure multimedia card (MMC).

Фиг.16 - это блок-схема видеокодера 500 согласно примерному варианту осуществления настоящего изобретения, а фиг.17 - это блок-схема видеодекодера 550 согласно примерному варианту осуществления настоящего изобретения. Хотя настоящее изобретение описывается со ссылкой на фиг.16 и 17 в отношении сценария использования одного базового слоя и одного улучшенного слоя, два или более слоев могут быть использованы. Специалисты в данной области техники должны понимать, что настоящее изобретение также может быть применено между текущим слоем и нижним слоем.FIG. 16 is a block diagram of a video encoder 500 according to an exemplary embodiment of the present invention, and FIG. 17 is a block diagram of a video decoder 550 according to an exemplary embodiment of the present invention. Although the present invention is described with reference to FIGS. 16 and 17 with respect to a scenario of using one base layer and one enhanced layer, two or more layers may be used. Specialists in the art should understand that the present invention can also be applied between the current layer and the lower layer.

Ссылаясь на фиг.16, видеокодер 500, главным образом, включает в себя кодер 400 улучшенного слоя и кодер 300 базового слоя. Конфигурация кодера 300 базового слоя описывается далее.Referring to FIG. 16, video encoder 500 mainly includes an enhanced layer encoder 400 and a base layer encoder 300. The configuration of the base layer encoder 300 is described below.

Понижающий дискретизатор 310 выполняет понижающую дискретизацию входного видео согласно разрешению, частоте передачи кадров или размеру видеоизображения базового слоя. Понижающий дискретизатор MPEG или коротковолновый понижающий дискретизатор может быть использован для того, чтобы выполнять понижающую дискретизацию входного кадра до разрешения базового слоя. Схема кадров или схема интерполяции кадров может быть просто использована для того, чтобы изменить частоту передачи кадров для понижающей дискретизации. Понижающая дискретизация изображения до меньшего размера может быть выполнена посредством удаления информации в граничной области из видеоинформации или уменьшения размера видеоинформации для того, чтобы соответствовать размеру экрана. Например, понижающая дискретизация может быть выполнена для того, чтобы изменить размер исходного входного видео с соотношения сторон 16:9 к соотношению сторон 4:3.The downsampler 310 down-samples the input video according to the resolution, frame rate, or video size of the base layer. An MPEG downsampler or a shortwave downsampler can be used to downsample an input frame to the resolution of the base layer. A frame scheme or a frame interpolation scheme can simply be used to change the frame rate for downsampling. Downsampling the image to a smaller size can be done by removing information in the boundary region from the video information or reducing the size of the video information in order to fit the screen size. For example, downsampling can be performed to resize the original input video from a 16: 9 aspect ratio to a 4: 3 aspect ratio.

Блок 350 оценки движения выполняет оценку движения в кадре базового слоя для того, чтобы получить вектор движения mv для каждого сегмента в кадре базового слоя. Оценка движения - это процесс нахождения области в предыдущем опорном кадре Fr', сохраненном в буфере 380 кадров, который наиболее похож на каждый раздел в текущем кадре Fc и имеет минимальную ошибку сопоставления. Различные методики, такие как алгоритм иерархического сопоставления блоков по размеру параметров (HVSBM) или сопоставления блоков фиксированного размера, могут быть использованы для оценки движения. Опорный кадр Fr' может быть предоставлен буфером кадров 380. Хотя в вышеприведенном описании кодер 300 базового слоя поддерживает кодирование с замкнутым контуром с помощью восстановленного кадра в качестве опорного кадра, он может использовать схему кодирования с открытым контуром, используя исходный кадр базового слоя, предоставляемый понижающим дискретизатором 310, в качестве опорного кадра.Block 350 motion estimation performs motion estimation in the frame of the base layer in order to obtain the motion vector mv for each segment in the frame of the base layer. Motion estimation is the process of finding an area in the previous reference frame Fr 'stored in a buffer of 380 frames, which is most similar to each section in the current frame Fc and has a minimal matching error. Various techniques, such as a hierarchical block size matching algorithm (HVSBM) or fixed size block matching, can be used to evaluate motion. The reference frame Fr ′ may be provided by frame buffer 380. Although in the above description, the base layer encoder 300 supports closed-loop encoding using the reconstructed frame as the reference frame, it can use an open-loop coding scheme using the original base layer frame provided by the downgrade sampler 310, as a reference frame.

Компенсатор 360 движения выполняет компенсацию движения в опорном кадре с помощью вектора движения mv. Вычитатель 315 вычитает скомпенсированный по движению опорный кадр из текущего кадра базового слоя Fc для того, чтобы сгенерировать остаточный кадр.The motion compensator 360 performs motion compensation in the reference frame using the motion vector mv. Subtractor 315 subtracts the motion-compensated reference frame from the current frame of the base layer Fc in order to generate a residual frame.

Преобразователь 320 выполняет пространственное преобразование остаточного кадра для того, чтобы создать коэффициент преобразования. Способ пространственного преобразования может включать в себя дискретное косинусное преобразование (DCT) или коротковолновое преобразование. Конкретно, коэффициенты DCT могут быть созданы в случае, когда используется DCT, а коротковолновые коэффициенты могут быть созданы в случае, когда используется коротковолновое преобразование.A converter 320 performs spatial transform of the residual frame in order to create a transform coefficient. The spatial transform method may include a discrete cosine transform (DCT) or a shortwave transform. Specifically, DCT coefficients can be created in the case where DCT is used, and short-wave coefficients can be created in the case where short-wavelength conversion is used.

Квантователь 330 квантует коэффициент преобразования, принимаемый от преобразователя 320. Квантование означает процесс выражения коэффициентов преобразования, сформированных произвольными вещественными значениями, дискретными значениями, и сопоставление дискретных значений с индексами согласно заранее определенной таблице квантования. Квантованное результирующее значение упоминается как квантованный коэффициент.Quantizer 330 quantizes the transform coefficient received from transformer 320. Quantization means the process of expressing transform coefficients generated by arbitrary real values, discrete values, and matching discrete values with indices according to a predetermined quantization table. A quantized resulting value is referred to as a quantized coefficient.

Блок 340 кодирования по энтропии без потерь кодирует коэффициент квантования, получаемый квантователем 330, и вектор движения mv, получаемый блоком 350 оценки движения, в потоке битов базового слоя. Существует множество способов кодирования без потерь, в том числе арифметическое кодирование, кодирование по длине параметров и т.п.The lossless entropy encoding unit 340 encodes a quantization coefficient obtained by the quantizer 330 and the motion vector mv obtained by the motion estimation unit 350 in the bitstream of the base layer. There are many lossless coding methods, including arithmetic coding, length coding, etc.

Обратный квантователь 371 применяет обратное квантование к коэффициенту квантования, принятому от квантователя 330. Обратное квантование означает процесс обратного квантования для того, чтобы восстановить значения, сопоставленные с индексами, сгенерированными при квантовании согласно заранее определенной таблице квантования, используемой при квантовании.The inverse quantizer 371 applies inverse quantization to the quantization coefficient received from the quantizer 330. Inverse quantization means the inverse quantization process in order to restore the values associated with the indices generated by the quantization according to a predetermined quantization table used in the quantization.

Обратный преобразователь 372 выполняет обратное преобразование с обратно квантованным результатом. Обратным пространственным преобразованием может быть, например, обратное DCT или обратное коротковолновое преобразование, выполняемое в обратном порядке преобразованию, выполняемому преобразователем 320.Inverse transformer 372 performs the inverse transform with the inverse quantized result. The inverse spatial transform may be, for example, an inverse DCT or an inverse shortwave transform performed in the reverse order to the transform performed by the transformer 320.

Сумматор 325 суммирует выходные значения компенсатора 360 движения и обратного преобразователя 372 для того, чтобы восстановить текущий кадр Fc', который затем отправляется в буфер 380 кадров. Буфер 380 кадров временно сохраняет восстановленный кадр Fc' и предоставляет его в качестве опорного кадра для предсказания Inter над последующим кадром базового слоя.An adder 325 sums the output of the motion compensator 360 and the inverter 372 in order to restore the current frame Fc ', which is then sent to the frame buffer 380. A frame buffer 380 temporarily stores the recovered frame Fc 'and provides it as a reference frame for predicting Inter over a subsequent frame of the base layer.

Восстановленный кадр Fc' подается в кодер 400 улучшенного слоя после прохождения через повышающий дискретизатор 395. Разумеется, если базовый слой имеет такое же разрешение, как улучшенный слой, повышающая дискретизация может быть пропущена.The reconstructed frame Fc ′ is supplied to the enhanced layer encoder 400 after passing through the upsampler 395. Of course, if the base layer has the same resolution as the enhanced layer, upsampling may be skipped.

Далее описывается конфигурация декодера 200 улучшенного слоя. Кадр, принимаемый из кодера 300 базового слоя, и входной кадр подается в вычитатель 410. Вычитатель 410 вычисляет разность между входным кадром и кадром базового слоя, содержащим виртуальную область для того, чтобы генерировать остаточный кадр. Остаточный кадр проходит через преобразователь 420, квантователь 430 и блок 440 кодирования по энтропии перед преобразованием в поток битов улучшенного слоя.The following describes the configuration of the enhanced layer decoder 200. The frame received from the base layer encoder 300 and the input frame is supplied to the subtractor 410. The subtractor 410 calculates the difference between the input frame and the base layer frame containing the virtual area in order to generate a residual frame. The residual frame passes through a converter 420, a quantizer 430, and an entropy encoding unit 440 before being converted to an enhanced layer bitstream.

Преобразователь 420 выполняет пространственное преобразование с остаточным сигналом между макроблоком во входном кадре и макроблоком в базовом слое для того, чтобы создать коэффициент преобразования. Методика дискретного косинусного преобразования (DCT) или коротковолнового преобразования может быть использована для пространственного преобразования. Коэффициенты DCT (в случае DCT) или коротковолновые коэффициенты (в случае коротковолнового преобразования) имеют схожесть благодаря характеристикам макроблока улучшенного слоя. Таким образом, преобразователь 420 устраняет схожесть этих коэффициентов для того, чтобы увеличить коэффициент сжатия.Transformer 420 performs a spatial transform with a residual signal between the macroblock in the input frame and the macroblock in the base layer in order to create a transform coefficient. The discrete cosine transform (DCT) or shortwave transform technique can be used for spatial transform. DCT coefficients (in the case of DCT) or short-wavelength coefficients (in the case of short-wavelength conversion) have similarities due to the macroblock characteristics of the enhanced layer. Thus, converter 420 removes the similarity of these coefficients in order to increase the compression ratio.

Поскольку квантователь 430 выполняет ту же функцию/операцию, что и его аналог в кодере 300 базового слоя, его подробное описание не приводится. Выход потока битов из квантователя 430 задается посредством блока 435 задания информации о кодировании таким образом для того, чтобы эффективно кодировать флаг остаточного предсказания перед кодированием блока 440 кодирования по энтропии.Since the quantizer 430 performs the same function / operation as its counterpart in the base layer encoder 300, its detailed description is not given. The output of the bit stream from the quantizer 430 is set by the encoding information setting unit 435 so as to effectively encode the residual prediction flag before encoding the entropy encoding unit 440.

Как описано выше, в отношении информации о том, должны или нет данные кадра базового слоя указываться ссылками в данных улучшенного слоя, блок 435 задания информации о кодировании определяет разность между данными предсказания и результатом предсказания, тем самым предотвращая потерю информации, которая должна быть закодирована и доставлена из блока 440 кодирования по энтропии. Процесс выделения битов для сжатия, выполняемый в преобразователе 420, является таким, как описано в процессах предсказания остаточных данных (см. фиг.4, 9, 11, 13 и 14) и предсказания вектора движения (см. фиг.7). Например, если энергия остаточных данных в базовом слое или слое FGS равна 0 либо значение CBP равно 0, блок 435 задания информации о кодировании не кодирует флаг остаточного предсказания, поскольку предсказание остаточных данных базового слоя не обязательно; в противном случае он кодирует флаг остаточного предсказания. Если энергия остаточных данных в базовом слое или слое FGS либо значение CBP не равно 0, существует большая вероятность того, что флаг остаточного предсказания равен 1. Как описано выше со ссылкой на фиг.4, 9, 11, 13 и 14, флаг остаточного предсказания кодируется с учетом эффективности кодирования.As described above, with respect to information about whether or not the base layer frame data should be referenced in the enhanced layer data, the encoding information setting unit 435 determines the difference between the prediction data and the prediction result, thereby preventing loss of information that must be encoded and delivered from entropy encoding block 440. The process of extracting bits for compression performed in converter 420 is as described in the processes for predicting residual data (see FIGS. 4, 9, 11, 13, and 14) and predicting a motion vector (see FIG. 7). For example, if the energy of the residual data in the base layer or the FGS layer is 0 or the CBP value is 0, the encoding information setting unit 435 does not encode the residual prediction flag, since the prediction of the residual data of the base layer is not necessary; otherwise, it encodes a residual prediction flag. If the residual data energy in the base layer or the FGS layer or the CBP value is not 0, there is a high probability that the residual prediction flag is 1. As described above with reference to FIGS. 4, 9, 11, 13 and 14, the residual prediction flag encoded taking into account coding efficiency.

Когда процесс кодирования, проиллюстрированный на фиг.14, применяется, если энергия остаточных данных базового слоя или значение CBP равно 0, что означает, что флаг остаточного предсказания равен 0, блок 435 задания информации о кодировании задает вероятностное значение для контекстной модели CABAC, с тем чтобы вероятность быть 0 была выше, чем вероятность быть 1. Наоборот, если энергия остаточных данных базового слоя или значение CBP не равно 0, что означает, что существует большая вероятность того, что флаг остаточного предсказания имеет значение 1, блок 435 задания информации о кодировании задает вероятностное значение для контекстной модели CABAC, с тем чтобы вероятность быть 1 была выше, чем быть 0. В одном примерном варианте осуществления, как описано выше, блок 435 задания информации о кодировании может присвоить ctxIdxInc значение 0 или 1.When the encoding process illustrated in FIG. 14 is applied if the residual data energy of the base layer or the CBP value is 0, which means that the residual prediction flag is 0, the encoding information setting unit 435 sets a probabilistic value for the CABAC context model so that so that the probability of being 0 was higher than the probability of being 1. On the contrary, if the energy of the residual data of the base layer or the CBP value is not 0, which means that there is a high probability that the residual prediction flag has a value of 1, the encoding information setting unit 435 sets a probabilistic value for the CABAC context model so that the probability of 1 is higher than being 0. In one exemplary embodiment, as described above, the encoding information setting unit 435 may set ctxIdxInc to 0 or 1 .

Блок 440 кодирования по энтропии выполняет кодирование данных улучшенного слоя с помощью информации, заданной блоком 435 задания информации о кодировании. Поскольку блок 440 кодирования по энтропии выполняет те же функции/операции, что и блок 340 кодирования по энтропии в кодере 300 базового слоя, за исключением этой операции, их описание опущено.Entropy encoding unit 440 performs encoding of the enhanced layer data using information specified by encoding information setting unit 435. Since the entropy encoding unit 440 performs the same functions / operations as the entropy encoding unit 340 in the base layer encoder 300, with the exception of this operation, their description is omitted.

Кодер 400 улучшенного слоя, проиллюстрированный на фиг.16, может предсказывать, должны ли данные кадра базового слоя быть указываемы ссылками в ходе процесса кодирования в данных, которые могут ссылаться на кадр базового слоя, к примеру остаточных данных или вектора движения.The enhanced layer encoder 400 illustrated in FIG. 16 can predict whether base layer frame data should be referenced during the encoding process in data that can refer to a base layer frame, such as residual data or a motion vector.

Фиг.17 - это блок-схема видеодекодера согласно варианту осуществления настоящего изобретения. Видеодекодер 550, главным образом, включает в себя кодер 700 улучшенного слоя и кодер 600 базового слоя. Конфигурация кодера 600 базового слоя описывается далее.17 is a block diagram of a video decoder according to an embodiment of the present invention. Video decoder 550 mainly includes an enhanced layer encoder 700 and a base layer encoder 600. The configuration of the base layer encoder 600 is described below.

Блок 610 декодирования по энтропии без потерь декодирует поток битов базового слоя для того, чтобы извлечь данные текстуры и данные движения (к примеру, вектор движения, информацию о сегментах, номер опорного кадра и т.д.) в кадре базового слоя.The lossless entropy decoding unit 610 decodes the bitstream of the base layer in order to extract texture data and motion data (for example, motion vector, segment information, reference frame number, etc.) in the base layer frame.

Обратный квантователь 620 обратно квантует данные текстуры. Обратное квантование - это инверсия квантования, выполняемого в видеокодере 500, и является процессом восстановления значений из соответствующих индексов квантования, созданных в ходе процесса квантования с помощью таблицы квантования, используемой в ходе процесса квантования.Inverse quantizer 620 inverse quantizes texture data. Inverse quantization is the inverse of quantization performed in the video encoder 500, and is the process of recovering values from the corresponding quantization indices created during the quantization process using the quantization table used during the quantization process.

Обратный преобразователь 630 выполняет обратное пространственное преобразование обратно квантованного результата для того, чтобы восстановить остаточный кадр. Обратное пространственное преобразование - это обратный процесс пространственного преобразования, выполняемого преобразователем 320 в видеокодере 500. Обратное DCT или обратное коротковолновое преобразование может быть использовано для обратного пространственного преобразования.Inverse transformer 630 performs inverse spatial transform of the inverse quantized result in order to recover the residual frame. The inverse spatial transform is the inverse spatial transform process performed by the converter 320 in the video encoder 500. The inverse DCT or inverse shortwave transform can be used for the inverse spatial transform.

Блок 610 декодирования по энтропии также предоставляет данные движения, в том числе вектор движения mv, компенсатору 660 движения.Entropy decoding unit 610 also provides motion data, including motion vector mv, to motion compensator 660.

Компенсатор 660 движения выполняет компенсацию движения в ранее восстановленном видеокадре, т.е. опорном кадре, предоставленном буфером 650 кадров для того, чтобы сгенерировать скомпенсированный по движению кадр.Motion compensator 660 performs motion compensation in a previously reconstructed video frame, i.e. a reference frame provided by a frame buffer 650 in order to generate a motion compensated frame.

Сумматор 615 суммирует остаточный кадр, восстановленный обратным преобразователем 630, и скомпенсированный по движению кадр, сгенерированный компенсатором 660 движения для того, чтобы восстановить видеокадр базового слоя. Восстановленный видеокадр может быть временно сохранен в буфере 650 кадров и может быть предоставлен компенсатору 660 движения для восстановления последующих кадров.An adder 615 summarizes the residual frame reconstructed by the inverse transformer 630 and the motion compensated frame generated by the motion compensator 660 in order to restore the video frame of the base layer. The reconstructed video frame may be temporarily stored in a buffer of 650 frames and may be provided to the motion compensator 660 to recover subsequent frames.

Восстановленный текущий кадр Fc' подается в декодер 700 улучшенного слоя после прохождения через повышающий дискретизатор 680. Таким образом, если базовый слой имеет такое же разрешение, как улучшенный слой, повышающая дискретизация может быть пропущена. Если видеоинформация базового слоя не содержит информации об области, которая представлена в видеоинформации улучшенного слоя, повышающая дискретизация также может быть пропущена.The reconstructed current frame Fc 'is supplied to the enhanced layer decoder 700 after passing through the upsampler 680. Thus, if the base layer has the same resolution as the enhanced layer, upsampling may be skipped. If the video information of the base layer does not contain area information that is presented in the video information of the enhanced layer, upsampling may also be skipped.

Далее описывается конфигурация декодера 700 улучшенного слоя. Блок 710 декодирования по энтропии без потерь декодирует поток битов улучшенного слоя для того, чтобы извлечь данные текстуры для несинхронизированного кадра.The following describes the configuration of the enhanced layer decoder 700. The lossless entropy decoding unit 710 decodes the enhanced layer bit stream in order to extract texture data for an unsynchronized frame.

Затем извлеченные данные текстуры восстанавливаются в остаточном кадре, по мере того как они проходят через обратный квантователь 720 и обратный преобразователь 730. Обратный квантователь 720 выполняет аналогичные функции/операции, что и обратный квантователь 620 в декодере 600 базового слоя.Then, the extracted texture data is restored to the residual frame as it passes through the inverse quantizer 720 and the inverse transformer 730. The inverse quantizer 720 performs the same functions / operations as the inverse quantizer 620 in the base layer decoder 600.

Сумматор 715 добавляет восстановленный остаточный кадр к кадру базового слоя, предоставленному декодером 600 базового слоя для того, чтобы восстановить кадр.An adder 715 adds the reconstructed residual frame to the base layer frame provided by the base layer decoder 600 in order to recover the frame.

Процесс, проиллюстрированный на фиг.5, 8, 10, 12 или 15, может быть выполнен для обратного преобразователя 730 в декодере 700 улучшенного слоя для того, чтобы восстановить остаточный кадр. Чтобы определить, указываются ли ссылками декодированные данные декодированного кадра базового слоя в данных улучшенного слоя, выполняется проверка с остаточными данными или данными движения, составляющими кадр базового слоя. Если остаточные данные базового слоя меньше Thresholdresidual, как описано выше со ссылкой на фиг.5, флагу остаточного предсказания присваивается значение 0, поскольку остаточные данные базового слоя не указываются ссылками в остаточных данных улучшенного слоя. Дополнительно, как описано выше со ссылкой на фиг.8, флагу предсказания движения может быть присвоено значение 0, поскольку вектор движения базового слоя может не указываться ссылками, если разность между вектором движения базового слоя и вектором движения из пространственно соседней области меньше ThresholdMotion. The process illustrated in FIGS. 5, 8, 10, 12, or 15 may be performed for inverter 730 in enhanced layer decoder 700 in order to recover a residual frame. In order to determine whether the decoded data of the decoded frame of the base layer is referenced in the enhanced layer data, a check is performed with the residual data or motion data constituting the base layer frame. If the residual data of the base layer is less than the Threshold residual , as described above with reference to FIG. 5, the residual prediction flag is set to 0, since the residual data of the base layer is not referenced in the residual data of the enhanced layer. Additionally, as described above with reference to Fig. 8, the motion prediction flag may be set to 0, since the motion vector of the base layer may not be indicated by links if the difference between the motion vector of the base layer and the motion vector from a spatially adjacent region is less than Threshold Motion.

Альтернативно, как описано выше со ссылками на фиг.10, 12 или 15, может быть определено, могут ли остаточные данные базового слоя указываться ссылками при предсказании остаточных данных улучшенного слоя в зависимости от того, равна ли энергия остаточных данных базового слоя или значение CBP равно 0. Поскольку кодер выполняет кодирование с помощью различных методик для того, чтобы повысить эффективность кодирования, флаг остаточного предсказания может быть получен с помощью способа декодирования, соответствующего надлежащему способу кодирования.Alternatively, as described above with reference to FIGS. 10, 12 or 15, it can be determined whether the residual data of the base layer can be referenced in predicting the residual data of the enhanced layer depending on whether the energy of the residual data of the base layer or the CBP value is 0. Since the encoder performs encoding using various techniques in order to increase the encoding efficiency, the residual prediction flag can be obtained using a decoding method corresponding to the proper encoding method Nia.

Если применяется процесс декодирования, проиллюстрированный на фиг.15, анализатор 705 получает значение CBP из потока битов улучшенного слоя для того, чтобы проверить, существует ли значение 1 в рамках бита. Анализатор 705 может определить, имеют ли остаточные данные ненулевые пиксели, на основе шаблона кодированных блоков. Поскольку этот процесс такой же, как проиллюстрированный на фиг.15, его подробное описание не приводится.If the decoding process illustrated in FIG. 15 is applied, the analyzer 705 obtains a CBP value from the enhanced layer bit stream in order to check if a value of 1 exists within the bit. An analyzer 705 may determine whether the residual data has nonzero pixels based on the encoded block pattern. Since this process is the same as that illustrated in FIG. 15, a detailed description thereof is not given.

Анализатор 705 может определять, имеют ли остаточные данные ненулевые пиксели, с помощью baseResidualAvailLuma8·8Blk[0...3], а также baseResidualAvailChroma. Анализатор 705 получает бит CBP для того, чтобы выделить 4 самых младших бита и 2 более старших бита параметрам CodedBlockPatternLuma и CodedBlockPatternChroma соответственно. Затем анализатор 705 проверяет, имеет ли, по меньшей мере, один из четырех бит в CodedBlockPatternLuma значение 1, и больше ли 0 значение CodedBlockPatternChroma. Если, по меньшей мере, один из четырех бит имеет значение 1 или значение CodedBlockPatternChroma больше 0, анализатор 705 определяет, что все остаточные данные имеют, по меньшей мере, один ненулевой пиксель, и задает значение ctxIdxInc равным 1; в противном случае он задает значение ctxIdxInc равным 0. Блок 710 декодирования по энтропии выполняет декодирование по энтропии с помощью значения ctxIdxInc, заданного анализатором 705.Analyzer 705 can determine whether residual data has non-zero pixels using baseResidualAvailLuma8 · 8Blk [0 ... 3], as well as baseResidualAvailChroma. The 705 analyzer receives the CBP bit in order to allocate the 4 least significant bits and 2 higher bits to the CodedBlockPatternLuma and CodedBlockPatternChroma parameters, respectively. Then, analyzer 705 checks to see if at least one of the four bits in CodedBlockPatternLuma has a value of 1, and if CodedBlockPatternChroma is greater than 0. If at least one of the four bits has a value of 1 or the CodedBlockPatternChroma value is greater than 0, the analyzer 705 determines that all the residual data has at least one nonzero pixel, and sets the ctxIdxInc value to 1; otherwise, it sets the ctxIdxInc value to 0. Entropy decoding unit 710 performs entropy decoding using the ctxIdxInc value specified by the analyzer 705.

Хотя в вышеприведенном описании декодер 700 улучшенного слоя, показанный на фиг.17, выполняет декодирование с помощью предсказания Intra_BL из кадра базового слоя, специалисты в данной области техники должны понимать, что декодирование может быть выполнено посредством методики предсказания Inter или предсказания Intra, как описано со ссылкой на фиг.2.Although in the above description, the enhanced layer decoder 700 shown in FIG. 17 performs decoding using Intra_BL prediction from a base layer frame, those of ordinary skill in the art should understand that decoding may be performed by an Inter prediction technique or Intra prediction, as described with with reference to figure 2.

Настоящее изобретение обеспечивает увеличенный коэффициент сжатия посредством определения того, предсказываются ли данные улучшенного слоя из кадра базового слоя.The present invention provides an increased compression ratio by determining whether enhanced layer data is predicted from a base layer frame.

Специалисты в данной области техники должны понимать, что различные модификации и изменения могут быть выполнены в вариантах осуществления без отступления от области применения настоящего изобретения. Поэтому следует понимать, что вышеприведенный вариант осуществления является не ограничивающим, а иллюстративным во всех аспектах. Область применения настоящего изобретения определяется прилагаемой формулой изобретения, а не описанием изобретения. Все модификации и изменения, получаемые из области применения и духа формулы изобретения и ее эквивалентов, должны рассматриваться как включенные в область применения настоящего изобретения.Specialists in the art should understand that various modifications and changes can be made in the embodiments without departing from the scope of the present invention. Therefore, it should be understood that the above embodiment is not limiting, but illustrative in all aspects. The scope of the present invention is determined by the attached claims, and not the description of the invention. All modifications and changes derived from the scope and spirit of the claims and their equivalents should be construed as being included in the scope of the present invention.

Claims (66)

1. Способ кодирования флага остаточного предсказания, указывающего, предсказываются ли остаточные данные для блока улучшенного слоя многослойного видеосигнала из остаточных данных блока нижнего слоя, соответствующих остаточным данным для блока улучшенного слоя, при этом способ содержит этапы, на которых: вычисляют характеристические данные блока нижнего слоя, при этом характеристические данные содержат, по меньшей мере, одно из энергии остаточных данных блока нижнего слоя и значения шаблона кодированных блоков (СВР) блока нижнего слоя; определяют способ кодирования флага остаточного предсказания согласно характеристическим данным; и кодируют флаг остаточного предсказания с помощью определенного способа кодирования.1. A method of encoding a residual prediction flag indicating whether residual data for the enhanced layer block of the multilayer video signal is predicted from the residual data of the lower layer block corresponding to the residual data for the enhanced layer block, the method comprising the steps of: calculating the characteristic data of the lower layer block , while the characteristic data contains at least one of the energy of the residual data of the block of the lower layer and the values of the pattern of coded blocks (CBP) of the block of the lower layer ; determining a method for encoding a residual prediction flag according to characteristic data; and encode the residual prediction flag using a specific encoding method. 2. Способ по п.1, в котором, если характеристические данные меньше заранее определенного порога, кодирование флага остаточного предсказания пропускается, а если характеристические данные не меньше заранее определенного порога, кодирование остаточного предсказания содержит кодирование разности между предсказанным значением флага остаточного предсказания и флагом остаточного предсказания.2. The method according to claim 1, in which, if the characteristic data is less than a predetermined threshold, the encoding of the residual prediction flag is skipped, and if the characteristic data is not less than the predetermined threshold, the residual prediction encoding comprises encoding the difference between the predicted value of the residual prediction flag and the residual flag predictions. 3. Способ по п.1, в котором, если характеристические данные не меньше заранее определенного порога, кодирование флага остаточного предсказания содержит кодирование значения 1 минус флаг остаточного предсказания.3. The method according to claim 1, wherein if the characteristic data is not less than a predetermined threshold, the encoding of the residual prediction flag comprises encoding a value 1 minus the residual prediction flag. 4. Способ по п.1, в котором, если характеристические данные меньше заранее определенного порога, кодирование флага остаточного предсказания пропускается, а если характеристические данные не меньше заранее определенного порога, кодирование флага остаточного предсказания выполняется с помощью контекстной модели, смещенной к символу 1.4. The method according to claim 1, in which, if the characteristic data is less than a predetermined threshold, the encoding of the residual prediction flag is skipped, and if the characteristic data is not less than a predetermined threshold, the encoding of the residual prediction flag is performed using the context model shifted to symbol 1. 5. Способ по п.1, в котором, если характеристические данные меньше заранее определенного порога, кодирование флага остаточного предсказания выполняется с помощью первой контекстной модели, а если характеристические данные не меньше заранее определенного порога, кодирование флага остаточного предсказания выполняется с помощью второй контекстной модели, при этом первая контекстная модель имеет большую вероятность быть 0, чем быть 1, а вторая контекстная модель имеет большую вероятность быть 1, чем быть 0.5. The method according to claim 1, in which, if the characteristic data is less than a predetermined threshold, the encoding of the residual prediction flag is performed using the first context model, and if the characteristic data is not less than the predetermined threshold, the encoding of the residual prediction flag is performed using the second context model , while the first context model is more likely to be 0 than to be 1, and the second context model is more likely to be 1 than to be 0. 6. Способ по п.1, в котором нижний слой содержит одно из базового слоя и слоя мелкозернистой масштабируемости (FGS).6. The method according to claim 1, in which the lower layer contains one of the base layer and the fine-grained scalability layer (FGS). 7. Способ по п.1, в котором: энергия остаточных данных блока нижнего слоя содержит число ненулевых пикселей в блоке нижнего слоя; и значение СВР блока нижнего слоя содержит число бит в СВР, имеющих значение 1.7. The method according to claim 1, in which: the residual energy of the block of the lower layer contains the number of nonzero pixels in the block of the lower layer; and the CBP value of the bottom layer block contains the number of bits in the CBP having a value of 1. 8. Способ по п.1, в котором значение СВР содержит значения четырех (4) самых младших бит СВР для информации о яркости, называемых CodedBlockPatternLuma, и двух (2) более старших бит СВР для информации о цветности, называемых CodedBlockPatternChroma.8. The method according to claim 1, wherein the CBP value comprises the values of the four (4) LSB bits for luminance information, called CodedBlockPatternLuma, and the two (2) higher CBP bits for color information, called CodedBlockPatternChroma. 9. Способ по п.1, в котором вычисление энергии остаточных данных содержит этап, на котором суммируют энергию нижнего слоя, который указан ссылками в улучшенном слое.9. The method according to claim 1, in which the calculation of the energy of the residual data comprises the step of summing the energy of the lower layer, which is indicated by references in the improved layer. 10. Способ по п.1, в котором вычисление СВР блока нижнего слоя содержит этап, на котором определяют, имеет ли каждый бит СВР в блоке нижнего слоя значение 1.10. The method according to claim 1, in which the calculation of the CBP of the block of the lower layer comprises the step of determining whether each bit of the CBP in the block of the lower layer has a value of 1. 11. Способ декодирования флага остаточного предсказания, указывающего, предсказываются ли остаточные данные для блока улучшенного слоя многослойного видеосигнала из остаточных данных блока нижнего слоя, соответствующих остаточным данным для блока улучшенного слоя, при этом способ содержит этапы, на которых: вычисляют характеристические данные блока нижнего слоя, при этом характеристические данные содержат, по меньшей мере, одно из энергии остаточных данных блока нижнего слоя и значения шаблона кодированных блоков (СВР) блока нижнего слоя; определяют способ декодирования флага остаточного предсказания согласно характеристическим данным; и декодируют флаг остаточного предсказания с помощью определенного способа декодирования.11. A method for decoding a residual prediction flag indicating whether residual data for the enhanced layer block of the multi-layer video signal is predicted from the residual data of the lower layer block corresponding to the residual data for the enhanced layer block, the method comprising the steps of: calculating the characteristic data of the lower layer block , while the characteristic data contains at least one of the energy of the residual data of the block of the lower layer and the values of the pattern of coded blocks (CBP) of the block lower c Oja; determining a method for decoding the residual prediction flag according to characteristic data; and decode the residual prediction flag using a specific decoding method. 12. Способ по п.11, в котором: если характеристические данные меньше заранее определенного порога, флагу остаточного предсказания присваивается значение 0 без декодирования флага остаточного предсказания; и если характеристические данные не меньше заранее определенного порога, флагу остаточного предсказания присваивается значение разности между флагом разности остаточного предсказания и предсказанным значением флага остаточного предсказания, при этом флаг разности остаточного предсказания соответствует разности между предсказанным значением флага остаточного предсказания и флагом остаточного предсказания.12. The method according to claim 11, in which: if the characteristic data is less than a predetermined threshold, the residual prediction flag is assigned a value of 0 without decoding the residual prediction flag; and if the characteristic data is not less than a predetermined threshold, the residual prediction flag is assigned a difference value between the residual prediction difference flag and the predicted residual prediction flag, the residual prediction difference flag corresponding to the difference between the predicted residual prediction flag and the residual prediction flag. 13. Способ по п.11, в котором, если характеристические данные больше заранее определенного порога, флагу остаточного предсказания присваивается значение 1 минус обратный флаг остаточного предсказания.13. The method according to claim 11, in which, if the characteristic data is greater than a predetermined threshold, the residual prediction flag is set to 1 minus the inverse residual prediction flag. 14. Способ по п.11, в котором: если характеристические данные меньше заранее определенного порога, декодирование флага остаточного предсказания пропускается; и если характеристические данные не меньше заранее определенного порога, декодирование флага остаточного предсказания выполняется с помощью контекстной модели, смещенной к символу 1.14. The method according to claim 11, in which: if the characteristic data is less than a predetermined threshold, decoding the residual prediction flag is skipped; and if the characteristic data is not less than a predetermined threshold, the decoding of the residual prediction flag is performed using the context model shifted to symbol 1. 15. Способ по п.11, в котором, когда кодирование флага остаточного предсказания выполнено с помощью контекстного адаптивного двоичного арифметического кодирования (САВАС): если характеристические данные меньше заранее определенного порога, флаг остаточного предсказания декодируется с помощью первой контекстной модели; и если характеристические данные не меньше заранее определенного порога, флаг остаточного предсказания декодируется с помощью второй контекстной модели, причем первая контекстная модель имеет большую вероятность быть 0, чем быть 1, а вторая контекстная модель имеет большую вероятность быть 1, чем быть 0.15. The method according to claim 11, in which, when the encoding of the residual prediction flag is performed using context adaptive binary arithmetic coding (SAVAS): if the characteristic data is less than a predetermined threshold, the residual prediction flag is decoded using the first context model; and if the characteristic data is not less than a predetermined threshold, the residual prediction flag is decoded using the second context model, the first context model being more likely to be 0 than being 1, and the second context model being more likely to be 1 than being 0. 16. Способ по п.11, в котором нижний слой содержит одно из базового слоя и слоя мелкозернистой масштабируемости (FGS).16. The method according to claim 11, in which the lower layer contains one of the base layer and the fine-grained scalability layer (FGS). 17. Способ по п.11, в котором: энергия остаточных данных блока нижнего слоя содержит число ненулевых пикселей в блоке нижнего слоя; и значение СВР блока нижнего слоя содержит число бит в СВР, имеющих значение 1.17. The method according to claim 11, in which: the residual energy of the block of the lower layer contains the number of non-zero pixels in the block of the lower layer; and the CBP value of the bottom layer block contains the number of bits in the CBP having a value of 1. 18. Способ по п.11, в котором значение СВР содержит значения четырех (4) самых младших бит СВР для информации о яркости, называемых CodedBlockPatternLuma, и двух (2) более старших бит СВР для информации о цветности, называемых CodedBlockPatternChroma.18. The method of claim 11, wherein the CBP value comprises the values of the four (4) least significant bits of the CBP for luminance information called CodedBlockPatternLuma and the two (2) higher bits of the CBP for luminance information called CodedBlockPatternChroma. 19. Способ по п.11, в котором вычисление энергии остаточных данных содержит этап, на котором суммируют энергию нижнего слоя, который указан ссылками в улучшенном слое.19. The method according to claim 11, in which the calculation of the energy of the residual data comprises the step of summing the energy of the lower layer, which is indicated by references in the improved layer. 20. Способ по п.11, в котором вычисление СВР блока нижнего слоя содержит этап, на котором определяют, имеет ли каждый бит СВР в блоке нижнего слоя, который указывается ссылкой улучшенным слоем, значение 1.20. The method according to claim 11, in which the calculation of the CBP block of the lower layer contains a step on which it is determined whether each bit of the CBP in the block of the lower layer, which is indicated by the reference improved layer, value 1. 21. Способ декодирования флага остаточного предсказания, указывающего, предсказываются ли остаточные данные для блока улучшенного слоя многослойного видеосигнала из остаточных данных блока нижнего слоя, соответствующих остаточным данным для блока улучшенного слоя, при этом способ содержит этапы, на которых: проверяют значение шаблона кодированных блоков (СВР) блока нижнего слоя; определяют, имеет ли каждый бит СВР в блоке нижнего слоя значение 1; определяют способ декодирования флага остаточного предсказания согласно тому, имеет или нет, по меньшей мере, один бит СВР в блоке нижнего слоя значение 1; и декодируют флаг остаточного предсказания согласно определенному способу декодирования.21. A method for decoding a residual prediction flag indicating whether residual data for the enhanced layer block of the multilayer video signal is predicted from the residual data of the lower layer block corresponding to the residual data for the enhanced layer block, the method comprising the steps of: checking the value of the encoded block pattern ( CBP) block of the lower layer; determining whether each CBP bit in the block of the lower layer has a value of 1; determining a method for decoding the residual prediction flag according to whether or not at least one CBP bit in the lower layer block has a value of 1; and decode the residual prediction flag according to a specific decoding method. 22. Способ по п.21, в котором определение того, имеет или нет каждый бит СВР значение 1, содержит этапы, на которых: задают четыре (4) самых младших бита СВР в качестве первого параметра, который используется для того, чтобы определять кодирование информации о яркости, и два (2) более старших бита в качестве второго параметра, который используется для того, чтобы определять кодирование информации о цветности; выполняют операцию сдвига вправо, которая сдвигает бит первого параметра вправо на целое число, выбранное из диапазона 0-3, выделенного адресу макроблока, и выполняют побитовую операцию AND для 1 с результатом операции сдвига вправо, т.е. 1 AND результат операции сдвига вправо; и определяют, что, по меньшей мере, один (1) бит СВР имеет значение 1, если результат побитовой операции AND не равен 0.22. The method according to item 21, in which determining whether or not each bit of the CBP has a value of 1, comprises the steps of: setting the four (4) least significant bits of the CBP as the first parameter, which is used to determine the encoding luminance information, and two (2) higher bits as a second parameter, which is used to determine the encoding of the color information; perform a right shift operation, which shifts the bit of the first parameter to the right by an integer selected from the range 0-3 allocated to the macroblock address, and perform AND bitwise operation for 1 with the result of a right shift operation, i.e. 1 AND result of the shift operation to the right; and determining that at least one (1) CBP bit is 1 if the result of the AND bitwise operation is not 0. 23. Способ по п.21, в котором определение способа декодирования содержит этап, на котором задают контекстную модель для декодирования флага остаточного предсказания, а декодирование флага остаточного предсказания выполняется посредством декодирования по энтропии заданной контекстной модели, при этом декодирование по энтропии это обратная операция САВАС.23. The method according to item 21, in which the determination of the decoding method comprises setting a context model for decoding the residual prediction flag, and decoding the residual prediction flag by entropy decoding of the specified context model, while decoding by entropy is the inverse of SAVAS . 24. Способ по п.21, в котором декодирование по энтропии выполняется посредством контекстного адаптивного двоичного арифметического кодирования (САВАС).24. The method according to item 21, in which decoding by entropy is performed using context adaptive binary arithmetic coding (SAVAS). 25. Способ по п.21, в котором определение способа декодирования содержит этапы, на которых: задают в качестве значения параметра выбора контекстной модели 1, если имеется, по меньшей мере, один (1) бит СВР, имеющий значение 1; и задают в качестве значения параметра выбора контекстной модели 0, если нет ни одного бита СВР, имеющего значение 1.25. The method according to item 21, in which the determination of the decoding method comprises the steps of: setting as the value of the selection parameter of the context model 1, if there is at least one (1) bit CBP, having a value of 1; and set as the value of the selection parameter of the context model 0, if there are no bits of the SVR having the value 1. 26. Способ по п.25, в котором при декодировании флага обратного предсказания флаг обратного предсказания декодируется с помощью: первой контекстной модели, имеющей более высокую вероятность быть 0, чем быть 1, если параметру выбора контекстной модели присвоено значение 0; и второй контекстной модели, имеющей более высокую вероятность быть 1, чем быть 0, если параметру присвоено значение 1.26. The method according A.25, in which when decoding the flag of the inverse prediction, the flag of the inverse prediction is decoded using: the first context model that is more likely to be 0 than to be 1 if the selection parameter of the context model is set to 0; and the second context model, which is more likely to be 1 than to be 0 if the parameter is set to 1. 27. Способ по п.21, в котором нижний слой содержит одно из базового слоя и слоя мелкозернистой масштабируемости (FGS).27. The method according to item 21, in which the lower layer contains one of the base layer and the fine-grained scalability layer (FGS). 28. Способ по п.23, в котором при подтверждении СВР блока нижнего слоя определяется, имеет ли каждый бит СВР в блоке нижнего слоя, который используется для того, чтобы предсказывать улучшенный слой, значение 1.28. The method according to item 23, in which when confirming the CBP of the block of the lower layer, it is determined whether each bit of the CBP in the block of the lower layer, which is used to predict the improved layer, value 1. 29. Способ декодирования улучшенного слоя многослойного видеосигнала, при этом способ содержит этапы, на которых: определяют способ декодирования флага остаточного предсказания, указывающего, предсказывается ли улучшенный слой из нижнего слоя с помощью значения шаблона кодированных блоков (СВР) нижнего слоя; и декодируют флаг остаточного предсказания с помощью способа декодирования по энтропии, выбранного согласно способу декодирования, и декодируют улучшенный слой с помощью флага остаточного предсказания.29. A method for decoding an enhanced layer of a multilayer video signal, the method comprising the steps of: determining a method for decoding a residual prediction flag indicating whether the improved layer is predicted from the lower layer using the encoded block pattern (CBP) value of the lower layer; and decode the residual prediction flag using the entropy decoding method selected according to the decoding method, and the enhanced layer is decoded using the residual prediction flag. 30. Видеокодер для кодирования флага остаточного предсказания, указывающего, предсказываются ли остаточные данные для блока улучшенного слоя многослойного видеосигнала из остаточных данных блока нижнего слоя, соответствующих остаточным данным для блока улучшенного слоя, при этом кодер содержит: блок кодирования нижнего слоя, который генерирует характеристические данные для блока нижнего слоя, при этом характеристические данные содержат, по меньшей мере, одно из энергии остаточных данных блока нижнего слоя и значения шаблона кодированных блоков (СВР) блока нижнего слоя; блок кодирования улучшенного слоя, который кодирует флаг остаточного предсказания с помощью способа кодирования для флага остаточного предсказания, при этом способ определяется согласно характеристическим данным.30. A video encoder for encoding a residual prediction flag indicating whether residual data for the enhanced layer block of the multilayer video signal is predicted from the residual data of the lower layer block corresponding to the residual data for the enhanced layer block, wherein the encoder comprises: a lower layer encoding block that generates characteristic data for the block of the lower layer, while the characteristic data contains at least one of the energy of the residual data of the block of the lower layer and the value of the template is encoded ny blocks (SVR) of the lower layer block; an enhanced layer encoding unit that encodes a residual prediction flag using an encoding method for the residual prediction flag, the method being determined according to characteristic data. 31. Видеокодер по п.30, в котором, если характеристические данные меньше заранее определенного порога, кодирование флага остаточного предсказания пропускается, а если характеристические данные не меньше заранее определенного порога, кодирование остаточного предсказания содержит кодирование разности между предсказанным значением флага остаточного предсказания и флагом остаточного предсказания.31. The video encoder of claim 30, wherein, if the characteristic data is less than a predetermined threshold, the residual prediction flag encoding is skipped, and if the characteristic data is not less than a predetermined threshold, the residual prediction encoding comprises encoding the difference between the predicted residual prediction flag and the residual flag predictions. 32. Видеокодер по п.30, в котором, если характеристические данные не меньше заранее определенного порога, кодирование флага остаточного предсказания содержит кодирование значения 1 минус флаг остаточного предсказания.32. The video encoder of claim 30, wherein, if the characteristic data is not less than a predetermined threshold, encoding the residual prediction flag comprises encoding a value 1 minus the residual prediction flag. 33. Видеокодер по п.30, в котором кодирование флага остаточного предсказания выполняется с помощью контекстного адаптивного двоичного арифметического кодирования (САВАС); и котором, если характеристические данные меньше заранее определенного порога, кодирование флага остаточного предсказания пропускается, а если характеристические данные не меньше заранее определенного порога, кодирование флага остаточного предсказания выполняется с помощью контекстной модели, смещенной к символу 1.33. The video encoder of claim 30, wherein the coding of the residual prediction flag is performed using context adaptive binary arithmetic coding (SAVAS); and which, if the characteristic data is less than a predetermined threshold, the encoding of the residual prediction flag is skipped, and if the characteristic data is not less than the predetermined threshold, the encoding of the residual prediction flag is performed using the context model shifted to symbol 1. 34. Видеокодер по п.30, в котором кодирование флага остаточного предсказания выполняется с помощью контекстного адаптивного двоичного арифметического кодирования (САВАС); и в котором, если характеристические данные меньше заранее определенного порога, кодирование флага остаточного предсказания выполняется с помощью первой контекстной модели, а если характеристические данные не меньше заранее определенного порога, кодирование флага остаточного предсказания выполняется с помощью второй контекстной модели, при этом первая контекстная модель имеет большую вероятность быть 0, чем быть 1, а вторая контекстная модель имеет большую вероятность быть 1, чем быть 0.34. The video encoder of claim 30, wherein the coding of the residual prediction flag is performed using context adaptive binary arithmetic coding (SAVAS); and in which, if the characteristic data is less than a predetermined threshold, the encoding of the residual prediction flag is performed using the first context model, and if the characteristic data is not less than the predetermined threshold, the encoding of the residual prediction flag is performed using the second context model, the first context model having more likely to be 0 than to be 1, and the second context model is more likely to be 1 than to be 0. 35. Видеокодер по п.30, в котором нижний слой содержит одно из базового слоя и слоя мелкозернистой масштабируемости (FGS).35. The video encoder of claim 30, wherein the bottom layer comprises one of a base layer and a fine grain scalability (FGS) layer. 36. Видеокодер по п.30, в котором энергия остаточных данных блока нижнего слоя содержит число ненулевых пикселей в блоке нижнего слоя; и значение СВР блока нижнего слоя содержит число бит в СВР, имеющих значение 1.36. The video encoder of claim 30, wherein the energy of the residual data of the lower layer block comprises a number of nonzero pixels in the lower layer block; and the CBP value of the bottom layer block contains the number of bits in the CBP having a value of 1. 37. Видеокодер по п.30, в котором значение СВР содержит значения четырех (4) самых младших бит СВР для информации о яркости, называемых CodedBlockPatternLuma, и двух (2) более старших бит СВР для информации о цветности, называемых CodedBlockPatternChroma.37. The video encoder according to claim 30, wherein the CBP value comprises the values of the four (4) lowest bits of the CBP for luminance information called CodedBlockPatternLuma and the two (2) higher bits of the CBP for color information called CodedBlockPatternChroma. 38. Видеодекодер для декодирования флага остаточного предсказания, указывающего, предсказываются ли остаточные данные для блока улучшенного слоя многослойного видеосигнала из остаточных данных блока нижнего слоя, соответствующих остаточным данным для блока улучшенного слоя, при этом декодер содержит: блок декодирования нижнего слоя, который генерирует характеристические данные для блока нижнего слоя, при этом характеристические данные содержат, по меньшей мере, одно из энергии остаточных данных блока нижнего слоя и значения шаблона кодированных блоков (СВР) блока нижнего слоя; и блок декодирования улучшенного слоя, который декодирует флаг остаточного предсказания с помощью способа декодирования для флага остаточного предсказания, при этом способ определяется согласно характеристическим данным.38. A video decoder for decoding a residual prediction flag indicating whether residual data for the enhanced layer block of the multilayer video signal is predicted from the residual data of the lower layer block corresponding to the residual data for the enhanced layer block, wherein the decoder comprises: a lower layer decoding block that generates characteristic data for the block of the lower layer, while the characteristic data contains at least one of the energy of the residual data of the block of the lower layer and the value of the template odirovanny blocks (SVR) the block of the lower layer; and an enhanced layer decoding unit that decodes the residual prediction flag using a decoding method for the residual prediction flag, the method being determined according to characteristic data. 39. Видеодекодер по п.38, в котором, если характеристические данные меньше заранее определенного порога, флагу остаточного предсказания присваивается значение 0 без декодирования флага остаточного предсказания; и если характеристические данные не меньше заранее определенного порога, флагу остаточного предсказания присваивается значение разности между флагом разности остаточного предсказания и предсказанным значением флага остаточного предсказания, при этом флаг разности остаточного предсказания соответствует разности между предсказанным значением флага остаточного предсказания и флагом остаточного предсказания.39. The video decoder of claim 38, wherein if the characteristic data is less than a predetermined threshold, the residual prediction flag is set to 0 without decoding the residual prediction flag; and if the characteristic data is not less than a predetermined threshold, the residual prediction flag is assigned a difference value between the residual prediction difference flag and the predicted residual prediction flag, the residual prediction difference flag corresponding to the difference between the predicted residual prediction flag and the residual prediction flag. 40. Видеодекодер по п.38, в котором, если характеристические данные больше заранее определенного порога, флагу остаточного предсказания присваивается значение 1 минус обратный флаг остаточного предсказания.40. The video decoder of claim 38, wherein if the characteristic data is greater than a predetermined threshold, a residual prediction flag is set to 1 minus the inverse residual prediction flag. 41. Видеодекодер по п.38, в котором, когда кодирование флага остаточного предсказания выполнено с помощью контекстного адаптивного двоичного арифметического кодирования (САВАС): если характеристические данные меньше заранее определенного порога, декодирование флага остаточного предсказания пропускается; и если характеристические данные не меньше заранее определенного порога, декодирование флага остаточного предсказания выполняется с помощью контекстной модели, смещенной к символу 1.41. The video decoder of claim 38, wherein when the residual prediction flag encoding is performed using context adaptive binary arithmetic coding (SAVAS): if the characteristic data is less than a predetermined threshold, decoding of the residual prediction flag is skipped; and if the characteristic data is not less than a predetermined threshold, the decoding of the residual prediction flag is performed using the context model shifted to symbol 1. 42. Видеодекодер по п.38, в котором, когда кодирование флага остаточного предсказания выполнено с помощью контекстного адаптивного двоичного арифметического кодирования (САВАС): если характеристические данные меньше заранее определенного порога, флаг остаточного предсказания декодируется с помощью первой контекстной модели; и если характеристические данные не меньше заранее определенного порога, флаг остаточного предсказания декодируется с помощью второй контекстной модели, причем первая контекстная модель имеет большую вероятность быть 0, чем быть 1, а вторая контекстная модель имеет большую вероятность быть 1, чем быть 0.42. The video decoder of claim 38, wherein when the residual prediction flag encoding is performed using context adaptive binary arithmetic coding (SAVAS): if the characteristic data is less than a predetermined threshold, the residual prediction flag is decoded using the first context model; and if the characteristic data is not less than a predetermined threshold, the residual prediction flag is decoded using the second context model, the first context model being more likely to be 0 than being 1, and the second context model being more likely to be 1 than being 0. 43. Видеодекодер по п.38, в котором нижний слой содержит одно из базового слоя и слоя мелкозернистой масштабируемости (FGS).43. The video decoder of claim 38, wherein the bottom layer comprises one of a base layer and a fine grain scalability (FGS) layer. 44. Видеодекодер по п.38, в котором энергия остаточных данных блока нижнего слоя содержит число ненулевых пикселей в блоке нижнего слоя; и значение СВР блока нижнего слоя содержит число бит в СВР, имеющих значение 1.44. The video decoder according to clause 38, in which the energy of the residual data of the block of the lower layer contains the number of non-zero pixels in the block of the lower layer; and the CBP value of the bottom layer block contains the number of bits in the CBP having a value of 1. 45. Видеодекодер по п.38, в котором значение СВР содержит значения четырех (4) самых младших бит СВР для информации о яркости, называемых CodedBlockPatternLuma, и двух (2) более старших бит СВР для информации о цветности, называемых CodedBlockPatternChroma.45. The video decoder of claim 38, wherein the CBP value comprises the values of the four (4) lowest CBP bits for luminance information called CodedBlockPatternLuma and two (2) higher CBP bits for color information called CodedBlockPatternChroma. 46. Декодер для декодирования флага остаточного предсказания, указывающего, предсказываются ли остаточные данные для блока улучшенного слоя многослойного видеосигнала из остаточных данных блока нижнего слоя, соответствующих остаточным данным для блока улучшенного слоя, при этом декодер содержит: анализатор, который анализирует значение шаблона кодированных блоков (СВР) блока нижнего слоя; блок декодирования, который определяет способ декодирования флага остаточного предсказания согласно значению СВР и декодирует флаг остаточного предсказания с помощью определенного способа декодирования.46. A decoder for decoding a residual prediction flag indicating whether residual data for the enhanced layer block of the multilayer video signal is predicted from the residual data of the lower layer block corresponding to the residual data for the enhanced layer block, the decoder comprising: an analyzer that analyzes the value of the encoded block pattern ( CBP) block of the lower layer; a decoding unit that determines a method for decoding the residual prediction flag according to the CBP value and decodes the residual prediction flag using a specific decoding method. 47. Декодер по п.46, в котором анализатор задает четыре (4) самых младших бита СВР в качестве первого параметра, который используется для того, чтобы определять кодирование информации о яркости, и два (2) более старших бита в качестве второго параметра, который используется для того, чтобы определять кодирование информации о цветности, выполняет операцию сдвига вправо, которая сдвигает бит первого параметра вправо на целое число, выбранное из диапазона 0-3, выделенного адресу макроблока, и выполняет побитовую операцию AND для 1 с результатом операции сдвига вправо, т.е. 1 AND результат операции сдвига вправо, и определяет, что, по меньшей мере, один (1) бит СВР имеет значение 1, если результат побитовой операции AND не равен 0.47. The decoder according to item 46, in which the analyzer sets the four (4) LSB bits as the first parameter, which is used to determine the encoding of the brightness information, and two (2) LSBs as the second parameter, which is used to determine the encoding of the color information, performs a right shift operation, which shifts the bit of the first parameter to the right by an integer selected from the range 0-3 allocated to the macroblock address, and performs the AND bitwise operation for 1 with the result of the opera uu right shift, i.e. 1 AND the result of the shift operation to the right, and determines that at least one (1) bit of the CBP has a value of 1 if the result of the bitwise AND operation is not 0. 48. Декодер по п.46, в котором анализатор задает контекстную модель для декодирования флага остаточного предсказания, а блок декодирования выполняет декодирование по энтропии с помощью заданной контекстной модели.48. The decoder of claim 46, wherein the analyzer defines a context model for decoding the residual prediction flag, and the decoding unit performs entropy decoding using the specified context model. 49. Декодер по п.48, в котором декодирование по энтропии выполняется посредством контекстного адаптивного двоичного арифметического кодирования (САВАС).49. The decoder of claim 48, wherein the entropy decoding is performed by context adaptive binary arithmetic coding (SAVAS). 50. Декодер по п.46, в котором анализатор задает в качестве значения параметра выбора контекстной модели 1, если имеется, по меньшей мере, один (1) бит СВР, имеющий значение 1, при определении того, имеет ли каждый бит СВР значение 1, или задает в качестве значения параметра 0, если нет ни одного бита СВР, имеющего значение 1.50. The decoder according to item 46, in which the analyzer sets the value of the selection parameter of the context model 1, if there is at least one (1) bit CBP, having a value of 1, when determining whether each bit of CBP has a value of 1 , or sets the value of parameter 0 if there are no bits of the CBP having the value 1. 51. Декодер по п.50, в котором блок декодирования декодирует флаг остаточного предсказания с помощью: первой контекстной модели, имеющей более высокую вероятность быть 0, чем быть 1, если параметру выбора контекстной модели присвоено значение 0; и второй контекстной модели, имеющей более высокую вероятность быть 1, чем быть 0, если параметру присвоено значение 1.51. The decoder according to claim 50, wherein the decoding unit decodes the residual prediction flag with: a first context model having a higher probability of being 0 than being 1 if the context model selection parameter is set to 0; and the second context model, which is more likely to be 1 than to be 0 if the parameter is set to 1. 52. Декодер по п.46, в котором нижний слой содержит одно из базового слоя и слоя мелкозернистой масштабируемости (FGS).52. The decoder of claim 46, wherein the bottom layer comprises one of a base layer and a fine grain scalability (FGS) layer. 53. Декодер по п.46, в котором анализатор определяет, имеет ли каждый бит СВР блока нижнего слоя, который указывается ссылкой в улучшенном слое, значение 1.53. The decoder according to item 46, in which the analyzer determines whether each bit of the CBP block of the lower layer, which is indicated by a link in the enhanced layer, value 1. 54. Декодер для декодирования улучшенного слоя многослойного видеосигнала, при этом декодер содержит: анализатор, который анализирует значение шаблона кодированных блоков (СВР) для нижнего слоя; блок декодирования по энтропии, который определяет способ декодирования флага остаточного предсказания, указывающего, предсказывается ли улучшенный слой из нижнего слоя с помощью значения СВР, и выполняет декодирование по энтропии флага остаточного предсказания согласно способу декодирования и затем улучшенного слоя; обратный квантователь, который обратно квантует улучшенный слой; и обратный преобразователь, который выполняет обратное преобразование обратно-квантованного улучшенного слоя согласно флагу остаточного предсказания.54. A decoder for decoding an enhanced layer of a multilayer video signal, the decoder comprising: an analyzer that analyzes the value of the encoded block pattern (CBP) for the lower layer; an entropy decoding unit that determines a method for decoding a residual prediction flag indicating whether the improved layer from the lower layer is predicted using the CBP value and performs entropy decoding of the residual prediction flag according to the decoding method and then the improved layer; an inverse quantizer that inverse quantizes an improved layer; and an inverse transformer that performs the inverse transform of the inverse-quantized enhanced layer according to the residual prediction flag. 55. Способ декодирования флага остаточного предсказания, указывающего, предсказываются ли остаточные данные для блока улучшенного слоя многослойного видеосигнала из остаточных данных блока нижнего слоя, соответствующих остаточным данным для блока улучшенного слоя, при этом способ содержит этапы, на которых: определяют значение шаблона кодированных блоков (СВР) блока нижнего слоя; определяют способ декодирования флага остаточного предсказания согласно упомянутому определенному значению СВР; и декодируют флаг остаточного предсказания согласно упомянутому определенному способу декодирования.55. A method for decoding a residual prediction flag indicating whether residual data for the enhanced layer block of the multilayer video signal is predicted from the residual data of the lower layer block corresponding to the residual data for the enhanced layer block, the method comprising the steps of: determining the value of the encoded block pattern ( CBP) block of the lower layer; determining a method for decoding the residual prediction flag according to said specific CBP value; and decode the residual prediction flag according to the aforementioned specific decoding method. 56. Способ по п.55, в котором определение способа декодирования содержит: если по меньшей мере один бит из битов СВР содержит значение 1, флаг остаточного предсказания декодируют, используя первую контекстную модель; и если ни один из битов СВР не содержит значение 1, флаг остаточного предсказания декодируют, используя первую контекстную модель.56. The method of claim 55, wherein determining the decoding method comprises: if at least one bit of the CBP bits contains a value of 1, the residual prediction flag is decoded using the first context model; and if none of the CBP bits contains a value of 1, the residual prediction flag is decoded using the first context model. 57. Способ по п.55, в котором, если любое одно значение яркости в СВР содержит значение 1, флаг остаточного предсказания декодируют, используя первую контекстную модель.57. The method of claim 55, wherein if any one brightness value in the CBP contains a value of 1, the residual prediction flag is decoded using the first context model. 58. Способ по п.55, в котором, если одно из значений яркости в СВР содержит значение 1, флаг остаточного предсказания декодируют, используя первую контекстную модель.58. The method of claim 55, wherein if one of the luminance values in the CBP contains a value of 1, the residual prediction flag is decoded using the first context model. 59. Способ по п.55, в котором, если количество битов в СВР, имеющих значение 1 меньше, чем заданное пороговое значение, флаг остаточного предсказания декодируют, используя первую контекстную модель, и если количество битов в СВР, имеющих значение 1 больше, чем заданное пороговое значение, флаг остаточного предсказания декодируют, используя вторую контекстную модель, причем первая контекстная модель имеет более высокую вероятность принимать значение "0", чем "1", а вторая контекстная модель имеет более высокую вероятность принимать значение "1", чем "0".59. The method of claim 55, wherein if the number of bits in the CBP having a value of 1 is less than a predetermined threshold value, the residual prediction flag is decoded using the first context model, and if the number of bits in the CBP having a value of 1 is greater than the predetermined threshold value, the residual prediction flag is decoded using the second context model, the first context model having a higher probability of accepting the value “0” than the “1”, and the second context model having a higher probability of accepting the value “1”, h m "0". 60. Способ по п.55, в котором определение значения СВР блока нижнего слоя содержит установку четырех младших битов и двух старших битов СВР в многослойном видеосигнале в виде значения СВР для информации яркости и значения СВР для информации цветности, соответственно.60. The method of claim 55, wherein determining the CBP value of the lower layer block comprises setting four LSB and two LSB bits in a multilayer video signal as a CBP value for luminance information and a CBP value for color information, respectively. 61. Видеодекодер для декодирования флага остаточного предсказания, указывающего, предсказываются ли остаточные данные для блока улучшенного слоя многослойного видеосигнала из остаточных данных блока нижнего слоя, соответствующих остаточным данным для блока улучшенного слоя, при этом видеодекодер содержит: блок, который определяет значение шаблона кодированных блоков (СВР) блока нижнего слоя; определяет способ декодирования флага остаточного предсказания согласно упомянутому определенному значению СВР; и декодирует флаг остаточного предсказания согласно упомянутому определенному способу декодирования.61. A video decoder for decoding a residual prediction flag indicating whether residual data for the enhanced layer block of the multi-layer video signal is predicted from the residual data of the lower layer block corresponding to the residual data for the enhanced layer block, wherein the video decoder comprises: a block that determines the value of the encoded block pattern ( CBP) block of the lower layer; determines a method for decoding the residual prediction flag according to said specific CBP value; and decodes the residual prediction flag according to said specific decoding method. 62. Видеодекодер по п.61, в котором если по меньшей мере один бит из битов СВР содержит значение 1, флаг остаточного предсказания декодируют, используя первую контекстную модель; и если ни один из битов СВР не содержит значение 1, флаг остаточного предсказания декодируют, используя первую контекстную модель.62. The video decoder of claim 61, wherein if at least one bit of the CBP bits contains a value of 1, the residual prediction flag is decoded using the first context model; and if none of the CBP bits contains a value of 1, the residual prediction flag is decoded using the first context model. 63. Видеодекодер по п.61, в котором, если любое одно значение яркости в СВР содержит значение 1, флаг остаточного предсказания декодируют, используя первую контекстную модель.63. The video decoder of claim 61, wherein if any one brightness value in the CBP contains a value of 1, the residual prediction flag is decoded using the first context model. 64. Видеодекодер по п.61, в котором, если одно из значений яркости в СВР содержит значение 1, флаг остаточного предсказания декодируют, используя первую контекстную модель.64. The video decoder of claim 61, wherein if one of the luminance values in the CBP contains a value of 1, the residual prediction flag is decoded using the first context model. 65. Видеодекодер по п.61, в котором, если количество битов в СВР, имеющих значение 1 меньше, чем заданное пороговое значение, флаг остаточного предсказания декодируют, используя первую контекстную модель, и если количество битов в СВР, имеющих значение 1 больше, чем заданное пороговое значение, флаг остаточного предсказания декодируют, используя вторую контекстную модель, причем первая контекстная модель имеет более высокую вероятность принимать значение "0", чем "1", а вторая контекстная модель имеет более высокую вероятность принимать значение "1", чем "0".65. The video decoder of claim 61, wherein if the number of bits in the CBP having a value of 1 is less than a predetermined threshold value, the residual prediction flag is decoded using the first context model, and if the number of bits in the CBP having a value of 1 is greater than the predetermined threshold value, the residual prediction flag is decoded using the second context model, the first context model being more likely to accept the value “0” than “1”, and the second context model is more likely to accept the value e "1" rather than "0". 66. Видеодекодер по п.61, в котором четыре младших бита и два старших бита СВР в многослойном видеосигнале устанавливают в виде значения СВР для информации яркости и значения СВР для информации цветности, соответственно.66. The video decoder of claim 61, wherein the four least significant bits and two high-order bits of the CBP in the multi-layer video signal are set as the CBP value for the luminance information and the CBP value for the color information, respectively.
RU2006113092/09A 2005-04-19 2006-04-18 Method and device of adaptive choice of context model for entropy encoding RU2336661C2 (en)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US67254905P 2005-04-19 2005-04-19
US60/672,549 2005-04-19
KR1020050059371A KR100763181B1 (en) 2005-04-19 2005-07-01 Method and apparatus for improving coding rate by coding prediction information from base layer and enhancement layer
KR10-2005-0059371 2005-07-01
US60/701,987 2005-07-25
US70229605P 2005-07-26 2005-07-26
US60/702,296 2005-07-26
US60/702,624 2005-07-27
KR1020050087761A KR100746007B1 (en) 2005-04-19 2005-09-21 Method and apparatus for adaptively selecting context model of entrophy coding
KR10-2005-0087761 2005-09-21

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2008106939/09A Division RU2008106939A (en) 2005-04-19 2008-02-22 METHOD AND DEVICE OF ADAPTIVE SELECTION OF A CONTEXT MODEL FOR ENTROPY CODING

Publications (2)

Publication Number Publication Date
RU2006113092A RU2006113092A (en) 2007-11-20
RU2336661C2 true RU2336661C2 (en) 2008-10-20

Family

ID=38958885

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2006113092/09A RU2336661C2 (en) 2005-04-19 2006-04-18 Method and device of adaptive choice of context model for entropy encoding

Country Status (1)

Country Link
RU (1) RU2336661C2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2576587C2 (en) * 2011-11-03 2016-03-10 Квэлкомм Инкорпорейтед Context state and probability initialisation for context adaptive entropy coding
RU2595754C2 (en) * 2009-03-23 2016-08-27 Нтт Докомо, Инк. Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, image prediction decoding program
US9455744B2 (en) 2011-06-16 2016-09-27 Ge Video Compression, Llc Context initialization in entropy coding
RU2628130C2 (en) * 2011-12-28 2017-08-15 Шарп Кабусики Кайся Arithmetic decoding device, image decoding device and arithmetic coding device
RU2629437C2 (en) * 2012-03-22 2017-08-29 Квэлкомм Инкорпорейтед Obtaining the context to encode the last position when performing the encoding
RU2668523C1 (en) * 2011-12-28 2018-10-01 ДжейВиСи КЕНВУД КОРПОРЕЙШН Moving image decoding device and moving image decoding method
US10645388B2 (en) 2011-06-16 2020-05-05 Ge Video Compression, Llc Context initialization in entropy coding
RU2779898C1 (en) * 2011-06-16 2022-09-14 ДжиИ Видео Компрешн, ЭлЭлСи Context initialization in entropy coding

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9008171B2 (en) * 2008-01-08 2015-04-14 Qualcomm Incorporated Two pass quantization for CABAC coders
US8891615B2 (en) 2008-01-08 2014-11-18 Qualcomm Incorporated Quantization based on rate-distortion modeling for CABAC coders

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001026381A1 (en) * 1999-10-01 2001-04-12 Koninklijke Philips Electronics N.V. System and method for encoding and decoding enhancement layer data using base layer quantization data
RU2001123542A (en) * 1999-11-23 2003-06-27 Конинклейке Филипс Электроникс Н.В. HYBRID FINE-SCALED SCALED VIDEO-CODING WITH TIME-DEPENDENT SIGNAL / NOISE RATIO
EP1422828A1 (en) * 2002-04-25 2004-05-26 Mitsubishi Denki Kabushiki Kaisha Digital signal encoding device, digital signal decoding device, digital signal arithmetic encoding method, and digital signal arithmetic decoding method
WO2004073312A1 (en) * 2003-02-17 2004-08-26 Koninklijke Philips Electronics N.V. Video coding

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6639943B1 (en) * 1999-11-23 2003-10-28 Koninklijke Philips Electronics N.V. Hybrid temporal-SNR fine granular scalability video coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001026381A1 (en) * 1999-10-01 2001-04-12 Koninklijke Philips Electronics N.V. System and method for encoding and decoding enhancement layer data using base layer quantization data
RU2001123542A (en) * 1999-11-23 2003-06-27 Конинклейке Филипс Электроникс Н.В. HYBRID FINE-SCALED SCALED VIDEO-CODING WITH TIME-DEPENDENT SIGNAL / NOISE RATIO
EP1422828A1 (en) * 2002-04-25 2004-05-26 Mitsubishi Denki Kabushiki Kaisha Digital signal encoding device, digital signal decoding device, digital signal arithmetic encoding method, and digital signal arithmetic decoding method
WO2004073312A1 (en) * 2003-02-17 2004-08-26 Koninklijke Philips Electronics N.V. Video coding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HEIKO SCHWARZ et al. ISO/IEC JTC1/SC29/WG11/M11043, SVC Core Experiment 2.1: Inter-layer prediction of motion and residual data, July 2004. *
ISO/IEC JTC1/SC29/WG11/N6898, Description of Core Experiments in SVC, Hong-Kong, January 2005. Ричардсон Ян. Видеокодирование Н.264 и MPEG-4 - стандарты нового поколения. - М.: Техносфера, 2005, перевод издания 2003, с.188-205. *

Cited By (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2639662C1 (en) * 2009-03-23 2017-12-21 Нтт Докомо, Инк. Image prediction encoding device, image prediction encoding method, image prediction encoding programme, image prediction decoding device, image prediction decoding method, image prediction decoding programme
RU2709165C1 (en) * 2009-03-23 2019-12-16 Нтт Докомо, Инк. Image prediction decoding method for a prediction decoding device (versions)
RU2707713C1 (en) * 2009-03-23 2019-11-28 Нтт Докомо, Инк. Image prediction coding device, an image prediction coding method, an image prediction coding program, an image prediction decoding device, an image prediction decoding method, an image prediction decoding program
RU2595754C2 (en) * 2009-03-23 2016-08-27 Нтт Докомо, Инк. Image prediction encoding device, image prediction encoding method, image prediction encoding program, image prediction decoding device, image prediction decoding method, image prediction decoding program
RU2672185C1 (en) * 2009-03-23 2018-11-12 Нтт Докомо, Инк. Image predictive encoding device, image predictive encoding method, image predictive encoding program, image predictive decoding device, image predictive decoding method, image predictive decoding program
US10306232B2 (en) 2011-06-16 2019-05-28 Ge Video Compression, Llc Entropy coding of motion vector differences
US11838511B2 (en) 2011-06-16 2023-12-05 Ge Video Compression, Llc Entropy coding supporting mode switching
US9762913B2 (en) 2011-06-16 2017-09-12 Ge Video Compression, Llc Context initialization in entropy coding
US12316846B2 (en) 2011-06-16 2025-05-27 Dolby Video Compression, Llc Entropy coding of motion vector differences
US12301819B2 (en) 2011-06-16 2025-05-13 Dolby Video Compression, Llc Entropy coding supporting mode switching
RU2839276C2 (en) * 2011-06-16 2025-04-29 ДжиИ Видео Компрешн, ЭлЭлСи Context initialization in entropy coding
US9768804B1 (en) 2011-06-16 2017-09-19 Ge Video Compression, Llc Context initialization in entropy coding
US9729883B2 (en) 2011-06-16 2017-08-08 Ge Video Compression, Llc Entropy coding of motion vector differences
RU2642373C1 (en) * 2011-06-16 2018-01-24 ДжиИ Видео Компрешн, ЭлЭлСи Initialization of context in entropy coding
US9918090B2 (en) 2011-06-16 2018-03-13 Ge Video Compression, Llc Entropy coding supporting mode switching
US9918104B2 (en) 2011-06-16 2018-03-13 Ge Video Compression, Llc Entropy coding of motion vector differences
US9930371B2 (en) 2011-06-16 2018-03-27 Ge Video Compression, Llc Entropy coding of motion vector differences
RU2699677C2 (en) * 2011-06-16 2019-09-09 ДжиИ Видео Компрешн, ЭлЭлСи Context initialization during entropy coding
US9936227B2 (en) 2011-06-16 2018-04-03 Ge Video Compression, Llc Entropy coding of motion vector differences
US9973761B2 (en) 2011-06-16 2018-05-15 Ge Video Compression, Llc Context initialization in entropy coding
US10021393B2 (en) 2011-06-16 2018-07-10 Ge Video Compression, Llc Entropy coding of motion vector differences
US10057603B2 (en) 2011-06-16 2018-08-21 Ge Video Compression, Llc Entropy coding supporting mode switching
US10063858B2 (en) 2011-06-16 2018-08-28 Ge Video Compression, Llc Entropy coding of motion vector differences
US12069267B2 (en) 2011-06-16 2024-08-20 Ge Video Compression, Llc Context initialization in entropy coding
US9686568B2 (en) 2011-06-16 2017-06-20 Ge Video Compression, Llc Context initialization in entropy coding
US10148962B2 (en) 2011-06-16 2018-12-04 Ge Video Compression, Llc Entropy coding of motion vector differences
US10230954B2 (en) 2011-06-16 2019-03-12 Ge Video Compression, Llp Entropy coding of motion vector differences
US10298964B2 (en) 2011-06-16 2019-05-21 Ge Video Compression, Llc Entropy coding of motion vector differences
US9628827B2 (en) 2011-06-16 2017-04-18 Ge Video Compression, Llc Context initialization in entropy coding
US9743090B2 (en) 2011-06-16 2017-08-22 Ge Video Compression, Llc Entropy coding of motion vector differences
US10313672B2 (en) 2011-06-16 2019-06-04 Ge Video Compression, Llc Entropy coding supporting mode switching
US9930370B2 (en) 2011-06-16 2018-03-27 Ge Video Compression, Llc Entropy coding of motion vector differences
US10425644B2 (en) 2011-06-16 2019-09-24 Ge Video Compression, Llc Entropy coding of motion vector differences
US10432940B2 (en) 2011-06-16 2019-10-01 Ge Video Compression, Llc Entropy coding of motion vector differences
US10432939B2 (en) 2011-06-16 2019-10-01 Ge Video Compression, Llc Entropy coding supporting mode switching
US10440364B2 (en) 2011-06-16 2019-10-08 Ge Video Compression, Llc Context initialization in entropy coding
US9596475B2 (en) 2011-06-16 2017-03-14 Ge Video Compression, Llc Entropy coding of motion vector differences
US9455744B2 (en) 2011-06-16 2016-09-27 Ge Video Compression, Llc Context initialization in entropy coding
US10630988B2 (en) 2011-06-16 2020-04-21 Ge Video Compression, Llc Entropy coding of motion vector differences
US10630987B2 (en) 2011-06-16 2020-04-21 Ge Video Compression, Llc Entropy coding supporting mode switching
US10645388B2 (en) 2011-06-16 2020-05-05 Ge Video Compression, Llc Context initialization in entropy coding
US10819982B2 (en) 2011-06-16 2020-10-27 Ge Video Compression, Llc Entropy coding supporting mode switching
US11012695B2 (en) 2011-06-16 2021-05-18 Ge Video Compression, Llc Context initialization in entropy coding
RU2755020C2 (en) * 2011-06-16 2021-09-09 ДжиИ Видео Компрешн, ЭлЭлСи Context initialization in entropy coding
US11277614B2 (en) 2011-06-16 2022-03-15 Ge Video Compression, Llc Entropy coding supporting mode switching
RU2779898C1 (en) * 2011-06-16 2022-09-14 ДжиИ Видео Компрешн, ЭлЭлСи Context initialization in entropy coding
US11516474B2 (en) 2011-06-16 2022-11-29 Ge Video Compression, Llc Context initialization in entropy coding
US11533485B2 (en) 2011-06-16 2022-12-20 Ge Video Compression, Llc Entropy coding of motion vector differences
US9484952B2 (en) 2011-11-03 2016-11-01 Qualcomm Incorporated Context state and probability initialization for context adaptive entropy coding
RU2576587C2 (en) * 2011-11-03 2016-03-10 Квэлкомм Инкорпорейтед Context state and probability initialisation for context adaptive entropy coding
RU2668523C9 (en) * 2011-12-28 2019-05-30 ДжейВиСи КЕНВУД КОРПОРЕЙШН Moving picture decoding device and moving picture decoding method
RU2668523C1 (en) * 2011-12-28 2018-10-01 ДжейВиСи КЕНВУД КОРПОРЕЙШН Moving image decoding device and moving image decoding method
RU2628130C2 (en) * 2011-12-28 2017-08-15 Шарп Кабусики Кайся Arithmetic decoding device, image decoding device and arithmetic coding device
RU2629437C2 (en) * 2012-03-22 2017-08-29 Квэлкомм Инкорпорейтед Obtaining the context to encode the last position when performing the encoding
RU2835499C1 (en) * 2012-06-22 2025-02-25 Сан Пэтент Траст Image encoding method, image encoding device
RU2824460C1 (en) * 2021-03-19 2024-08-08 Ханчжоу Хиквижн Диджитал Текнолоджи Ко., Лтд. Methods, equipment, devices and data carriers for encoding or decoding
RU2834715C2 (en) * 2021-03-19 2025-02-13 Ханчжоу Хиквижн Диджитал Текнолоджи Ко., Лтд. Methods, equipment, devices and data carriers for encoding or decoding

Also Published As

Publication number Publication date
RU2006113092A (en) 2007-11-20

Similar Documents

Publication Publication Date Title
US8351502B2 (en) Method and apparatus for adaptively selecting context model for entropy coding
AU2006201490B2 (en) Method and apparatus for adaptively selecting context model for entropy coding
RU2336661C2 (en) Method and device of adaptive choice of context model for entropy encoding
KR100763181B1 (en) Method and apparatus for improving coding rate by coding prediction information from base layer and enhancement layer
JP5819347B2 (en) Skip macroblock coding
CN1327395C (en) Method and system for context-based adaptive binary arithmetic coding
KR100636229B1 (en) Method and apparatus for adaptive entropy encoding and decoding for scalable video coding
CN102150429B (en) System and method for video encoding using constructed reference frame
KR100703760B1 (en) Method and apparatus for video encoding / decoding using temporal level motion vector prediction
JP2006304307A5 (en)
KR20050021445A (en) Intra coding video data methods and apparatuses
KR100305485B1 (en) Video encoding method, system and computer program product for optimizing center of picture quality
KR100763179B1 (en) Method for compressing/Reconstructing motion vector of unsynchronized picture and apparatus thereof
CN117319658A (en) Video encoding method, decoding method, electronic device, and storage medium
US20080013624A1 (en) Method and apparatus for encoding and decoding video signal of fgs layer by reordering transform coefficients
CN112399180B (en) Video decoding method, device and storage medium
KR101294364B1 (en) Lossless Image Compression and Decompression Method for High Definition Image and electronic device using the same
JP2017073598A (en) Moving image coding apparatus, moving image coding method, and computer program for moving image coding
CN117256101A (en) Context initialization for CABAC inheritance
CN119835431A (en) Video encoding method, video decoding method, video processing method, video encoding device, and storage medium
JP2002058032A (en) Apparatus and method for encoding image, apparatus and method for decoding image as well as image processor
CN116918326A (en) Video encoding and decoding methods and systems, and video encoders and video decoders
AU2008201768A1 (en) Method and apparatus for adaptively selecting context model for entropy coding
US20250008131A1 (en) Lightweight spatial upsampling methods for machine vision
HK40084466A (en) Method and apparatus for video decoding, computer device, and storage medium

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20090419