RU2368095C1 - Image coder and image decoder, method of image coding and method of image decoding, program of image coding and program of image decoding and computer-readable record medium, on which image coding program is recorded, and computer-readable record medium, on which image decoding program is recorded - Google Patents

Image coder and image decoder, method of image coding and method of image decoding, program of image coding and program of image decoding and computer-readable record medium, on which image coding program is recorded, and computer-readable record medium, on which image decoding program is recorded Download PDF

Info

Publication number
RU2368095C1
RU2368095C1 RU2008106777/09A RU2008106777A RU2368095C1 RU 2368095 C1 RU2368095 C1 RU 2368095C1 RU 2008106777/09 A RU2008106777/09 A RU 2008106777/09A RU 2008106777 A RU2008106777 A RU 2008106777A RU 2368095 C1 RU2368095 C1 RU 2368095C1
Authority
RU
Russia
Prior art keywords
image
prediction mode
prediction
information
encoding
Prior art date
Application number
RU2008106777/09A
Other languages
Russian (ru)
Other versions
RU2008106777A (en
Inventor
Йосими МОРИЯ (JP)
Йосими МОРИЯ
Сунити СЕКИГУТИ (JP)
Сунити СЕКИГУТИ
Казуо СУГИМОТО (JP)
Казуо СУГИМОТО
Йосихиса ЯМАДА (JP)
Йосихиса ЯМАДА
Коутароу АСАИ (JP)
Коутароу АСАИ
Токумити МУРАКАМИ (JP)
Токумити МУРАКАМИ
Юити ИДЕХАРА (JP)
Юити ИДЕХАРА
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
Application filed by Мицубиси Электрик Корпорейшн filed Critical Мицубиси Электрик Корпорейшн
Publication of RU2008106777A publication Critical patent/RU2008106777A/en
Application granted granted Critical
Publication of RU2368095C1 publication Critical patent/RU2368095C1/en

Links

Images

Abstract

FIELD: physics, image processing.
SUBSTANCE: invention is related to coder/decoder of image digital signal. Image coder is suggested, which comprises the following components: unit of predicted image generation, which generates predicted image in compliance with combination of prediction modes, which indicate method of predicted image generation; unit of decision-making relative to prediction mode, which assesses efficiency of prediction of predicted image produced from unit of predicted image generation, to make decision in respect to previously identified prediction mode; and coding unit, which exposes output signal of decision-making unit versus prediction mode to coding with alternating length of word. Unit of decision-making versus prediction mode makes decision, on the basis of previously identified control signal, which out of common prediction mode and separate prediction mode is used for corresponding colour components, which create input image signal, and multiplexes information about control signal into bitstream, multiplexes, when common prediction mode is used, information of common prediction mode into bitstream and multiplexes, when common prediction mode is not used, information of prediction mode for each colour component into bitstream.
EFFECT: improved optimality of moving image signal coding.
63 cl, 86 dwg

Description

ОБЛАСТЬ ТЕХНИКИFIELD OF TECHNOLOGY

Настоящее изобретение относится к кодеру цифрового сигнала изображения, декодеру цифрового сигнала изображения, способу кодирования цифрового сигнала изображения и способу декодирования цифрового сигнала изображения, которые используются для сжатия и кодирования изображения, передачи сжатых данных изображения и т.п.The present invention relates to a digital image signal encoder, a digital image signal decoder, a digital image signal encoding method, and a digital image signal decoding method, which are used to compress and encode an image, transmit compressed image data, and the like.

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

Традиционно приняты системы кодирования видеосигнала на основе международных стандартов, например MPEG и ITU-TH.26x, в основном при условии, что используется входной сигнал в стандартном формате, именуемом форматом "4:2:0". Формат 4:2:0 представляет формат для преобразования сигнала цветности движущегося изображения, например RGB, в компонент яркости (Y) и два цветоразностных компонента (Cb и Cr) и сокращения количества выборок цветоразностных компонентов вдвое в горизонтальном и вертикальном направлениях в отношении количества выборок компонента яркости. Поскольку зрительное восприятие ухудшения цветоразностных компонентов мало по сравнению с ухудшением компонента яркости, принята традиционная система кодирования видеосигнала, отвечающая международному стандарту, при условии, что объем информации об объекте кодирования сокращается за счет осуществления вышеописанной понижающей дискретизации цветоразностных компонентов до осуществления кодирования. С другой стороны, в связи с повышением разрешения и повышением качества видеодисплеев в последние годы испытывается система для кодирования изображения с выборками, идентичными компонентам яркости без понижающей дискретизации цветоразностных компонентов. Формат, в котором количество выборок компонентов яркости и количество выборок цветоразностных компонентов одинаковы, называется форматом 4:4:4. Согласно стандарту MPEG-4 AVC (ISO/IEC 14496-10)/ITU-T_H.264 (ниже именуемому AVC) принято решение вводить в систему кодирования формат 4:4:4, "высокий профиль 444". Хотя традиционный формат 4:2:0 принят при условии, что цветоразностные компоненты подвергаются понижающей дискретизации, и ограничивается определением цветовых пространств Y, Cb и Cr, в формате 4:4:4 нет различия в частоте дискретизации между цветовыми компонентами, что дает возможность непосредственно использовать R, G и B вместо Y, Cb и Cr и использовать многие другие определения цветовых пространств. В системе кодирования видеосигнала, где используется формат 4:2:0, поскольку цветовые пространства зафиксированы как Y, Cb и Cr, нет необходимости учитывать типы цветовых пространств при обработке кодирования. Однако высокий профиль 4:4:4 AVC - это система, в которой определение цветовых пространств влияет на саму обработку кодирования. С другой стороны, в настоящем высоком профиле 4:4:4 учитывается совместимость с другими профилями для кодирования формата 4:2:0, заданного пространствами Y, Cb и Cr. Таким образом, нельзя сказать, что настоящий высокий профиль 4:4:4 призван оптимизировать ее эффективность сжатия.Traditionally, video coding systems based on international standards, such as MPEG and ITU-TH.26x, have been adopted, mainly provided that the input signal is used in a standard format called the "4: 2: 0" format. The 4: 2: 0 format represents a format for converting a color signal of a moving image, such as RGB, into a luminance component (Y) and two color-difference components (Cb and Cr) and halving the number of color-difference component samples in horizontal and vertical directions with respect to the number of component samples brightness. Since the visual perception of the deterioration of the color difference components is small compared to the deterioration of the brightness component, a conventional video coding system that complies with the international standard is adopted, provided that the amount of information about the encoding object is reduced by implementing the above-described downsampling of the color difference components before encoding. On the other hand, in connection with increasing resolution and improving the quality of video displays in recent years, a system has been tested for encoding images with samples identical to the brightness components without down-sampling color difference components. A format in which the number of samples of luminance components and the number of samples of color difference components are the same is called the 4: 4: 4 format. According to the MPEG-4 AVC standard (ISO / IEC 14496-10) /ITU-T_H.264 (hereinafter referred to as AVC), it was decided to introduce a 4: 4: 4 format, "high profile 444" into the encoding system. Although the traditional 4: 2: 0 format is accepted provided that the color-difference components undergo downsampling and are limited to determining the color spaces Y, Cb and Cr, in the 4: 4: 4 format there is no difference in the sampling frequency between the color components, which makes it possible to directly use R, G, and B instead of Y, Cb, and Cr, and use many other color space definitions. In a video coding system using a 4: 2: 0 format, since the color spaces are fixed as Y, Cb, and Cr, there is no need to consider the types of color spaces in the coding processing. However, the high 4: 4: 4 profile AVC is a system in which the definition of color spaces affects the encoding processing itself. On the other hand, this high 4: 4: 4 profile takes into account compatibility with other profiles for encoding the 4: 2: 0 format defined by the Y, Cb, and Cr spaces. Thus, it cannot be said that a true 4: 4: 4 high profile is designed to optimize its compression efficiency.

Непатентный документ 1: стандарт MPEG-4 AVC (ISO/IEC 14496-10)/ITU-TH.264Non-Patent Document 1: MPEG-4 AVC Standard (ISO / IEC 14496-10) /ITU-TH.264

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

Задачи, решаемые изобретениемThe tasks solved by the invention

Например, в высоком профиле 4:2:0 для кодирования формата 4:2:0 AVC, в области макроблока, состоящей из компонентов яркости 16×16 пикселей, цветоразностные компоненты Cb и Cr, соответствующие компонентам яркости, представляют собой блоки 8×8 пикселей. Пространственное прогнозирование (интрапрогнозирование), в котором используется значение периферийных выборок в идентичном изображении, принято для интракодирования макроблоков в высоком профиле 4:2:0. Отдельные режимы интрапрогнозирования используются для компонентов яркости и цветоразностных компонентов. Режим, имеющий наивысшую эффективность прогнозирования, выбирается из девяти типов, показанных на фиг.3, в качестве режима интрапрогнозирования для компонентов яркости, и режим, имеющий наивысшую эффективность прогнозирования, выбирается из четырех типов, показанных на фиг.9, в качестве режима интрапрогнозирования для цветовых компонентов Cb и Cr (невозможно использовать отдельные режимы прогнозирования для Cb и Cr). При прогнозировании компенсации движения в высоком профиле 4:2:0 информация размера блока, используемая как единица прогнозирования с компенсацией движения, информация опорного изображения, используемая для прогнозирования, и информация вектора движения для каждого блока мультиплексируются только для компонентов яркости. Прогнозирование с компенсацией движения осуществляется для цветоразностных компонентов с использованием информации, такой же, как информация, используемая для прогнозирования с компенсацией движения, для компонентов яркости. Вышеописанная система пригодна при условии, что вклад цветоразностных компонентов в определение цветовых пространств мал по сравнению с вкладом компонентов яркости, которые вносят существенный вклад в представление структуры (текстуру) изображения в формате 4:2:0. Однако настоящий высокий профиль 4:4:4 является только системой, полученной простым расширением режима интрапрогнозирования для цветоразностного сигнала в формате 4:2:0 даже в состоянии, когда размер блока цветоразностного сигнала на один макроблок увеличен до 16×16 пикселей. Как и в формате 4:2:0 в отношении одного компонента, например компонента яркости, только информация об одном компоненте мультиплексируется для осуществления прогнозирования с компенсацией движения с использованием режима интерпрогнозирования, информации опорного изображения и информации вектора движения, общих для трех компонентов. Таким образом, нельзя сказать, что настоящий высокий формат 4:4:4 не всегда является оптимальным методом прогнозирования в формате 4:4:4, в котором соответствующие цветовые компоненты вносят равные вклады в структурное представление сигнала изображения.For example, in a 4: 2: 0 high profile for AVC 4: 2: 0 encoding, in the macroblock area consisting of 16 × 16 pixel luminance components, the color difference components Cb and Cr corresponding to luminance components are 8 × 8 pixel blocks . Spatial prediction (intra-prediction), which uses the value of peripheral samples in an identical image, is adopted for intra-coding macroblocks in a high profile of 4: 2: 0. Separate intra-prediction modes are used for luminance and color-difference components. The mode having the highest prediction efficiency is selected from the nine types shown in FIG. 3 as the intra-prediction mode for luminance components, and the mode having the highest prediction efficiency is selected from the four types shown in FIG. 9 as the intra-prediction mode for color components of Cb and Cr (it is impossible to use separate prediction modes for Cb and Cr). When predicting motion compensation in a high 4: 2: 0 profile, block size information used as a prediction unit with motion compensation, reference image information used for prediction, and motion vector information for each block are multiplexed only for luminance components. Motion compensation prediction is performed for color difference components using information the same as the information used for motion compensation prediction for luminance components. The above system is suitable provided that the contribution of the color-difference components to the definition of color spaces is small compared to the contribution of the brightness components, which make a significant contribution to the representation of the structure (texture) of the image in the 4: 2: 0 format. However, the true 4: 4: 4 high profile is only a system obtained by a simple extension of the intra prediction mode for a color difference signal in the 4: 2: 0 format even when the block size of the color difference signal is increased by 16 × 16 pixels by one macroblock. As in the 4: 2: 0 format for a single component, for example, a luminance component, only information about one component is multiplexed to perform motion compensation prediction using the inter prediction mode, reference image information, and motion vector information common to the three components. Thus, it cannot be said that the true high 4: 4: 4 format is not always the optimal forecasting method in the 4: 4: 4 format, in which the corresponding color components make equal contributions to the structural representation of the image signal.

Таким образом, задачей настоящего изобретения является обеспечение кодера, декодера, способа кодирования, способа декодирования, программ для выполнения этих способов и носителей записи, на которые эти программы записаны, с повышенной оптимальностью кодирования сигнала движущегося изображения, в которых не существует различия в частоте дискретизации между цветовыми компонентами, наподобие формата 4:4:4, описанного в соответствующем уровне техники.Thus, it is an object of the present invention to provide an encoder, a decoder, an encoding method, a decoding method, programs for executing these methods and recording media onto which these programs are recorded, with improved coding optimality of a moving image signal in which there is no difference in sampling frequency between color components, such as the 4: 4: 4 format described in the related art.

СРЕДСТВА РЕШЕНИЯ ЗАДАЧMEANS OF SOLVING TASKS

Кодер изображения, согласно настоящему изобретению, включает в себя:An image encoder according to the present invention includes:

блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения;a predicted image generation unit that generates a predicted image in accordance with a set of prediction modes indicating a method for generating a predicted image;

блок принятия решения относительно режима прогнозирования, который оценивает эффективность прогнозирования прогнозируемого изображения, выводимого из блока генерации прогнозируемого изображения, для принятия решения относительно заранее определенного режима прогнозирования; иa decision unit for the prediction mode that evaluates the prediction efficiency of the predicted image output from the predicted image generation unit for deciding on a predetermined prediction mode; and

блок кодирования, который подвергает выходной сигнал блока принятия решения относительно режима прогнозирования кодированию с переменной длиной слова, в которомa coding unit that subjects the output of the decision unit regarding the prediction mode to coding with a variable word length in which

блок принятия решения относительно режима прогнозирования принимает решение на основании заранее определенного сигнала управления, какой из общего режима прогнозирования и отдельного режима прогнозирования используется для соответствующих цветовых компонентов, образующих входной сигнал изображения, и мультиплексирует информацию о сигнале управления в битовый поток мультиплексирует, когда используется общий режим прогнозирования, информацию общего режима прогнозирования в битовый поток и мультиплексирует, когда общий режим прогнозирования не используется, информацию режима прогнозирования для каждого из цветовых компонентов в битовый поток.the decision block regarding the prediction mode makes a decision based on a predetermined control signal which of the general prediction mode and the individual prediction mode are used for the respective color components forming the input image signal, and multiplexes the information about the control signal into a bit stream multiplexes when the common mode is used prediction, general prediction mode information into the bitstream and multiplexes when the general prog mode ozirovaniya not used, prediction mode information for each of the color components on the bit stream.

ПРЕИМУЩЕСТВА ИЗОБРЕТЕНИЯAdvantages of the Invention

Согласно кодеру изображения, декодеру изображения, способу кодирования изображения, способу декодирования изображения, программам для выполнения этих способов и носителям записи, на которые эти программы записаны, отвечающим изобретению, при осуществлении кодирования с использованием не только фиксированных цветовых пространств, например Y, Cb и Cr, но также различных цветовых пространств, можно гибко выбирать информацию режима интрапрогнозирования и информацию режима интерпрогнозирования, используемые в соответствующих цветовых компонентах, и можно осуществлять оптимальную обработку кодирования даже при разнообразных определениях цветовых пространств.According to an image encoder, an image decoder, an image encoding method, an image decoding method, programs for executing these methods, and recording media on which these programs are recorded in accordance with the invention when encoding using not only fixed color spaces, for example, Y, Cb and Cr , but also of different color spaces, it is possible to flexibly select the information of the intra prediction mode and the information of the inter prediction mode used in the corresponding color com onentah, and can perform optimum encoding processing even when the definition of various color spaces.

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

Фиг.1 - схема, поясняющая структуру видеокодера согласно первому варианту осуществления.1 is a diagram explaining a structure of a video encoder according to a first embodiment.

Фиг.2 - схема, поясняющая структуру видеодекодера согласно первому варианту осуществления.2 is a diagram for explaining a structure of a video decoder according to a first embodiment.

Фиг.3 - схема, поясняющая метод генерации прогнозируемого изображения в режиме интрапрогнозирования 4×4, оцененном блоком 2 пространственного прогнозирования, показанным на фиг.1.FIG. 3 is a diagram explaining a method for generating a predicted image in a 4 × 4 intra-prediction mode estimated by the spatial prediction unit 2 shown in FIG. 1.

Фиг.4 - схема, поясняющая метод генерации прогнозируемого изображения в режиме интрапрогнозирования 16×16, оцененном блоком 2 пространственного прогнозирования, показанным на фиг.1.FIG. 4 is a diagram explaining a method for generating a predicted image in an intra-prediction mode of 16 × 16 estimated by the spatial prediction unit 2 shown in FIG. 1.

Фиг.5 - логическая блок-схема, поясняющая процедуру обработки принятия решения относительно режима интрапрогнозирования, осуществляемую в видеокодере, показанном на фиг.1.FIG. 5 is a flowchart illustrating a decision processing procedure for an intra-prediction mode implemented in the video encoder shown in FIG. 1.

Фиг.6 - схема, поясняющая массив данных битового потока видеосигнала, выводимого из видеокодера согласно первому варианту осуществления.6 is a diagram illustrating an array of data of a bitstream of a video signal output from a video encoder according to a first embodiment.

Фиг.7 - логическая блок-схема, поясняющая процедуру обработки декодирования интрапрогнозирования, осуществляемую в видеодекодере, показанном на фиг.2.Fig. 7 is a flowchart for explaining an intra-prediction decoding processing procedure carried out in the video decoder shown in Fig. 2.

Фиг.8 - схема, поясняющая режим другого массива данных битового потока видеосигнала, выводимый из видеокодера, согласно первому варианту осуществления.Fig. 8 is a diagram for explaining a mode of another data array of a video signal bitstream output from a video encoder according to a first embodiment.

Фиг.9 - схема, поясняющая метод генерации прогнозируемого изображения в режиме интрапрогнозирования, адаптированный к цветоразностным компонентам согласно стандарту AVC.Fig. 9 is a diagram explaining a method for generating a predicted image in an intra-prediction mode adapted to color difference components according to the AVC standard.

Фиг.10 - схема, поясняющая традиционный и настоящий макроблоки.Figure 10 is a diagram illustrating traditional and real macroblocks.

Фиг.11 - схема, поясняющая структуру видеокодера согласно второму варианту осуществления.11 is a diagram explaining a structure of a video encoder according to a second embodiment.

Фиг.12 - схема, поясняющая структуру видеодекодера согласно второму варианту осуществления.12 is a diagram for explaining a structure of a video decoder according to a second embodiment.

Фиг.13 - схема, поясняющая метод генерации прогнозируемого изображения в режиме интрапрогнозирования 8×8, оцененном блоком 2 пространственного прогнозирования, показанным на фиг.11.FIG. 13 is a diagram explaining a method for generating a predicted image in an 8 × 8 intra-prediction mode estimated by the spatial prediction unit 2 shown in FIG. 11.

Фиг.14 - логическая блок-схема, поясняющая процедуру обработки принятия решения относительно режима интракодирования, осуществляемую в видеокодере, показанном на фиг.11.Fig. 14 is a flowchart illustrating a decision processing procedure for an intra-coding mode implemented in the video encoder shown in Fig. 11.

Фиг.15 - схема, поясняющая массив данных битового потока видеосигнала, выводимого из видеокодера, согласно второму варианту осуществления.Fig. 15 is a diagram for explaining an array of data of a bitstream of a video signal output from a video encoder according to a second embodiment.

Фиг.16 - схема, поясняющая другой массив данных битового потока видеосигнала, выводимого из видеокодера, согласно второму варианту осуществления.Fig. 16 is a diagram for explaining another data array of a bitstream of a video signal output from a video encoder according to a second embodiment.

Фиг.17 - логическая блок-схема, поясняющая процедуру обработки декодирования интрапрогнозирования, осуществляемую в видеодекодере, показанном на фиг.12.FIG. 17 is a flowchart for explaining an intra-prediction decoding processing procedure carried out in the video decoder shown in FIG.

Фиг.18 - схема, поясняющая параметры обработки кодирования режима интрапрогнозирования компонента C0, согласно третьему варианту осуществления.Fig. 18 is a diagram explaining encoding processing parameters of an intra-prediction mode of a component C0 according to a third embodiment.

Фиг.19 - схема, поясняющая параметры обработки кодирования режима интрапрогнозирования компонента C1, согласно третьему варианту осуществления.FIG. 19 is a diagram explaining encoding processing parameters of an intra prediction mode of component C1 according to a third embodiment.

Фиг.20 - схема, поясняющая параметры обработки кодирования режима интрапрогнозирования компонента C2, согласно третьему варианту осуществления.FIG. 20 is a diagram explaining encoding processing parameters of an intra-prediction mode of component C2 according to the third embodiment.

Фиг.21 - логическая блок-схема, демонстрирующая порядок обработки кодирования режима интрапрогнозирования согласно третьему варианту осуществления.FIG. 21 is a flowchart showing an encoding processing mode of an intra prediction mode according to the third embodiment.

Фиг.22 - логическая блок-схема, демонстрирующая другой порядок обработки кодирования режима интрапрогнозирования согласно третьему варианту осуществления.FIG. 22 is a flowchart showing a different order of intra-prediction mode coding processing according to the third embodiment.

Фиг.23 - логическая блок-схема, демонстрирующая порядок обработки декодирования режима интрапрогнозирования согласно третьему варианту осуществления.Fig. 23 is a flowchart showing an intra prediction mode decoding processing order according to the third embodiment.

Фиг.24 - схема, поясняющая другой массив данных битового потока видеосигнала, выводимого из видеокодера, согласно четвертому варианту осуществления.24 is a diagram for explaining another data array of a video signal bitstream output from a video encoder according to a fourth embodiment.

Фиг.25 - логическая блок-схема, демонстрирующая другой порядок обработки кодирования режима интрапрогнозирования согласно пятому варианту осуществления.25 is a flowchart showing a different processing order of the intra prediction mode coding according to the fifth embodiment.

Фиг.26 - схема, поясняющая табулированные правила задания прогнозируемого значения согласно пятому варианту осуществления.Fig. 26 is a diagram for explaining tabulated rules for setting a predicted value according to a fifth embodiment.

Фиг.27 - логическая блок-схема, демонстрирующая процедуру кодирования согласно шестому варианту осуществления.Fig. 27 is a flowchart showing an encoding procedure according to a sixth embodiment.

Фиг.28 - схема, поясняющая структуру двоичной последовательности CurrIntraPredMode согласно шестому варианту осуществления.28 is a diagram illustrating a binary sequence structure of CurrIntraPredMode according to the sixth embodiment.

Фиг.29 - схема, поясняющая другую структуру двоичной последовательности CurrIntraPredMode согласно шестому варианту осуществления.29 is a diagram illustrating another structure of a binary sequence of CurrIntraPredMode according to a sixth embodiment.

Фиг.30 - схема, поясняющая структуру видеокодера согласно седьмому варианту осуществления.30 is a diagram illustrating a structure of a video encoder according to a seventh embodiment.

Фиг.31 - схема, поясняющая структуру видеодекодера согласно седьмому варианту осуществления.Fig. 31 is a diagram for explaining a structure of a video decoder according to a seventh embodiment.

Фиг.32 - схема, поясняющая единицу макроблока.Fig. 32 is a diagram illustrating a macroblock unit.

Фиг.33 - логическая блок-схема, демонстрирующая порядок обработки принятия решения относительно режима интерпрогнозирования согласно седьмому варианту осуществления.33 is a flowchart showing a decision processing order regarding an inter prediction mode according to a seventh embodiment.

Фиг.34 - схема, поясняющая массив данных видеопотока, выводимого из видеокодера, согласно седьмому варианту осуществления.Fig. 34 is a diagram for explaining a data stream of a video stream output from a video encoder according to a seventh embodiment.

Фиг.35 - логическая блок-схема, демонстрирующая ход обработки, осуществляемый блоком 25 декодирования с переменной длиной слова, согласно седьмому варианту осуществления.Fig. 35 is a flowchart showing a flow of processing carried out by the variable-length decoding unit 25 according to the seventh embodiment.

Фиг.36 - схема, поясняющая другой массив данных видеопотока, выводимого из видеокодера, согласно седьмому варианту осуществления.Fig. 36 is a diagram for explaining another array of video stream data output from a video encoder according to a seventh embodiment.

Фиг.37 - схема, поясняющая еще один массив данных видеопотока, выводимого из видеокодера, согласно седьмому варианту осуществления.Fig. 37 is a diagram for explaining yet another data stream of a video stream output from a video encoder according to a seventh embodiment.

Фиг.38 - логическая блок-схема, демонстрирующая порядок обработки принятия решения относительно режима интерпрогнозирования согласно восьмому варианту осуществления.Fig. 38 is a flowchart showing a decision processing order regarding an inter prediction mode according to an eighth embodiment.

Фиг.39 - схема, поясняющая массив данных битового потока на уровне макроблоков согласно восьмому варианту осуществления.Fig. 39 is a diagram illustrating a data stream of a bitstream at the macroblock level according to the eighth embodiment.

Фиг.40 - логическая блок-схема, демонстрирующая порядок обработки генерации интерпрогнозируемого изображения согласно восьмому варианту осуществления.40 is a flowchart showing an order of processing for generating an inter-predicted image according to an eighth embodiment.

Фиг.41 - схема, поясняющая другой массив данных битового потока на уровне макроблока согласно восьмому варианту осуществления.Fig. 41 is a diagram for explaining another data stream of a bitstream at a macroblock level according to an eighth embodiment.

Фиг.42 - схема, поясняющая еще один массив данных битового потока на уровне макроблока согласно восьмому варианту осуществления.Fig. 42 is a diagram for explaining yet another data stream of a bitstream at the macroblock level according to the eighth embodiment.

Фиг.43 - логическая блок-схема, демонстрирующая порядок обработки принятия решения относительно режима интерпрогнозирования согласно девятому варианту осуществления.Fig. 43 is a flowchart showing a decision processing order regarding an inter prediction mode according to a ninth embodiment.

Фиг.44 - логическая блок-схема, демонстрирующая порядок обработки генерации интерпрогнозируемого изображения согласно девятому варианту осуществления.Fig. 44 is a flowchart showing an order of processing for generating an inter-predicted image according to a ninth embodiment.

Фиг.45 - схема, поясняющая структуру блока кодирования вектора движения.Fig. 45 is a diagram for explaining a structure of a motion vector coding unit.

Фиг.46 - схема, поясняющая операции блока кодирования вектора движения.Fig. 46 is a diagram for explaining operations of a motion vector coding unit.

Фиг.47 - схема, поясняющая структуру блока декодирования вектора движения.Fig. 47 is a diagram for explaining a structure of a motion vector decoding unit.

Фиг.48 - схема, поясняющая состояние битового потока синтаксис.Fig. 48 is a diagram for explaining a state of a bitstream syntax.

Фиг.49 - схема, поясняющая структуру данных, кодированных в единицах макроблоков, согласно одиннадцатому варианту осуществления.Fig. 49 is a diagram for explaining a structure of data encoded in units of macroblocks according to an eleventh embodiment.

Фиг.50 - схема, поясняющая детальную структуру кодированных данных информации заголовка компонента Cn, показанных на фиг.49, согласно одиннадцатому варианту осуществления.FIG. 50 is a diagram explaining a detailed structure of encoded data of header information of a component of Cn shown in FIG. 49, according to an eleventh embodiment.

Фиг.51 - схема, поясняющая другую структуру данных, кодированных в единицах макроблоков, согласно одиннадцатому варианту осуществления.51 is a diagram illustrating another structure of data encoded in units of macroblocks according to an eleventh embodiment.

Фиг.52 - схема, поясняющая структуру битового потока согласно одиннадцатому варианту осуществления.Fig. 52 is a diagram for explaining a structure of a bitstream according to an eleventh embodiment.

Фиг.53 - схема, поясняющая структуру среза согласно одиннадцатому варианту осуществления.Fig. 53 is a diagram for explaining a slice structure according to an eleventh embodiment.

Фиг.54 - схема, поясняющая внутреннюю структуру, относящуюся к обработке арифметического кодирования блока 11 кодирования с переменной длиной слова согласно двенадцатому варианту осуществления.Fig. 54 is a diagram for explaining an internal structure related to arithmetic encoding processing of the variable-length encoding unit 11 according to the twelfth embodiment.

Фиг.55 - логическая блок-схема, демонстрирующая порядок обработки арифметического кодирования блока 11 кодирования с переменной длиной слова согласно двенадцатому варианту осуществления.Fig. 55 is a flowchart showing an arithmetic encoding processing order of a variable-length encoding unit 11 according to a twelfth embodiment.

Фиг.56 - схема, поясняющая детальный ход обработки на этапе S162, показанном на фиг.55, согласно двенадцатому варианту осуществления.Fig. 56 is a diagram explaining a detailed processing flow in step S162 shown in Fig. 55 according to a twelfth embodiment.

Фиг.57 - схема, поясняющая концепцию контекстуальной модели (ctx).Fig. 57 is a diagram for explaining the concept of a contextual model (ctx).

Фиг.58 - схема, поясняющая пример контекстуальной модели, касающейся вектора движения макроблока.Fig. 58 is a diagram for explaining an example of a contextual model relating to a motion vector of a macroblock.

Фиг.59 - схема, поясняющая внутреннюю структуру, относящуюся к обработке арифметического декодирования блока 25 декодирования с переменной длиной слова согласно двенадцатому варианту осуществления.Fig. 59 is a diagram for explaining an internal structure related to arithmetic decoding processing of a variable word length decoding unit 25 according to a twelfth embodiment.

Фиг.60 - логическая блок-схема, демонстрирующая порядок обработки арифметического декодирования блока 25 декодирования с переменной длиной слова согласно двенадцатому варианту осуществления.60 is a flowchart showing an arithmetic decoding processing order of a variable-length decoding unit 25 according to a twelfth embodiment.

Фиг.61 - схема, поясняющая контекстуальную модель 11f согласно двенадцатому варианту осуществления.Fig. 61 is a diagram for explaining a contextual model 11f according to a twelfth embodiment.

Фиг.62 - схема, поясняющая различие в режиме текущего макроблока согласно двенадцатому варианту осуществления.Fig. 62 is a diagram for explaining a difference in a mode of a current macroblock according to a twelfth embodiment.

Фиг.63 - схема, поясняющая структуры кодера и декодера согласно тринадцатому варианту осуществления.63 is a diagram for explaining structures of an encoder and a decoder according to a thirteenth embodiment.

Фиг.64 - схема, поясняющая структуру видеокодера согласно тринадцатому варианту осуществления.64 is a diagram explaining a structure of a video encoder according to a thirteenth embodiment.

Фиг.65 - схема, поясняющая структуру видеодекодера согласно тринадцатому варианту осуществления.Fig. 65 is a diagram for explaining a structure of a video decoder according to a thirteenth embodiment.

Фиг.66 - схема, поясняющая общую обработку кодирования согласно четырнадцатому варианту осуществления.Fig. 66 is a diagram for explaining general encoding processing according to a fourteenth embodiment.

Фиг.67 - схема, поясняющая независимую обработку кодирования согласно четырнадцатому варианту осуществления.Fig. 67 is a diagram for explaining independent encoding processing according to a fourteenth embodiment.

Фиг.68 - схема, поясняющая соотношение опорного прогнозирования движения во временном измерении между изображениями в кодере и декодере согласно четырнадцатому варианту осуществления.Fig. 68 is a diagram for explaining a relationship of a reference motion prediction in a time dimension between images in an encoder and a decoder according to a fourteenth embodiment.

Фиг.69 - схема, поясняющая пример структуры битового потока, сгенерированной кодером согласно четырнадцатому варианту осуществления и подвергаемой обработке ввода/декодирования декодером согласно четырнадцатому варианту осуществления.Fig. 69 is a diagram for explaining an example of a structure of a bit stream generated by an encoder according to a fourteenth embodiment and subjected to input / decode processing by a decoder according to a fourteenth embodiment.

Фиг.70 - схема, поясняющая структуры битового потока для данных среза в случаях общей обработки кодирования и независимой обработки кодирования соответственно.70 is a diagram explaining bitstream structures for slice data in cases of general encoding processing and independent encoding processing, respectively.

Фиг.71 - схема, поясняющая схематическую структуру кодера согласно четырнадцатому варианту осуществления.Fig. 71 is a diagram for explaining a schematic structure of an encoder according to a fourteenth embodiment.

Фиг.72 - схема, поясняющая состояние, в котором задержка обработки на стороне кодера снижена.72 is a diagram for explaining a state in which a processing delay on the encoder side is reduced.

Фиг.73 - схема, поясняющая внутреннюю структуру первого блока кодирования изображения.73 is a diagram illustrating an internal structure of a first image encoding unit.

Фиг.74 - схема, поясняющая внутреннюю структуру второго блока кодирования изображения.Fig. 74 is a diagram for explaining an internal structure of a second image encoding unit.

Фиг.75 - схема, поясняющая схематическую структуру декодера согласно четырнадцатому варианту осуществления.Fig. 75 is a diagram for explaining a schematic structure of a decoder according to a fourteenth embodiment.

Фиг.76 - схема, поясняющая внутреннюю структуру первого блока декодирования изображения.Fig. 76 is a diagram for explaining an internal structure of a first image decoding unit.

Фиг.77 - схема, поясняющая внутреннюю структуру второго блока декодирования изображения.Fig. 77 is a diagram for explaining an internal structure of a second image decoding unit.

Фиг.78 - схема, поясняющая внутреннюю структуру первого блока кодирования изображения, подвергнутого обработке преобразования цветового пространства.78 is a diagram illustrating an internal structure of a first image encoding unit subjected to color space conversion processing.

Фиг.79 - схема, поясняющая внутреннюю структуру первого блока кодирования изображения, подвергнутого обработке преобразования цветового пространства.Fig. 79 is a diagram explaining an internal structure of a first image encoding unit subjected to color space conversion processing.

Фиг.80 - схема, поясняющая внутреннюю структуру первого блока кодирования изображения, подвергнутого обработке обратного преобразования цветового пространства.80 is a diagram illustrating an internal structure of a first image encoding unit subjected to color space inverse transform processing.

Фиг.81 - схема, поясняющая внутреннюю структуру первого блока кодирования изображения, подвергнутого обработке обратного преобразования цветового пространства.Fig. 81 is a diagram illustrating an internal structure of a first image encoding unit subjected to color space inverse transform processing.

Фиг.82 - схема, поясняющая структуру кодированных данных информации заголовка макроблока, включенной в битовый поток традиционного формата YUV 4:2:0.82 is a diagram illustrating a structure of encoded data of macroblock header information included in a bitstream of a conventional YUV 4: 2: 0 format.

Фиг.83 - схема, поясняющая внутреннюю структуру блока прогнозирования 461 первого блока декодирования изображения, которая обеспечивает совместимость традиционного формата YUV 4:2:0 с битовым потоком.Fig. 83 is a diagram for explaining the internal structure of the prediction block 461 of the first image decoding block, which ensures compatibility of the conventional YUV 4: 2: 0 format with the bitstream.

Фиг.84 - схема, поясняющая структуру битового потока кодированных данных, подлежащего мультиплексированию, согласно пятнадцатому варианту осуществления.84 is a diagram explaining a structure of a bitstream of encoded data to be multiplexed according to a fifteenth embodiment.

Фиг.85 - схема, поясняющая информацию о типе кодирования изображения во время кодирования данных изображения в блоке доступа, начиная с блока AUD NAL.Fig. 85 is a diagram for explaining information about an encoding type of an image during encoding of image data in an access unit, starting from an AUD NAL unit.

Фиг.86 - схема, поясняющая структуру битового потока кодированных данных, подлежащего мультиплексированию, согласно пятнадцатому варианту осуществления.Fig. 86 is a diagram for explaining a structure of a bitstream of encoded data to be multiplexed according to a fifteenth embodiment.

ОПИСАНИЕ СИМВОЛОВDESCRIPTION OF SYMBOLS

1 входной видеосигнал1 video input

2 блок пространственного прогнозирования2 block spatial prediction

3 вычитатель3 subtractor

4 разностный сигнал прогнозирования4 prediction differential signal

5 блок принятия решения относительно режима кодирования5 decision block regarding coding mode

6 режим кодирования6 encoding mode

7 прогнозируемое изображение7 predicted image

8 блок преобразования8 conversion unit

9 блок квантования9 quantization block

10 квантованный коэффициент преобразования10 quantized conversion coefficient

11 блок кодирования с переменной длиной слова11 variable-length coding unit

11a блок определения контекстуальной модели11a contextual model determination unit

11b блок преобразования к двоичному виду11b binary conversion unit

11c блок генерации вероятности появления11c occurrence probability generation unit

11d блок кодирования11d coding unit

11e кодированное значение11e coded value

11f контекстуальная модель11f contextual model

11g память для хранения информации вероятности появления11g memory for storing occurrence probability information

11h состояние вероятности появления11h state of probability of occurrence

12 блок обратного квантования12 block inverse quantization

13 блок обратного преобразования13 inverse transform block

14 разностный сигнал прогнозирования локального декодирования14 local decoding prediction differential signal

15 локально декодированное изображение (внутренне декодированное изображение)15 locally decoded image (internally decoded image)

16 память16 memory

17 буфер передачи17 transmission buffer

18 сумматор18 adder

19 блок управления кодированием19 coding control unit

20 весовой коэффициент20 weight ratio

21 параметр квантования21 quantization parameters

22 видеопоток22 video stream

23 флаг идентификации общего использования режима интрапрогнозирования23 flag identifying the common use of intra-prediction mode

24 флаг управления разблокирующим фильтром24 release filter control flag

25 блок декодирования с переменной длиной слова25 variable word length decoding unit

25a блок декодирования25a decoding unit

25b восстановленное значение участка25b reconstructed plot value

26 разблокирующий фильтр26 release filter

27 декодированное изображение27 decoded image

28 режим интракодирования28 intra-coding mode

29 базовый режим интрапрогнозирования29 basic intra-prediction mode

30 расширенный режим интрапрогнозирования30 advanced intra prediction mode

31 флаг индикации таблицы расширенных режимов интрапрогнозирования31 flag indicating the table of advanced intra prediction modes

32 флаг идентификации размера блока преобразования32 conversion block size identification flag

33 флаг идентификации общего использования режима интракодирования33 flag identifying the common use of the mode of intracoding

34 режим интракодирования34 intra-coding mode

35 режим интрапрогнозирования35 intra prediction mode

36 флаг индикации режима интрапрогнозирования36 flag indicating intra-prediction mode

102 блок прогнозирования с компенсацией движения102 motion compensated prediction unit

106 тип макроблока/тип субмакроблока106 macroblock type / submacroblock type

123 флаг идентификации общего использования режима интерпрогнозирования123 Interprediction Mode Common Use Identification Flag

123b флаг идентификации общего использования вектора движения123b flag identifying the common use of the motion vector

123c флаг идентификации общего использования заголовка макроблока123c macroblock header common use identification flag

128 базовый тип макроблока128 basic macroblock type

128b тип макроблока128b macroblock type

129 базовый тип субмакроблока129 basic type of submacroblock

129b тип субмакроблока129b sub-macroblock type

130 расширенный тип макроблока130 extended type of macroblock

131 расширенный тип субмакроблока131 extended type of submacroblock

132 идентификационный номер базового опорного изображения132 reference reference image identification number

132b идентификационный номер опорного изображения132b reference image identification number

133 информация базового вектора движения133 basic motion vector information

134 расширенный опорный идентификационный номер134 extended reference identification number

135 информация расширенного вектора движения135 extended motion vector information

136 информация профиля136 profile information

137 вектор движения137 motion vector

138, 138a, 138b, 138c информация индикации пропуска138, 138a, 138b, 138c skip indication information

139a, 139b, 139c информация заголовка139a, 139b, 139c header information

140a, 140b, 140c данные коэффициентов преобразования140a, 140b, 140c conversion coefficient data

141 режим интрапрогнозирования141 intra prediction mode

142 информация индикации эффективности/неэффективности коэффициентов преобразования142 conversion rate efficiency / inefficiency indication information

143 флаг идентификации общего использования параметра состояния вероятности появления143 flag identifying the general use of the parameter state probability of occurrence

144 режим интрапрогнозирования цветоразностного сигнала 144 intra-prediction mode for color difference signal

111 блок прогнозирования вектора движения111 motion vector prediction unit

112 блок вычисления разностного вектора движения112 block differential motion vector calculation

113 разностный вектор движения блока кодирования с переменной длиной слова113 differential motion vector of a variable-length coding block

250 блок декодирования вектора движения250 motion vector decoding unit

251 блок декодирования разностного вектора движения с переменной длиной слова251 variable-length differential motion vector decoding unit

252 блок прогнозирования вектора движения252 motion vector prediction unit

253 блок вычисления вектора движения253 motion vector calculation unit

301 блок преобразования цветового пространства301 color space conversion unit

302 преобразованный видеосигнал302 converted video signal

303 кодер303 encoder

304 информация идентификации метода преобразования цветового пространства304 color space conversion method identification information

305 битовый поток305 bit stream

306 декодер306 decoder

307 декодированное изображение307 decoded image

308 блок обратного преобразования цветового пространства308 inverse color space conversion unit

310 блок преобразования310 conversion unit

311 информация идентификации метода преобразования цветового пространства311 color space conversion method identification information

312 блок обратного преобразования312 inverse transform block

422a, 422b0, 422b1, 422b2, 422c видеопоток422a, 422b0, 422b1, 422b2, 422c video stream

423 сигнал идентификации общего кодирования/независимого кодирования423 common coding / independent coding identification signal

427a, 427b декодированное изображение427a, 427b decoded image

461 блок прогнозирования461 prediction block

462 разблокирующий фильтр462 unlocking filter

463 прогнозируемая служебная информация463 predicted service information

464 флаг указания преобразованного размера блока 464 flag indicating the converted block size

465 блок преобразования цветового пространства465 color space conversion unit

466 блок обратного преобразования цветового пространства466 color space inverse transform unit

467 информация сигнализации467 alarm information

501, 601 переключатель501, 601 switch

502 блок разделения цветовых компонентов502 color separation unit

503a первый блок кодирования изображения503a first image encoding unit

503b0, 503b1, 503b2 второй блок кодирования изображения503b0, 503b1, 503b2 second image encoding unit

504 блок мультиплексирования504 multiplexing unit

602 блок принятия решения относительно цветового компонента 602 color component decision block

603a первый блок декодирования изображения603a first image decoding unit

603b0, 603b1, 603b2 второй блок декодирования изображения603b0, 603b1, 603b2 second image decoding unit

610 блок анализа верхнего заголовка610 top header analysis unit

4611a, 4611b, 4611c блок изменения4611a, 4611b, 4611c change unit

4612 блок интрапрогнозирования сигнала яркости4612 luminance signal prediction unit

4613 блок интрапрогнозирования цветоразностного сигнала 4613 block intra-prediction of a color difference signal

4614 блок интерпрогнозирования сигнала яркости4614 luminance signal prediction unit

4615 блок интерпрогнозирования цветоразностного сигнала4615 color difference signal prediction unit

ПРЕДПОЧТИТЕЛЬНЫЕ ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ ИЗОБРЕТЕНИЯPREFERRED EMBODIMENTS FOR CARRYING OUT THE INVENTION

Первый вариант осуществленияFirst Embodiment

Согласно первому варианту осуществления будут объяснены кодер, который осуществляет кодирование, заключенное в кадре, в единицах, полученных равным делением видеокадра, введенного в формате 4:4:4, на прямоугольные области (макроблоки) 16×16 пикселей, и декодер, соответствующий кодеру. Характеристики, отвечающие изобретению, сообщаются кодеру и декодеру на основании системы кодирования, принятой в стандарте MPEG-4 AVC(ISO/IEC 14496-10)/ITU-TH.264, который представляет собой непатентный документ 1.According to a first embodiment, an encoder that encodes in a frame in units obtained by equal dividing a video frame inputted in a 4: 4: 4 format into rectangular areas (macroblocks) of 16 x 16 pixels and a decoder corresponding to the encoder will be explained. The characteristics of the invention are communicated to the encoder and decoder based on the encoding system adopted in MPEG-4 AVC (ISO / IEC 14496-10) /ITU-TH.264, which is a non-patent document 1.

Структура видеокодера согласно первому варианту осуществления показана на фиг.1. Структура видеодекодера согласно первому варианту осуществления показана на фиг.2. На фиг.2 компоненты, обозначенные позициями, идентичными позициям, обозначающим компоненты кодера, показанного на фиг.1, являются идентичными компонентами.The structure of the video encoder according to the first embodiment is shown in FIG. The structure of the video decoder according to the first embodiment is shown in FIG. In FIG. 2, the components indicated by identical positions to the components of the encoder shown in FIG. 1 are identical components.

Операции кодера в целом и декодера в целом, обработка принятия решения относительно режима интрапрогнозирования и обработка декодирования интрапрогнозирования, которые являются характерными операциями согласно первому варианту осуществления, будут объяснены на основании этих фигур.The operations of the encoder as a whole and the decoder as a whole, decision processing regarding the intra-prediction mode, and intra-prediction decoding processing, which are characteristic operations according to the first embodiment, will be explained based on these figures.

1. Описание работы кодера1. Description of the encoder

В кодере, показанном на фиг.1, соответствующие видеокадры вводятся в качестве входного видеосигнала 1 в формате 4:4:4. Вводимые видеокадры вводятся в кодер в единицах макроблоков, полученных делением трех цветовых компонентов на блоки 16 пикселей × 16 пикселей идентичного размера и размещением блоков, как показано на фиг.10.In the encoder shown in FIG. 1, corresponding video frames are input as input video signal 1 in a 4: 4: 4 format. The input video frames are input to the encoder in units of macroblocks obtained by dividing the three color components into blocks of 16 pixels × 16 pixels of the same size and placing the blocks, as shown in FIG. 10.

Прежде всего, блок пространственного прогнозирования 2 осуществляет обработку интрапрогнозирования для каждого из цветовых компонентов в единицах макроблоков с использованием локально декодированного изображения 15, хранящегося в памяти 16. Три блока памяти подготавливаются для соответствующих цветовых компонентов (хотя в объяснении этого варианта осуществления подготавливаются три блока памяти, количество блоков памяти можно соответственно изменять в зависимости от фактической реализации). Режимы интрапрогнозирования представляют собой режим интрапрогнозирования 4×4 для осуществления пространственного прогнозирования, в котором, в единицах блоков 4 пикселя × 4 линии, показанных на фиг.3, используются соседние пиксели блока, и режим интрапрогнозирования 16×16 для осуществления пространственного прогнозирования, в котором, в единицах макроблоков 16 пикселей × 16 линий, показанных на фиг.4, используются соседние пиксели макроблока.First of all, the spatial prediction unit 2 performs intra-prediction processing for each of the color components in units of macroblocks using a locally decoded image 15 stored in the memory 16. Three memory blocks are prepared for the corresponding color components (although three memory blocks are prepared in the explanation of this embodiment, the number of memory blocks can be changed accordingly, depending on the actual implementation). The intra-prediction modes are a 4 × 4 intra-prediction mode for performing spatial prediction, in which, in units of 4 pixel × 4 line blocks shown in FIG. 3, neighboring block pixels are used, and a 16 × 16 intra-prediction mode for spatial prediction, in which , in macroblock units of 16 pixels × 16 lines shown in FIG. 4, neighboring pixels of the macroblock are used.

(a) Режим интрапрогнозирования 4×4(a) 4 × 4 intra-prediction mode

Блок 16×16 пикселей сигнала яркости в макроблоке делится на шестнадцать блоков, образованных блоками 4×4 пикселя. Любой из девяти режимов, показанных на фиг.3, выбирается в единицах блоков 4×4 пикселя. Пиксели блоков (верхний левый, верхний, верхний правый и левый) вокруг блока уже закодированного, подвергнутого обработке локального декодирования и сохраненного в памяти 16 используются для генерации прогнозируемого изображения.A 16 × 16 pixel block of a luminance signal in a macroblock is divided into sixteen blocks formed by 4 × 4 pixel blocks. Any of the nine modes shown in FIG. 3 is selected in units of 4x4 pixel blocks. The pixels of the blocks (upper left, upper, upper right and left) around the block is already encoded, subjected to local decoding processing and stored in memory 16 are used to generate a predicted image.

Intra4×4_pred_mode=0: Соседний пиксель вверху используется в качестве прогнозируемого изображения как есть.Intra4 × 4_pred_mode = 0: The adjacent pixel at the top is used as the predicted image as is.

Intra4×4_pred_mode=1: Соседний пиксель слева используется в качестве прогнозируемого изображения как есть.Intra4 × 4_pred_mode = 1: The adjacent pixel on the left is used as the predicted image as it is.

Intra4×4_pre_mode=2: Среднее значение соседних восьми пикселей используется в качестве прогнозируемого изображения.Intra4 × 4_pre_mode = 2: The average of the neighboring eight pixels is used as the predicted image.

Intra4×4_pred_mode=3: Взвешенное среднее вычисляется для каждых двух-трех пикселей из соседних пикселей и используется в качестве прогнозируемого изображения (соответствующего краю на 45 градусов вправо).Intra4 × 4_pred_mode = 3: A weighted average is calculated for every two to three pixels from neighboring pixels and used as a predicted image (corresponding to the edge 45 degrees to the right).

Intra4×4_pred_mode=4: Взвешенное среднее вычисляется для каждых двух-трех пикселей из соседних пикселей и используется в качестве прогнозируемого изображения (соответствующего краю на 45 градусов влево).Intra4 × 4_pred_mode = 4: A weighted average is calculated for every two to three pixels from neighboring pixels and is used as a predicted image (corresponding to the edge 45 degrees to the left).

Intra4×4_pred_mode=5: Взвешенное среднее вычисляется для каждых двух-трех пикселей из соседних пикселей и используется в качестве прогнозируемого изображения (соответствующего краю на 22,5 градусов влево).Intra4 × 4_pred_mode = 5: A weighted average is calculated for every two to three pixels from neighboring pixels and is used as a predicted image (corresponding to the edge 22.5 degrees to the left).

Intra4×4_pred_mode=6: Взвешенное среднее вычисляется для каждых двух-трех пикселей из соседних пикселей и используется в качестве прогнозируемого изображения (соответствующего краю на 67,5 градусов влево).Intra4 × 4_pred_mode = 6: A weighted average is calculated for every two to three pixels from neighboring pixels and is used as a predicted image (corresponding to the edge 67.5 degrees to the left).

Intra4×4_pred_mode=7: Взвешенное среднее вычисляется для каждых двух-трех пикселей из соседних пикселей и используется в качестве прогнозируемого изображения (соответствующего краю на 22,5 градусов вправо).Intra4 × 4_pred_mode = 7: A weighted average is calculated for every two to three pixels from neighboring pixels and is used as a predicted image (corresponding to the edge 22.5 degrees to the right).

Intra4×4_pred_mode=8: Взвешенное среднее вычисляется для каждых двух-трех пикселей из соседних пикселей и используется в качестве прогнозируемого изображения (соответствующего краю на 112,5 градусов влево).Intra4 × 4_pred_mode = 8: A weighted average is calculated for every two to three pixels from neighboring pixels and is used as a predicted image (corresponding to the edge 112.5 degrees to the left).

При выборе режима интрапрогнозирования 4×4 шестнадцать фрагментов информации режима необходимы для каждого макроблока. Таким образом, для сокращения объема кодов самой информации режима, с учетом того факта, что информация режима имеет высокую корреляцию с соседствующим с ним блоком, кодирование прогнозирования осуществляется на основании информации режима на соседнем блоке.When choosing a 4 × 4 intra-prediction mode, sixteen pieces of mode information are necessary for each macroblock. Thus, in order to reduce the amount of codes of the mode information itself, taking into account the fact that the mode information has a high correlation with the block adjacent to it, the prediction coding is based on the mode information on the neighboring block.

(b) Режим интрапрогнозирования 16×16(b) Intra prediction mode 16 × 16

Режим кодирования с интрапрогнозированием 16×16 - это режим для прогнозирования блоков 16×16 пикселей, эквивалентных по размеру макроблока в данный момент времени. Любой из четырех режимов, показанных на фиг.4, выбирается в единицах макроблоков. Таким же образом, как в режиме интрапрогнозирования 4×4, пиксели блоков (верхний левый, верхний и левый) вокруг блока, уже закодированного, подвергнутого обработке локального декодирования, и сохраненного в памяти 16, используются для генерации прогнозируемого изображения.A 16 × 16 intra-prediction coding mode is a mode for predicting blocks of 16 × 16 pixels equivalent in size to a macroblock at a given time. Any of the four modes shown in FIG. 4 is selected in units of macroblocks. In the same way as in 4 × 4 intra-prediction mode, block pixels (upper left, upper, and left) around a block already encoded, subjected to local decoding processing, and stored in memory 16 are used to generate a predicted image.

Intra16×16_pred_mode=0: Шестнадцать пикселей на нижней стороне верхнего макроблока используются в качестве прогнозируемого изображения.Intra16 × 16_pred_mode = 0: Sixteen pixels on the underside of the upper macroblock are used as the predicted image.

Intra16×16_pred_mode=1: Шестнадцать пикселей на правой стороне левого макроблока используются в качестве прогнозируемого изображения.Intra16 × 16_pred_mode = 1: Sixteen pixels on the right side of the left macroblock are used as the predicted image.

Intra16×16_pred_mode=2: Среднее значение тридцати двух пикселей, в совокупности включающих в себя шестнадцать пикселей на нижней стороне верхнего макроблока (часть A на фиг.4) и шестнадцать пикселей на левой стороне левого макроблока (часть B на фиг.4), используется в качестве прогнозируемого изображения.Intra16 × 16_pred_mode = 2: The average value of thirty-two pixels, together including sixteen pixels on the lower side of the upper macroblock (part A in figure 4) and sixteen pixels on the left side of the left macroblock (part B in figure 4), is used as a predicted image.

Intra16×16_pred_mode=3: Прогнозируемое изображение получается посредством заранее определенной обработки арифметической операции (обработка взвешенного суммирования, соответствующая используемому пикселю и прогнозируемой позиции пикселя) с использованием тридцати одного пикселя, в совокупности включающих в себя пиксель на нижнем правом углу макроблока, над верхними левыми пятнадцатью пикселями на нижней стороне верхнего макроблока (часть, исключающая пустые пиксели) и пятнадцатью пикселями на правой стороне левого макроблока (часть, исключающая пустые пиксели).Intra16 × 16_pred_mode = 3: The predicted image is obtained by predetermined arithmetic processing (weighted summation processing corresponding to the pixel used and the predicted pixel position) using thirty-one pixels, in total including the pixel on the lower right corner of the macroblock, above the upper left fifteen pixels on the lower side of the upper macroblock (part excluding empty pixels) and fifteen pixels on the right side of the left macroblock (part, excluding yuschaya blank pixels).

Видеокодер согласно первому варианту осуществления характеризуется изменением метода обработки интрапрогнозирования для трех цветовых компонентов на основании флага 23 идентификации общего использования режима интрапрогнозирования. Этот момент будет подробно описан ниже в пункте 2.The video encoder according to the first embodiment is characterized by a change in the intra-prediction processing method for the three color components based on the flag 23 for identifying the common use of the intra-prediction mode. This point will be described in detail below in paragraph 2.

Блок пространственного прогнозирования 2 выполняет обработку прогнозирования на всех режимах или подмножествах, показанных на фиг.3 и 4, для получения разностного сигнала прогнозирования 4 с использованием вычитателя 3. Эффективность прогнозирования разностного сигнала прогнозирования 4 оценивается блоком 5 принятия решения относительно режима кодирования. Режим прогнозирования, в котором оптимальная эффективность прогнозирования получается для макроблока, заданного как объект прогнозирования, выводится в качестве режима кодирования 6 из обработки прогнозирования, выполняемой блоком пространственного прогнозирования 2. Режим кодирования 6 включает в себя соответствующие разновидности информации режима прогнозирования (Intra4×4_pred_mode или Intra16×16_pred_mode), используемые для единичной области прогнозирования совместно с информацией принятия решения (эквивалентной режиму интракодирования, показанному на фиг.6), указывающей, используется ли режим интрапрогнозирования 4×4 или режим интрапрогнозирования 16×16. Единичная область прогнозирования эквивалентна блоку 4×4 пикселя в случае intra4×4_pred_mode и эквивалентна блоку 16×16 пикселей в случае режима интрапрогнозирования 16×16. При выборе режима кодирования 6 можно учитывать весовой коэффициент 20 для каждого режима кодирования, установленного посредством принятия решения блока 19 управления кодированием. Оптимальный разностный сигнал прогнозирования 4, полученный с использованием режима кодирования 6 на блоке 5 принятия решения относительно режима кодирования, выводится на блок преобразования 8. Блок преобразования 8 преобразует введенный разностный сигнал прогнозирования 4 в коэффициент преобразования и выводит коэффициент преобразования на блок квантования 9. Блок квантования 9 квантует введенный коэффициент преобразования на основании параметра квантования 21, заданного блоком 19 управления кодированием, и выводит коэффициент преобразования на блок 11 кодирования с переменной длиной слова в качестве квантованного коэффициента преобразования 10. Квантованный коэффициент преобразования 10 подвергается энтропийному кодированию посредством, например, кодирования Хаффмана или арифметического кодирования на блоке 11 кодирования с переменной длиной слова. Квантованный коэффициент преобразования 10 восстанавливается до разностного сигнала прогнозирования локального декодирования 14 посредством блока 12 обратного квантования и блока 13 обратного преобразования. Квантованный коэффициент преобразования 10 суммируется с прогнозируемым изображением 7, которое генерируется на основании режима кодирования 6, сумматором 18 для генерации локально декодированного изображения 15. Локально декодированное изображение 15 сохраняется в памяти 16 для дальнейшего использования при обработке интрапрогнозирования. Флаг 24 управления разблокирующим фильтром, указывающий, применяется ли разблокирующий фильтр к макроблоку, также вводится в блок 11 кодирования с переменной длиной слова. (При обработке прогнозирования, выполняемой блоком пространственного прогнозирования 2, поскольку пиксельные данные, до обработки разблокирующим фильтром, сохраняются в памяти 16, обработка разблокирующего фильтра сама по себе не обязательна для обработки кодирования. Однако разблокирующий фильтр действует согласно указанию флага 24 управления разблокирующим фильтром на стороне декодера для получения окончательного декодированного изображения.)Spatial prediction unit 2 performs prediction processing on all modes or subsets shown in FIGS. 3 and 4 to obtain a prediction difference signal 4 using a subtractor 3. Prediction efficiency of the prediction difference signal 4 is evaluated by decision block 5 regarding the encoding mode. A prediction mode in which the optimal prediction efficiency is obtained for the macroblock specified as the prediction object is output as the encoding mode 6 from the prediction processing performed by the spatial prediction unit 2. Encoding mode 6 includes the corresponding varieties of information of the prediction mode (Intra4 × 4_pred_mode or Intra16 × 16_pred_mode) used for a single forecasting area together with decision information (equivalent to the intra-coding mode, showing 6) indicating whether a 4 × 4 intra-prediction mode or a 16 × 16 intra-prediction mode is used. A single prediction region is equivalent to a 4 × 4 pixel block in the case of intra4 × 4_pred_mode and equivalent to a 16 × 16 pixel block in the case of the intra × 16 × 16 prediction mode. When selecting encoding mode 6, a weighting factor of 20 for each encoding mode established by deciding the encoding control unit 19 can be taken into account. The optimal prediction difference signal 4 obtained using the encoding mode 6 on the decision block 5 regarding the encoding mode is output to the conversion unit 8. The conversion unit 8 converts the input prediction difference signal 4 into a conversion coefficient and outputs the conversion coefficient to quantization unit 9. Quantization unit 9 quantizes the input transform coefficient based on the quantization parameter 21 specified by the encoding control unit 19 and outputs a conversion coefficient assignment to the variable-length coding unit 11 as the quantized transform coefficient 10. The quantized transform coefficient 10 is entropy encoded by, for example, Huffman coding or arithmetic coding on the variable-length coding unit 11. The quantized transform coefficient 10 is restored to the local prediction differential prediction signal 14 by the inverse quantization unit 12 and the inverse transform unit 13. The quantized transform coefficient 10 is added to the predicted image 7, which is generated based on the encoding mode 6, by the adder 18 to generate a locally decoded image 15. The locally decoded image 15 is stored in the memory 16 for later use in intra-prediction processing. An enable filter control flag 24 indicating whether the enable filter is applied to the macroblock is also input to the variable-length encoding unit 11. (In the prediction processing performed by the spatial prediction unit 2, since the pixel data is stored in the memory 16 before being processed by the unlocking filter, the processing of the unlocking filter itself is not necessary for encoding processing. However, the unlocking filter acts according to the direction of the unlocking filter control flag 24 on the side decoder to obtain the final decoded image.)

Флаг 23 идентификации общего использования режима интрапрогнозирования, квантованный коэффициент преобразования 10, режим кодирования 6 и параметр квантования 21, введенные в блок 11 кодирования с переменной длиной слова, упорядочены и сформированы в виде битового потока в соответствии с заранее определенным правилом (синтаксисом) и выводятся в буфер передачи 17. Буфер передачи 17 сглаживает битовый поток согласно полосе линии передачи, к которой подключен кодер, и скорости чтения носителя записи и выводит битовый поток в качестве видеопотока 22. Буфер передачи 17 выводит информацию обратной связи на блок 19 управления кодированием согласно состоянию накопления битового потока в буфер передачи 17 и затем управляет объемом генерируемых кодов при кодировании видеокадров.The flag 23 identifies the common use of the intra-prediction mode, the quantized transform coefficient 10, the coding mode 6, and the quantization parameter 21 entered into the variable-length encoding unit 11 are ordered and formed as a bit stream in accordance with a predetermined rule (syntax) and output in transmission buffer 17. The transmission buffer 17 smooths the bit stream according to the band of the transmission line to which the encoder is connected and the read speed of the recording medium and outputs the bit stream as a video stream a 22. The transmission buffer 17 outputs feedback information to the encoding control unit 19 according to the state of accumulation of the bitstream into the transmission buffer 17 and then controls the amount of generated codes when encoding video frames.

2. Обработка принятия решения относительно режима интрапрогнозирования в кодере2. Decision processing regarding intra prediction mode in the encoder

Ниже подробно описана обработка принятия решения относительно режима интрапрогнозирования, которая является характеристикой кодера согласно первому варианту осуществления. Эта обработка осуществляется в единицах макроблоков, в которых размещены три цветовых компонента. Обработка осуществляется, в основном, блоком пространственного прогнозирования 2 и блоком 5 принятия решения относительно режима кодирования в кодере, показанном на фиг.1. Логическая блок-схема, демонстрирующая ход обработки, показана на фиг.5. Данные изображения трех цветовых компонентов, образующих блок, обозначаются ниже C0, C1 и C2.The following describes the decision processing regarding the intra-prediction mode, which is a characteristic of the encoder according to the first embodiment. This processing is carried out in units of macroblocks in which three color components are placed. The processing is carried out mainly by the spatial prediction unit 2 and the decision unit 5 regarding the encoding mode in the encoder shown in FIG. 1. A logical flowchart showing the progress of processing is shown in FIG. Image data of the three color components forming the block are indicated below C0, C1 and C2.

Прежде всего, блок 5 принятия решения относительно режима кодирования принимает флаг 23 идентификации общего использования режима интрапрогнозирования и принимает решение на основании значения флага 23 идентификации общего использования режима интрапрогнозирования, используется ли режим интрапрогнозирования, общий для C0, C1 и C2 (этап S1 на фиг.5). При использовании общего режима интрапрогнозирования блок 5 принятия решения относительно режима кодирования переходит к этапу S2 и последующим этапам. В случае неиспользования общего режима интрапрогнозирования блок 5 принятия решения относительно режима кодирования переходит к этапу S5 и последующим этапам.First of all, the decision block 5 regarding the coding mode receives the flag 23 for identifying the general use of the intra-prediction mode and makes a decision based on the value of the flag 23 for identifying the general use of the intra-prediction mode whether the intra-prediction mode common to C0, C1 and C2 is used (step S1 in FIG. 5). When using the general intra-prediction mode, the decision block 5 regarding the encoding mode proceeds to step S2 and subsequent steps. If the general intra-prediction mode is not used, the decision block 5 regarding the coding mode proceeds to step S5 and subsequent steps.

Когда режим интрапрогнозирования используется совместно для C0, C1 и C2, блок 5 принятия решения относительно режима кодирования извещает блок пространственного прогнозирования 2 обо всех режимах интрапрогнозирования 4×Ч4, которые можно выбрать. Блок пространственного прогнозирования 2 оценивает эффективности прогнозирования для всех 4×4 режимов прогнозирования и выбирает оптимальный режим интрапрогнозирования 4×4, общий для C0, C1 и C2 (этап S2). Затем блок 5 принятия решения относительно режима кодирования извещает блок пространственного прогнозирования 2 обо всех режимах интрапрогнозирования 16×16, которые можно выбрать. Блок пространственного прогнозирования 2 оценивает эффективности прогнозирования всех режимов интрапрогнозирования 16×16 и выбирает оптимальный режим интрапрогнозирования 16×16, общий для C0, C1 и C2 (этап S3). Наконец, блок 5 принятия решения относительно режима кодирования выбирает оптимальный режим в отношении эффективности прогнозирования в режимах, полученных на этапах S2 и S3 (этап S4), и заканчивает обработку.When the intra prediction mode is used together for C0, C1, and C2, the decision block 5 regarding the coding mode notifies the spatial prediction block 2 of all 4 × × 4 intra prediction modes that can be selected. The spatial prediction unit 2 evaluates the prediction efficiency for all 4 × 4 prediction modes and selects the optimal 4 × 4 intra prediction mode common to C0, C1, and C2 (step S2). Then, the decision block 5 regarding the coding mode notifies the spatial prediction block 2 of all 16 × 16 intra prediction modes that can be selected. The spatial prediction unit 2 estimates the prediction efficiency of all 16 × 16 intra-prediction modes and selects the optimal 16 × 16 intra-prediction mode common to C0, C1, and C2 (step S3). Finally, the decision block 5 regarding the encoding mode selects the optimal mode with respect to the prediction efficiency in the modes obtained in steps S2 and S3 (step S4), and ends the processing.

Когда режим интрапрогнозирования не используется совместно для C0, C1 и C2 и для C0, C1 и C2, соответственно выбираются наилучшие режимы, блок 5 принятия решения относительно режима кодирования извещает блок пространственного прогнозирования 2 обо всех режимах интрапрогнозирования 4×4, которые можно выбрать для компонентов Ci (i<=0<3). Блок пространственного прогнозирования 2 оценивает эффективности прогнозирования для всех режимов интрапрогнозирования 4×4 и выбирает оптимальный режим интрапрогнозирования 4×4 в компонентах Ci (i<=0<3) (этап S6). Аналогично, блок пространственного прогнозирования 2 выбирает оптимальный режим интрапрогнозирования 16×16 (этап S7). Наконец, на этапе S8 блок пространственного прогнозирования 2 принимает решение относительно оптимального режима интрапрогнозирования в компонентах Ci (i<=0<3).When the intra prediction mode is not shared between C0, C1 and C2 and C0, C1 and C2, respectively, the best modes are selected, the decision block 5 regarding the coding mode notifies the spatial prediction block 2 of all 4 × 4 intra prediction modes that can be selected for the components Ci (i <= 0 <3). The spatial prediction unit 2 estimates the prediction efficiency for all 4 × 4 intra-prediction modes and selects the optimal 4 × 4 intra-prediction mode in the Ci components (i <= 0 <3) (step S6). Similarly, the spatial prediction unit 2 selects an optimal 16 × 16 intra-prediction mode (step S7). Finally, in step S8, the spatial prediction unit 2 makes a decision regarding the optimal intra-prediction mode in the components Ci (i <= 0 <3).

В качестве стандарта для оценки эффективности прогнозирования для режима прогнозирования, осуществляемой в блоке пространственного прогнозирования 2, можно, например, использовать стоимость скорости/искажения, заданную как Jm=Dm+λRm (λ: положительное число). Dm - это величина искажения кодирования или ошибки прогнозирования в случае применения режима интрапрогнозирования m. Искажение кодирования получается с применением режима интрапрогнозирования m для вычисления ошибки прогнозирования и декодирования видеосигнала из результата, полученного путем преобразования и квантования ошибки прогнозирования для измерения ошибки относительно сигнала до кодирования. Величина ошибки прогнозирования получается путем вычисления разности между прогнозируемым изображением и сигналом до кодирования в случае, когда применяется режим интрапрогнозирования m и квантования уровня разности. Например, используется сумма абсолютных расстояний (SAD). Rm - это объем генерируемых кодов в случае, когда применяется режим интрапрогнозирования m. Иными словами, Jm - это значение, задающее компромисс между объемом кодов и степенью ухудшения в случае, когда применяется режим интрапрогнозирования m. Режим интрапрогнозирования m, дающий минимальное Jm, является оптимальным решением.As a standard for evaluating the prediction efficiency for the prediction mode carried out in the spatial prediction unit 2, for example, the velocity / distortion value set as Jm = Dm + λRm (λ: positive number) can be used. Dm is the value of coding distortion or prediction error in the case of using the intra prediction mode m. The coding distortion is obtained using the intra-prediction mode m to calculate the prediction error and decode the video signal from the result obtained by converting and quantizing the prediction error to measure the error with respect to the signal before encoding. The magnitude of the prediction error is obtained by calculating the difference between the predicted image and the signal before coding in the case when the intra prediction mode m and quantization of the difference level are applied. For example, Absolute Distance Sum (SAD) is used. Rm is the amount of generated codes when the intra prediction mode m is applied. In other words, Jm is a value specifying a compromise between the amount of codes and the degree of deterioration when the intra-prediction mode m is applied. The intra-prediction mode m, giving the minimum Jm, is the optimal solution.

Когда кодер осуществляет обработку на этапе S2 и последующих этапах, один фрагмент информации о режиме интрапрогнозирования выделяется макроблоку, включающему в себя три цветовых компонента. С другой стороны, когда кодер осуществляет обработку на этапе S5 и последующих этапах, информация режима интрапрогнозирования выделяется цветовым компонентам соответственно. Таким образом, поскольку фрагменты информации о режимах интрапрогнозирования, выделенные макроблоку, различаются, необходимо мультиплексировать флаг 23 идентификации общего использования режима интрапрогнозирования в битовый поток и дать возможность декодеру распознавать, осуществил ли кодер этапы обработки на этапе S2 и последующих этапах или осуществил этапы обработки на этапе S5 и последующих этапах. Массив данных такого битового потока показан на фиг.6.When the encoder processes in step S2 and subsequent steps, one piece of intra-prediction mode information is allocated to the macroblock including three color components. On the other hand, when the encoder performs the processing in step S5 and subsequent steps, intra prediction mode information is allocated to the color components, respectively. Thus, since the fragments of intra-prediction mode information allocated to the macroblock are different, it is necessary to multiplex the intra-prediction mode common use identification flag 23 into the bitstream and allow the decoder to recognize whether the encoder has completed the processing steps in step S2 and subsequent steps or has completed the processing steps in step S5 and subsequent steps. The data array of such a bitstream is shown in FIG. 6.

На фигуре показан массив данных битового потока на уровне макроблоков. Режим интракодирования 28 указывает информацию, позволяющую различать intra 4×4 и intra 16×16, и базовый режим интрапрогнозирования 29 указывает информацию общего режима интрапрогнозирования в случае, когда флаг 23 идентификации общего использования режима интрапрогнозирования указывает "общий для C0, C1 и C2". Базовый режим интрапрогнозирования 29 указывает информацию режима интрапрогнозирования для C0, когда флаг 23 идентификации общего использования режима интрапрогнозирования указывает "не общий для C0, C1 и C2". Расширенный режим интрапрогнозирования 30 мультиплексируется, только когда флаг 23 идентификации общего использования режима интрапрогнозирования указывает "не общий для C0, C1 и C2". Расширенный режим интрапрогнозирования 30 указывает информацию режима интрапрогнозирования для C1 и C2. Затем параметр квантования 21 и квантованный коэффициент преобразования 10 мультиплексируются. Режим кодирования 6, показанный на фиг.1, является общим членом режима интракодирования 28 и режимов интрапрогнозирования (базового и расширенного) (хотя флаг 24 управления разблокирующим фильтром, введенный в блок 11 кодирования с переменной длиной слова, показанный на фиг.1, не включен в фиг.6, флаг 24 управления разблокирующим фильтром опущен, поскольку флаг не является компонентом, необходимым для пояснения характеристик первого варианта осуществления).The figure shows a data stream of the bitstream at the macroblock level. The intra-coding mode 28 indicates information allowing to distinguish between intra 4 × 4 and intra 16 × 16, and the basic intra-prediction mode 29 indicates information of the general intra-prediction mode in the case where the flag 23 identifying the general use of the intra-prediction mode indicates “common to C0, C1 and C2”. The basic intra-prediction mode 29 indicates the information of the intra-prediction mode for C0, when the flag 23 identifying the general use of the intra-prediction mode indicates "not common for C0, C1 and C2". The advanced intra-prediction mode 30 is multiplexed only when the intra-prediction mode common use identification flag 23 indicates “not common to C0, C1, and C2”. Advanced intra prediction mode 30 indicates intra prediction mode information for C1 and C2. Then, the quantization parameter 21 and the quantized transform coefficient 10 are multiplexed. The encoding mode 6 shown in FIG. 1 is a common member of the intra-coding mode 28 and the intra-prediction modes (basic and advanced) (although the enable filter control flag 24 entered in the variable-length encoding block 11 shown in FIG. 1 is not included in FIG. 6, an enable filter control flag 24 is omitted because the flag is not a component necessary to explain the characteristics of the first embodiment).

В формате 4:2:0, принятом в традиционном стандарте кодирования видеосигнала, определение цветовых пространств зафиксировано на Y, Cb и Cr. В формате 4:4:4 определение цветовых пространств не ограничивается Y, Cb и Cr, но можно использовать различные цветовые пространства. Благодаря формированию информации режима интрапрогнозирования, как показано на фиг.6, можно осуществлять оптимальную обработку кодирования, даже когда определение цветовых пространств входного видеосигнала 1 разнообразно. Например, когда цветовые пространства определены как RGB, структура видеотекстуры одинаково остается в соответствующих компонентах R, G и B. Таким образом, с использованием информации общего режима интрапрогнозирования можно сократить избыточность самой информации режима интрапрогнозирования и повысить эффективность кодирования. С другой стороны, когда цветовые пространства определены как Y, Cb и Cr, структура видеотекстуры интегрируется в Y. Таким образом, общий режим интрапрогнозирования не всегда дает оптимальный результат. Таким образом, можно получить оптимальную эффективность кодирования, адаптивно используя расширенный режим интрапрогнозирования 30.In the 4: 2: 0 format, adopted in the traditional video coding standard, the definition of color spaces is fixed to Y, Cb and Cr. In the 4: 4: 4 format, the definition of color spaces is not limited to Y, Cb, and Cr, but various color spaces can be used. By generating intra prediction mode information, as shown in FIG. 6, it is possible to perform optimal coding processing even when the determination of color spaces of the input video signal 1 is diverse. For example, when color spaces are defined as RGB, the structure of the video texture remains the same in the corresponding components R, G, and B. Thus, using information from the general intra-prediction mode, it is possible to reduce the redundancy of the intra-prediction mode information itself and increase the encoding efficiency. On the other hand, when color spaces are defined as Y, Cb, and Cr, the structure of the video texture is integrated into Y. Thus, the general intra-prediction mode does not always give an optimal result. Thus, it is possible to obtain optimal coding efficiency by adaptively using the advanced intra-prediction mode 30.

3. Описание работы декодера3. Description of the decoder

Декодер, показанный на фиг.2, принимает видеопоток 22, отвечающий массиву, показанному на фиг.6, выводимый из кодера, показанного на фиг.1, осуществляет обработку декодирования в единицах макроблоков, в которых три цветовых компонента имеют идентичный размер (формат 4:4:4), и восстанавливает соответствующие видеокадры.The decoder shown in FIG. 2 receives a video stream 22 corresponding to the array shown in FIG. 6, output from the encoder shown in FIG. 1, performs decoding processing in units of macroblocks in which the three color components have the same size (format 4: 4: 4), and restores the corresponding video frames.

Прежде всего, блок 25 декодирования с переменной длиной слова, на который поступает поток 22, декодирует поток 22 в соответствии с заранее определенным правилом (синтаксисом) и извлекает информацию, включающую в себя флаг 23 идентификации общего использования режима интрапрогнозирования, квантованный коэффициент преобразования 10, режим кодирования 6 и параметр квантования 21. Квантованный коэффициент преобразования 10 вводится в блок обратного квантования 12 совместно с параметром квантования 21, и осуществляется обработка обратного квантования. Затем выходной сигнал блока обратного квантования 12 вводится в блок обратного преобразования 13 и восстанавливается до разностного сигнала прогнозирования локального декодирования 14. С другой стороны, режим кодирования 6 и флаг 23 идентификации общего использования режима интрапрогнозирования вводятся в блок пространственного прогнозирования 2. Блок пространственного прогнозирования 2 получает прогнозируемое изображение 7 в соответствии с этими фрагментами информации. Ниже будет описана конкретная процедура для получения прогнозируемого изображения 7. Разностный сигнал прогнозирования локального декодирования 14 и прогнозируемое изображение 7 суммируются сумматором 18 для получения внутренне декодированного изображения 15 (это полностью такой же сигнал, как локально декодированное изображение 15 в кодере). Внутренне декодированное изображение 15 записывается обратно в память 16 для использования при дальнейшем интрапрогнозировании макроблока. Три блока памяти подготавливаются для соответствующих цветовых компонентов (хотя в объяснении этого варианта осуществления подготавливаются три блока памяти, количество блоков памяти можно соответственно изменять согласно конструкции). Разблокирующий фильтр 26 получает команду воздействовать на внутренне декодированное изображение 15 на основании указания флага 24 управления разблокирующим фильтром, декодированного блоком 25 декодирования с переменной длиной слова, для получения окончательного декодированного изображения 27.First of all, the variable-length decoding unit 25 to which the stream 22 arrives, decodes the stream 22 in accordance with a predetermined rule (syntax) and extracts information including the general prediction mode identification flag 23, the quantized transform coefficient 10, mode encoding 6 and a quantization parameter 21. The quantized transform coefficient 10 is input to the inverse quantization unit 12 together with the quantization parameter 21, and the inverse quantum is processed Niya. Then, the output signal of the inverse quantization unit 12 is input to the inverse transform unit 13 and restored to the local prediction differential prediction signal 14. On the other hand, the encoding mode 6 and the intra-prediction mode common use identification flag 23 are input to the spatial prediction unit 2. The spatial prediction unit 2 receives the predicted image 7 in accordance with these pieces of information. The specific procedure for obtaining the predicted image 7 will be described below. The local decoding prediction difference signal 14 and the prediction image 7 are summed by the adder 18 to obtain an internally decoded image 15 (this is completely the same signal as the locally decoded image 15 in the encoder). The internally decoded image 15 is written back to memory 16 for use in further intra-prediction of the macroblock. Three memory blocks are prepared for the respective color components (although three memory blocks are prepared in the explanation of this embodiment, the number of memory blocks can accordingly be changed according to the design). The unlocking filter 26 is instructed to act on the internally decoded image 15 based on the indication of the unlocking filter control flag 24, decoded by the variable-length decoding unit 25, to obtain the final decoded image 27.

4. Обработка декодирования интрапрогнозирования в декодере4. Processing of intra prediction decoding in a decoder

Ниже подробно описана обработка генерации интрапрогнозируемого изображения, которая является характеристикой декодера согласно первому варианту осуществления. Эта обработка осуществляется в единицах макроблоков, в которых размещены три цветовых компонента. Обработка осуществляется, в основном, блоком 25 декодирования с переменной длиной слова и блоком пространственного прогнозирования 2 декодера, показанного на фиг.2. Логическая блок-схема, демонстрирующая ход обработки, показана на фиг.7.The processing of generating an intra-predicted image, which is a characteristic of a decoder according to the first embodiment, is described in detail below. This processing is carried out in units of macroblocks in which three color components are placed. The processing is carried out mainly by the variable-length decoding unit 25 and the spatial prediction unit 2 of the decoder shown in FIG. 2. A logical flowchart showing the progress of processing is shown in FIG.

Этапы S10-S14 в логической блок-схеме, показанной на фиг.7, осуществляются блоком 25 декодирования с переменной длиной слова. Видеопоток 22, поступающий в блок 25 декодирования с переменной длиной слова, согласуется с массивом данных, показанным на фиг.6. На этапе S10 блок 25 декодирования с переменной длиной слова сначала декодирует режим интракодирования 28 данных, показанный на фиг.6. Затем блок 25 декодирования с переменной длиной слова декодирует флаг 23 идентификации общего использования режима интрапрогнозирования (этап S11). Кроме того, блок 25 декодирования с переменной длиной слова декодирует базовый режим интрапрогнозирования 29 (этап S12). На этапе S13 блок 25 декодирования с переменной длиной слова принимает решение, используется ли режим интрапрогнозирования совместно для C0, C1 и C2, с использованием результата флага 23 идентификации общего использования режима интрапрогнозирования. При использовании общего режима интрапрогнозирования блок 25 декодирования с переменной длиной слова использует базовый режим интрапрогнозирования 29 для всех из C0, C1 и C2. В случае неиспользования общего режима интрапрогнозирования блок 25 декодирования с переменной длиной слова использует базовый режим интрапрогнозирования 29 в качестве режима для C0 и декодирует расширенный режим интрапрогнозирования 30 (этап S14) для получения информации режима для C1 и C2. Поскольку режим кодирования 6 для соответствующих цветовых компонентов устанавливается на этапах обработки, блок 25 декодирования с переменной длиной слова выводит режим кодирования 6 на блок пространственного прогнозирования 2 и получает интрапрогнозируемые изображения соответствующих цветовых компонентов в соответствии с этапами S15-S17. Процесс для получения интрапрогнозируемых изображений согласуется с процедурами, показанными на фиг.3 и 4, и идентичен обработке, осуществляемой кодером, показанным на фиг.1.Steps S10-S14 in the logic flowchart shown in FIG. 7 are performed by the variable-length decoding unit 25. The video stream 22 entering the block 25 decoding with a variable word length is consistent with the data array shown in Fig.6. In step S10, the variable-length decoding unit 25 first decodes the data intra-coding mode 28 shown in FIG. 6. Then, the variable word length decoding unit 25 decodes the intra-prediction mode common use identification flag 23 (step S11). In addition, the variable-length decoding unit 25 decodes the basic intra-prediction mode 29 (step S12). In step S13, the variable-length decoding unit 25 decides whether the intra-prediction mode is used together for C0, C1, and C2 using the result of the flag 23 for identifying the common use of the intra-prediction mode. When using the general intra-prediction mode, the variable-length decoding unit 25 uses the basic intra-prediction mode 29 for all of C0, C1, and C2. If the general intra-prediction mode is not used, the variable-length decoding unit 25 uses the basic intra-prediction mode 29 as the mode for C0 and decodes the advanced intra-prediction mode 30 (step S14) to obtain mode information for C1 and C2. Since the encoding mode 6 for the respective color components is set in the processing steps, the variable-length decoding unit 25 outputs the encoding mode 6 to the spatial prediction unit 2 and obtains intra-predicted images of the corresponding color components in accordance with steps S15-S17. The process for obtaining intra-predicted images is consistent with the procedures shown in FIGS. 3 and 4 and is identical to the processing performed by the encoder shown in FIG. 1.

Вариации массива данных битового потока, показанного на фиг.6, показаны на фиг.8. Согласно фиг.7 флаг 23 идентификации общего использования режима интрапрогнозирования мультиплексируется как флаг, расположенный на более высоком уровне данных, например на уровне среза, изображения или последовательности, а не как флаг на уровне макроблоков. Флаг 31 индикации таблицы расширенных режимов интрапрогнозирования обеспечен для выбора кодовой таблицы, задающей кодовое слово расширенного режима интрапрогнозирования 30 из совокупности кодовых таблиц. Следовательно, когда возможно обеспечить достаточную эффективность прогнозирования согласно изменению на более высоком уровне, равном или более высоком, чем уровень среза, можно сократить бит служебной информации без мультиплексирования флага 23 идентификации общего использования режима интрапрогнозирования на уровне макроблоков каждый раз при осуществлении обработки. Что касается расширенного режима интрапрогнозирования 30, поскольку обеспечен флаг индикации таблицы расширенных режимов интрапрогнозирования 31, можно выбрать определение режима прогнозирования, заданного для компонентов C1 и C2, вместо определения идентичного определению базового режима интрапрогнозирования 29. Это дает возможность осуществлять обработку кодирования, адаптированную к определению цветовых пространств. Например, при кодировании формата 4:2:0 AVC, набор режимов интрапрогнозирования, отличный от яркости (Y), задается для цветоразностного компонента (Cb и Cr). В формате 4:2:0 цветоразностный сигнал в макроблоке - это сигнал 8 пикселей × 8 линий. Любой из четырех режимов, показанных на фиг.9, выбирается в единицах макроблоков для осуществления обработки декодирования. Хотя существует две разновидности Cb и Cr в качестве цветоразностных сигналов, используется один и тот же режим. За исключением DC прогнозирования intra_chroma_pred_mode=0, обработка прогнозирования такая же, как в режиме интрапрогнозирования 16×16, показанном на фиг.4. В DC прогнозировании блок 8×8 делится на четыре блока 4×4, и позиции пикселей, для каждого из которых вычисляется среднее значение, изменяются для каждого из блоков для осуществления обработки. В блоке, обозначенном на фигуре "a+x, a или x", среднее значение вычисляется с использованием восьми пикселей "a" и "x", когда можно использовать пиксель "a" и пиксель "x", с использованием четырех пикселей "a", когда можно использовать только пиксель "a", и с использованием только четырех пикселей "x", когда можно использовать только пиксель "x". Среднее значение используется в качестве прогнозируемого изображения 7. Значение 128 используется в качестве прогнозируемого изображения 7, когда невозможно использовать пиксели "a" и "x". В блоке, обозначенном "b или x", среднее значение вычисляется с использованием четырех пикселей "b", когда можно использовать изображение "b", и с использованием четырех пикселей "x", когда можно использовать только пиксель "x".Variations in the bitstream data array shown in FIG. 6 are shown in FIG. 7, a flag 23 for identifying common usage of an intra-prediction mode is multiplexed as a flag located at a higher data level, for example, at a slice, image, or sequence level, and not as a flag at the macroblock level. An indication flag 31 of the extended intra prediction mode table is provided for selecting a code table defining a code word of the extended intra prediction mode 30 from the plurality of code tables. Therefore, when it is possible to ensure sufficient prediction efficiency according to a change at a higher level equal to or higher than the cutoff level, it is possible to reduce the overhead bit without multiplexing the flag 23 for identifying the general use of the intra-prediction mode at the macroblock level each time the processing is performed. As for the extended intra prediction mode 30, since the display flag of the table of extended intra prediction modes 31 is provided, it is possible to choose the definition of the prediction mode defined for components C1 and C2, instead of identifying the definition of the basic intra prediction mode 29. This makes it possible to carry out encoding processing adapted to the definition of color spaces. For example, when encoding a 4: 2: 0 AVC format, a set of intra-prediction modes other than brightness (Y) is specified for the color difference component (Cb and Cr). In the 4: 2: 0 format, the color difference signal in the macroblock is a signal of 8 pixels × 8 lines. Any of the four modes shown in FIG. 9 is selected in units of macroblocks for decoding processing. Although there are two varieties of Cb and Cr as color difference signals, the same mode is used. With the exception of intra prediction DC intra_chroma_pred_mode = 0, the prediction processing is the same as in the 16 × 16 intra prediction mode shown in FIG. 4. In DC prediction, an 8 × 8 block is divided into four 4 × 4 blocks, and the positions of the pixels, for each of which the average value is calculated, are changed for each of the blocks for processing. In the block indicated in the figure "a + x, a or x", the average value is calculated using eight pixels "a" and "x", when you can use the pixel "a" and the pixel "x", using four pixels "a "when only the pixel" a "can be used, and using only four pixels" x ", when only the pixel" x "can be used. The average value is used as the predicted image 7. The value 128 is used as the predicted image 7 when it is impossible to use the pixels "a" and "x". In the block labeled “b or x,” the average value is calculated using four pixels “b” when the image “b” can be used, and using four pixels “x” when only the pixel “x” can be used.

Таким образом, когда необходимо изменить набор режимов интрапрогнозирования согласно характеристикам цветовых компонентов, можно получить более оптимальную эффективность кодирования согласно структуре наподобие синтаксиса, показанного на фиг.8.Thus, when it is necessary to change the set of intra-prediction modes according to the characteristics of the color components, it is possible to obtain a more optimal coding efficiency according to a structure similar to the syntax shown in Fig. 8.

Второй вариант осуществленияSecond Embodiment

Согласно второму варианту осуществления будет объяснен другой кодер, который осуществляет кодирование, заключенное в кадре в единицах, полученных равным делением видеокадра, введенного в формате 4:4:4, на прямоугольные области (макроблоки) 16×16 пикселей, и декодер, соответствующий кодеру. Как и в первом варианте осуществления характеристики, отвечающие изобретению, сообщаются кодеру и декодеру на основании системы кодирования, принятой в стандарте MPEG-4 AVC(ISO/IEC 14496-10)/ITU-TH.264, который представляет собой непатентный документ 1.According to a second embodiment, another encoder that encodes in a frame in units obtained by equal dividing a video frame inputted in a 4: 4: 4 format into rectangular areas (macroblocks) of 16 x 16 pixels and a decoder corresponding to the encoder will be explained. As in the first embodiment, the characteristics of the invention are communicated to the encoder and decoder based on the encoding system adopted in the MPEG-4 AVC (ISO / IEC 14496-10) /ITU-TH.264 standard, which is Non-Patent Document 1.

Структура видеокодера согласно второму варианту осуществления показана на фиг.11. Структура видеодекодера согласно второму варианту осуществления показана на фиг.12. На фиг.11 компоненты, обозначенные позициями, идентичными позициям, обозначающим компоненты кодера, показанные на фиг.1, являются идентичными компонентами. На фиг.12 компоненты, обозначенные позициями, идентичными позициям, обозначающим компоненты кодера, показанные на фиг.11, являются идентичными компонентами. На фиг.11 позиция 32 обозначает флаг идентификации размера блока преобразования и 33 обозначает флаг идентификации общего использования режима интракодирования.The structure of the video encoder according to the second embodiment is shown in FIG. 11. The structure of the video decoder according to the second embodiment is shown in FIG. In FIG. 11, the components indicated by identical positions to the encoder components shown in FIG. 1 are identical components. In FIG. 12, the components indicated by identical positions to the encoder components shown in FIG. 11 are identical components. 11, reference numeral 32 denotes a transform block size identification flag and 33 denotes an intra-encoding mode common use identification flag.

Операции кодера в целом и декодера в целом согласно второму варианту осуществления, обработка принятия решения относительно режима интракодирования/прогнозирования и обработка декодирования интрапрогнозирования, которые являются характерными операциями согласно второму варианту осуществления, будут объяснены на основании этих фигур.The operations of the encoder as a whole and the decoder as a whole according to the second embodiment, decision processing regarding the intra-coding / prediction mode, and intra-prediction decoding processing, which are characteristic operations of the second embodiment, will be explained based on these figures.

1. Описание работы кодера1. Description of the encoder

В кодере, показанном на фиг.11, соответствующие видеокадры вводятся в качестве входного видеосигнала 1 в формате 4:4:4. Вводимые видеокадры вводятся в кодер в единицах, полученных делением трех цветовых компонентов на макроблоки идентичного размера и размещением блоков, как показано на фиг.10.In the encoder shown in FIG. 11, corresponding video frames are input as input video signal 1 in a 4: 4: 4 format. The input video frames are input to the encoder in units obtained by dividing the three color components into macroblocks of the same size and placing the blocks, as shown in FIG. 10.

Блок пространственного прогнозирования 2 осуществляет обработку интрапрогнозирования для каждого из цветовых компонентов в единицах макроблоков с использованием локально декодированного изображения 15, хранящегося в памяти 16. Режимы интрапрогнозирования представляют собой режим интрапрогнозирования 4×4 для осуществления пространственного прогнозирования, в котором, в единицах блоков 4 пикселя × 4 линии, показанных на фиг.3, используются соседние пиксели блока, режим интрапрогнозирования 8×8 для осуществления пространственного прогнозирования, в котором, в единицах блоков 8 пикселей × 8 линий, показанных на фиг.13, используются соседние пиксели блока, и режим интрапрогнозирования 16×16 для осуществления пространственного прогнозирования, в котором, в единицах макроблоков 16 пикселей × 16 линий, показанных на фиг.4, используются соседние пиксели макроблока. В кодере согласно второму варианту осуществления режим интрапрогнозирования 4×4 и режим интрапрогнозирования 8×8 сменяют друг друга и используются в соответствии с состоянием флага 32 идентификации размера блока преобразования. Можно представить, с использованием режима интракодирования, как показано на фиг.6, какой из режимов интрапрогнозирования для прогнозирования 4×4, прогнозирования 8×8 и прогнозирования 16×16 используется для кодирования определенного макроблока. В кодере согласно второму варианту осуществления в качестве режимов интракодирования предусмотрены две разновидности режимов кодирования, а именно режим кодирования с интрапрогнозированием N×N (N равно 4 или 8) для осуществления кодирования с использованием режима интрапрогнозирования 4×4 или режима интрапрогнозирования 8×8 и режим кодирования с интрапрогнозированием 16×16 для осуществления кодирования с использованием режима интрапрогнозирования 16×16. Режимы интракодирования будут описаны ниже соответственно.The spatial prediction unit 2 performs intra-prediction processing for each of the color components in units of macroblocks using a locally decoded image 15 stored in the memory 16. The intra-prediction modes are a 4 × 4 intra-prediction mode for spatial prediction, in which 4 pixel × 4 lines shown in FIG. 3, using neighboring block pixels, 8 × 8 intra-prediction mode for spatial prediction a method in which, in units of 8 pixel × 8 blocks of lines shown in FIG. 13, neighboring block pixels are used, and a 16 × 16 intra-prediction mode for spatial prediction, in which, in units of macroblocks, 16 pixels × 16 lines shown in 4, neighboring pixels of the macroblock are used. In the encoder according to the second embodiment, the 4 × 4 intra-prediction mode and the 8 × 8 intra-prediction mode are interchanged and are used in accordance with the state of the transform block size identification flag 32. It can be imagined, using the intra-coding mode, as shown in FIG. 6, which of the intra-prediction modes for 4 × 4 prediction, 8 × 8 prediction, and 16 × 16 prediction is used to encode a particular macroblock. In the encoder according to the second embodiment, two types of coding modes are provided as intra-coding modes, namely, an N × N intra-prediction coding mode (N is 4 or 8) for encoding using a 4 × 4 intra-prediction mode or 8 × 8 intra-prediction mode and a mode 16 × 16 intra-prediction coding for performing coding using the 16 × 16 intra-prediction mode. Intracoding modes will be described below, respectively.

(a) Режим кодирования с интрапрогнозированием N×N(a) N × N intra-prediction coding mode

Режим кодирования с интрапрогнозированием N×N - это режим для осуществления кодирования с избирательным изменением режима интрапрогнозирования 4×4 для деления блока 16×16 пикселей сигнала яркости в макроблоке на шестнадцать блоков, образованных блоками 4×4 пикселей, и выбора по отдельности режима прогнозирования для каждого из блоков 4×4 пикселя и режима интрапрогнозирования 8×8 для деления блока 16×16 пикселей сигнала яркости в макроблоке на четыре блока, образованные блоками 8×8 пикселей, и выбора по отдельности режима прогнозирования для каждого из блоков 8×8 пикселей. Изменение режима интрапрогнозирования 4×4 и режима интрапрогнозирования 8×8 связано с состоянием флага 32 идентификации размера блока преобразования. Этот момент будет описан ниже. Что касается режима интрапрогнозирования 4×4, как объяснено согласно первому варианту осуществления, любой из девяти режимов, показанных на фиг.3, выбирается в единицах блоков 4×4 пикселя. Пиксели блоков (верхний левый, верхний, верхний правый и левый) вокруг блока, уже закодированного, подвергнутого обработке локального декодирования и сохраненного в памяти 16, используются для генерации прогнозируемого изображения.N × N intra-prediction coding mode is a mode for performing selective coding of a 4 × 4 intra-prediction mode for dividing a block of 16 × 16 pixels of a luminance signal in a macroblock by sixteen blocks formed by 4 × 4 pixel blocks and individually selecting a prediction mode for of each of the 4 × 4 pixel blocks and the 8 × 8 intra-prediction mode for dividing the 16 × 16 pixel block of the brightness signal in the macroblock into four blocks formed by 8 × 8 pixel blocks, and individually selecting the prediction mode for zhdogo blocks of 8 × 8 pixels. The change in the intra-prediction mode 4 × 4 and the intra-prediction mode 8 × 8 is associated with the state of the flag 32 identifying the size of the transform block. This point will be described below. As for the 4 × 4 intra-prediction mode, as explained according to the first embodiment, any of the nine modes shown in FIG. 3 is selected in units of 4 × 4 pixel blocks. The pixels of the blocks (upper left, upper, upper right and left) around the block, already encoded, subjected to local decoding processing and stored in memory 16, are used to generate a predicted image.

С другой стороны, в режиме интрапрогнозирования 8×8 любой из девяти режимов, показанных на фиг.13, выбирается в единицах блоков 8×8 пикселей. Как следует из сравнения с фиг.3, режим интрапрогнозирования 8×8 получается путем изменения метода прогнозирования режима интрапрогнозирования 4×4, подлежащего адаптации к блоку 8×8 пикселей.On the other hand, in the 8 × 8 intra-prediction mode, any of the nine modes shown in FIG. 13 is selected in units of 8 × 8 pixels. As follows from the comparison with FIG. 3, the 8 × 8 intra-prediction mode is obtained by changing the 4 × 4 intra-prediction mode prediction method to be adapted to the 8 × 8 pixel block.

Intra8×8_pred_mode=0: Соседний пиксель вверху используется в качестве прогнозируемого изображения как есть.Intra8 × 8_pred_mode = 0: The adjacent pixel at the top is used as the predicted image as is.

Intra8×8_pred_mode=1: Соседний пиксель слева используется в качестве прогнозируемого изображения как есть.Intra8 × 8_pred_mode = 1: The adjacent pixel on the left is used as the predicted image as it is.

Intra8×8_pre_mode=2: Среднее значение соседних восьми пикселей используется в качестве прогнозируемого изображения.Intra8 × 8_pre_mode = 2: The average of the neighboring eight pixels is used as the predicted image.

Intra8×8_pred_mode=3: Взвешенное среднее вычисляется для каждых двух-трех пикселей из соседних пикселей и используется в качестве прогнозируемого изображения (соответствующего краю на 45 градусов вправо).Intra8 × 8_pred_mode = 3: A weighted average is calculated for every two to three pixels from neighboring pixels and is used as a predicted image (corresponding to the edge 45 degrees to the right).

Intra8×8_pred_mode=4: Взвешенное среднее вычисляется для каждых двух-трех пикселей из соседних пикселей и используется в качестве прогнозируемого изображения (соответствующего краю на 45 градусов влево).Intra8 × 8_pred_mode = 4: A weighted average is calculated for every two to three pixels from neighboring pixels and is used as a predicted image (corresponding to the edge 45 degrees to the left).

Intra8×8_pred_mode=5: Взвешенное среднее вычисляется для каждых двух-трех пикселей из соседних пикселей и используется в качестве прогнозируемого изображения (соответствующего краю на 22,5 градусов влево).Intra8 × 8_pred_mode = 5: A weighted average is calculated for every two to three pixels from neighboring pixels and is used as a predicted image (corresponding to the edge 22.5 degrees to the left).

Intra8×8_pred_mode=6: Взвешенное среднее вычисляется для каждых двух-трех пикселей из соседних пикселей и используется в качестве прогнозируемого изображения (соответствующего краю на 67,5 градусов влево).Intra8 × 8_pred_mode = 6: A weighted average is calculated for every two to three pixels from neighboring pixels and is used as a predicted image (corresponding to the edge 67.5 degrees to the left).

Intra8×8_pred_mode=7: Взвешенное среднее вычисляется для каждых двух-трех пикселей из соседних пикселей и используется в качестве прогнозируемого изображения (соответствующего краю на 22,5 градусов вправо).Intra8 × 8_pred_mode = 7: A weighted average is calculated for every two to three pixels from neighboring pixels and used as a predicted image (corresponding to the edge 22.5 degrees to the right).

Intra8×8_pred_mode=8: Взвешенное среднее вычисляется для каждых двух-трех пикселей из соседних пикселей и используется в качестве прогнозируемого изображения (соответствующего краю на 112,5 градусов влево).Intra8 × 8_pred_mode = 8: A weighted average is calculated for every two to three pixels from neighboring pixels and is used as a predicted image (corresponding to the edge 112.5 degrees to the left).

При выборе режима интрапрогнозирования 4×4 шестнадцать фрагментов информации режима необходимы для каждого макроблока. Таким образом, для сокращения объема кодов самой информации режима, с учетом того факта, что информация режима имеет высокую корреляцию с соседствующим с ним блоком, кодирование прогнозирования осуществляется на основании информации режима на соседнем блоке. Аналогично, при выборе режима интрапрогнозирования 8×8, с учетом того факта, что режим интрапрогнозирования имеет высокую корреляцию с соседним с ним блоком, кодирование прогнозирования осуществляется на основании информации режима на соседнем блоке.When choosing a 4 × 4 intra-prediction mode, sixteen pieces of mode information are necessary for each macroblock. Thus, in order to reduce the amount of codes of the mode information itself, taking into account the fact that the mode information has a high correlation with the block adjacent to it, the prediction coding is based on the mode information on the neighboring block. Similarly, when choosing an 8 × 8 intra-prediction mode, taking into account the fact that the intra-prediction mode has a high correlation with its neighboring block, the prediction coding is based on the mode information on the neighboring block.

(b) Режим кодирования с интрапрогнозированием 16×16(b) 16 × 16 intra-prediction encoding mode

Режим кодирования с интрапрогнозированием 16×16 - это режим для прогнозирования блоков 16×16 пикселей, эквивалентных по размеру макроблока в данный момент времени. Любой из четырех режимов, показанных на фиг.4, выбирается в единицах макроблоков. Таким же образом, как в режиме интрапрогнозирования 4×4, пиксели блоков (верхний левый, верхний и левый) вокруг блока уже закодированного, подвергнутого обработке локального декодирования и сохраненного в памяти 16 используются для генерации прогнозируемого изображения. Типы режимов объяснены со ссылкой на фиг.4 согласно первому варианту осуществления. В режиме кодирования с интрапрогнозированием 16×16 переменный размер блока всегда равен 4×4. Однако собираются шестнадцать DC (DC компоненты, средние значения) в единицах блоков 4×4. Применяется преобразование в два этапа, т.е. сначала осуществляется преобразование в единицах блоков 4×4 и преобразование AC компонента, оставшегося после удаления DC компонентов для каждого блока 4×4.A 16 × 16 intra-prediction coding mode is a mode for predicting blocks of 16 × 16 pixels equivalent in size to a macroblock at a given time. Any of the four modes shown in FIG. 4 is selected in units of macroblocks. In the same way as in the 4 × 4 intra-prediction mode, block pixels (upper left, upper, and left) around a block already encoded, subjected to local decoding processing and stored in memory 16 are used to generate a predicted image. The types of modes are explained with reference to FIG. 4 according to the first embodiment. In encoding mode with intra-prediction of 16 × 16, the variable block size is always 4 × 4. However, sixteen DCs (DC components, average values) are collected in 4x4 block units. The conversion is applied in two stages, i.e. First, conversion in units of 4 × 4 blocks and conversion of the AC component remaining after removing DC components for each 4 × 4 block are performed.

Видеокодер согласно второму варианту осуществления отличается тем, что методы интрапрогнозирования/преобразования/кодирования для трех цветовых компонентов изменяются на основании флага 33 идентификации общего использования режима интракодирования. Этот момент будет подробно описан ниже в разделе 2.The video encoder according to the second embodiment is characterized in that the intra-prediction / conversion / coding methods for the three color components are changed based on the common use identification flag of the intra-coding mode 33. This point will be described in detail below in section 2.

Блок пространственного прогнозирования 2 осуществляет оценку режима интрапрогнозирования на основании указания флага 33 идентификации общего использования режима интракодирования для вводимых сигналов трех цветовых компонентов. Флаг 33 идентификации общего использования режима интракодирования указывает, что режим интракодирования вводится для каждого из трех цветовых компонентов, или один и тот же режим интракодирования выделяется по отдельности всем трем компонентам. Причина кроется в описанных ниже базовых сведеньях.The spatial prediction unit 2 evaluates the intra-prediction mode based on the flag 33 identifying the common use of the intra-coding mode for the input signals of the three color components. The flag 33 identifying the general use of the intra-coding mode indicates that the intra-coding mode is entered for each of the three color components, or the same intra-coding mode is highlighted separately for all three components. The reason lies in the basic information described below.

В формате 4:4:4 можно непосредственно использовать RGB для цветовых пространств, отличных от Y, Cb и Cr, цветовых пространств, традиционно используемых для кодирования. В цветовых пространствах Y, Cb и Cr компоненты, в зависимости от структуры текстуры видеосигнала, удаляются из сигналов Cb и Cr. Весьма вероятно, что оптимальный метод интракодирования изменяется между Y компонентом и двумя компонентами Cb и Cr. (Фактически, в системе кодирования для кодирования формата 4:2:0 AVC/H.264, например, высокого профиля 4:2:0, конструкции режимов интрапрогнозирования, используемые для компонента Y и компонентов Cb и Cr, различны). С другой стороны, когда кодирование осуществляется в цветовых пространствах RGB, а не в цветовых пространствах Y, Cb и Cr, удаление структуры текстуры среди цветовых компонентов не осуществляется, и корреляция между компонентами сигнала на идентичном пространстве высока. Таким образом, это дает возможность повышать эффективность кодирования благодаря возможности выбора общего режима интракодирования. Этот момент зависит от определения цветовых пространств и, кроме того, зависит от характеристик видеосигнала, даже если используются конкретные цветовые пространства. Желательно, чтобы система кодирования сама могла адаптивно справляться с такими характеристиками видеосигналов. Таким образом, в этом варианте осуществления флаг 33 идентификации общего использования режима интракодирования предусмотрен в устройстве кодирования, чтобы можно было осуществлять гибкое кодирование видеосигнала в формате 4:4:4.In the 4: 4: 4 format, you can directly use RGB for color spaces other than Y, Cb and Cr, color spaces traditionally used for coding. In the color spaces Y, Cb, and Cr, the components, depending on the texture structure of the video signal, are removed from the Cb and Cr signals. It is highly likely that the optimal intra-coding method varies between the Y component and the two components Cb and Cr. (In fact, in the coding system for encoding a 4: 2: 0 AVC / H.264 format, for example, a high profile 4: 2: 0, the designs of the intra prediction modes used for component Y and components Cb and Cr are different). On the other hand, when coding is performed in RGB color spaces, and not in Y, Cb, and Cr color spaces, texture structure removal among color components is not performed, and the correlation between signal components in an identical space is high. Thus, this makes it possible to increase the coding efficiency due to the possibility of choosing a common intra-coding mode. This point depends on the definition of color spaces and, in addition, depends on the characteristics of the video signal, even if specific color spaces are used. It is desirable that the coding system itself can adaptively cope with such characteristics of video signals. Thus, in this embodiment, an intra-encoding mode common use identification flag 33 is provided in the encoding device so that the video can be flexibly encoded in a 4: 4: 4 format.

Блок пространственного прогнозирования 2 выполняет обработку прогнозирования для соответствующих цветовых компонентов на всех режимах интрапрогнозирования, показанных на фиг.3, 4 и 13, или заранее определенном подмножестве согласно состоянию флага 33 идентификации общего использования режима интракодирования, установленного, как описано выше, и получает разностный сигнал прогнозирования 4 с использованием вычитателя 3. Эффективность прогнозирования для разностного сигнала прогнозирования 4 оценивается блоком 5 принятия решения относительно режима кодирования. Блок 5 принятия решения относительно режима кодирования выбирает режим интрапрогнозирования, при котором получается оптимальная эффективность прогнозирования для объектного макроблока из обработки прогнозирования, выполняемой блоком пространственного прогнозирования 2. При выборе интрапрогнозирования N×N блок 5 принятия решения относительно режима кодирования выводит режим кодирования с интрапрогнозированием N×N в качестве режима кодирования 6. Когда режим прогнозирования представляет собой интрапрогнозирование 4×4, блок 5 принятия решения относительно режима кодирования устанавливает флаг 32 идентификации размера блока преобразования в состояние "преобразование к размеру блока 4×4". Когда режим прогнозирования представляет собой интрапрогнозирование 8×8, блок 5 принятия решения относительно режима кодирования устанавливает флаг 32 идентификации размера блока преобразования в состояние "преобразование к размеру блока 8×8". В качестве метода определения флага 32 идентификации размера блока преобразования возможны различные методы. В устройстве кодирования согласно второму варианту осуществления в качестве базового метода для задания размера блока в преобразовании остатка, полученного интрапрогнозированием N×N, после того как оптимальный режим интрапрогнозирования N×N задан блоком 5 принятия решения относительно режима кодирования, флаг 32 идентификации размера блока преобразования определяется согласно значению N режима. Например, размер блока преобразования задается как блок 8×8 пикселей, когда используется режим интрапрогнозирования 4×4. Тогда, весьма вероятно, что пространственная непрерывность сигнала прогнозирования нарушается в единицах блоков 4×4 в разностном сигнале прогнозирования 4, полученном в результате прогнозирования. Если не генерируются высокочастотные компоненты. Таким образом, эффект концентрации мощности сигнала за счет преобразования снижается. Если размер блока преобразования задан как блок 4×4 пикселей согласно режиму прогнозирования, такая проблема не возникает.The spatial prediction unit 2 performs prediction processing for the respective color components in all intra prediction modes shown in FIGS. 3, 4 and 13, or a predetermined subset according to the state of the flag 33 identifying the common use of the intra-coding mode set as described above, and receives a difference signal prediction 4 using a subtractor 3. The prediction efficiency for the prediction difference signal 4 is estimated by decision block 5 regarding tionary encoding mode. The decision block 5 regarding the encoding mode selects an intra-prediction mode in which the optimal prediction efficiency for the object macroblock is obtained from the prediction processing performed by the spatial prediction unit 2. When choosing N × N intra-prediction, the decision block 5 regarding the encoding mode outputs an encoding mode with N × intra prediction N as the encoding mode 6. When the prediction mode is 4 × 4 intra-prediction, the adoption unit 5 decisions regarding the encoding mode sets the flag 32 identifying the size of the conversion block in the state "conversion to block size 4 × 4". When the prediction mode is 8 × 8 intra-prediction, the decision block 5 regarding the encoding mode sets the conversion block size identification flag 32 to the “conversion to 8 × 8 block size” state. As a method of determining the flag 32 of the identification of the size of the conversion unit, various methods are possible. In the encoding device according to the second embodiment, as the basic method for setting the block size in the conversion of the remainder obtained by N × N prediction, after the optimal N × N intra prediction mode is set by the decision block 5 regarding the encoding mode, the transform block size identification flag 32 is determined according to the value of N mode. For example, the size of the transform block is defined as an 8 × 8 pixel block when the 4 × 4 intra-prediction mode is used. Then, it is very likely that the spatial continuity of the prediction signal is violated in units of 4 × 4 blocks in the prediction difference signal 4 obtained from the prediction. If high frequency components are not generated. Thus, the effect of concentration of signal power due to conversion is reduced. If the size of the transform block is specified as a 4 × 4 pixel block according to the prediction mode, this problem does not occur.

Когда блок 5 принятия решения относительно режима кодирования выбирает интрапрогнозирование 16×16, блок 5 принятия решения относительно режима кодирования выводит режим кодирования с интрапрогнозированием 16×16 в качестве режима кодирования 6. При выборе режима кодирования 6 можно учитывать весовой коэффициент 20 для каждого режима кодирования, установленного посредством принятия решения блока 19 управления кодированием.When the decision block 5 regarding the encoding mode selects 16 × 16 intra prediction, the decision block 5 regarding the encoding mode outputs the 16 × 16 intra prediction mode as encoding mode 6. When encoding mode 6 is selected, weights 20 for each encoding mode can be taken into account, established by decision block 19 coding control.

Разностный сигнал прогнозирования 4, полученный режимом кодирования 6, выводится на блок преобразования 8. Блок преобразования 8 преобразует введенный разностный сигнал прогнозирования в коэффициент преобразования и выводит коэффициент преобразования на блок квантования 9. Блок квантования 9 квантует введенный коэффициент преобразования на основании параметра квантования 21, установленного блоком 19 управления кодированием, и выводит коэффициент преобразования на блок 11 кодирования с переменной длиной слова в качестве квантованного коэффициента преобразования 10.The prediction differential signal 4 obtained by the encoding mode 6 is output to the conversion unit 8. The conversion unit 8 converts the input prediction difference signal into a conversion coefficient and outputs the conversion coefficient to quantization unit 9. Quantization unit 9 quantizes the introduced transformation coefficient based on quantization parameter 21 set coding control unit 19, and outputs a conversion coefficient to coding unit 11 with a variable word length as a quantized conversion factor 10.

Когда размер блока преобразования выражается в единицах блоков 4×4, разностный сигнал прогнозирования 4, вводимый в блок преобразования 8, делится в единицах блоков 4×4, подвергается преобразованию и квантуется блоком квантования 9. Когда размер блока преобразования выражается в единицах блоков 8×8, разностный сигнал прогнозирования 4, вводимый в блок преобразования 8, делится в единицах блоков 8×8, подвергается преобразованию и квантуется блоком квантования 9.When the size of the transform block is expressed in units of 4 × 4 blocks, the prediction difference signal 4 input to the transform block 8 is divided in units of 4 × 4 blocks, converted, and quantized by quantization block 9. When the size of the transform block is expressed in units of 8 × 8 blocks , the prediction difference signal 4 input to the transform block 8 is divided in units of 8 × 8 blocks, is converted, and quantized by the quantization block 9.

Квантованный коэффициент преобразования 10 подвергается энтропийному кодированию посредством, например, кодирования Хаффмана или арифметического кодирования на блоке 11 кодирования с переменной длиной слова. Квантованный коэффициент преобразования 10 восстанавливается до разностного сигнала 14 прогнозирования локального декодирования посредством блока 12 обратного квантования и блока 13 обратного преобразования в размере блока на основании флага 32 идентификации размера блока преобразования. Квантованный коэффициент преобразования 10 суммируется с прогнозируемым изображением 7, которое генерируется на основании режима кодирования 6, сумматором 18 для генерации локального декодированного изображения 15. Локально декодированное изображение 15 сохраняется в памяти 16 для дальнейшего использования при обработке интрапрогнозирования. Флаг 24 управления разблокирующим фильтром, указывающий, применяется ли разблокирующий фильтр к макроблоку, также вводится в блок 11 кодирования с переменной длиной слова. (При обработке прогнозирования, выполняемой блоком пространственного прогнозирования 2, поскольку пиксельные данные до обработки разблокирующим фильтром сохраняются в памяти 16, обработка разблокирующего фильтра сама по себе не обязательна для обработки кодирования. Однако разблокирующий фильтр действует согласно указанию флага 24 управления разблокирующим фильтром на стороне декодера для получения окончательного декодированного изображения.)The quantized transform coefficient 10 is subjected to entropy coding by, for example, Huffman coding or arithmetic coding on a variable-length coding block 11. The quantized transform coefficient 10 is restored to the local decoding prediction differential signal 14 by the inverse quantization unit 12 and the inverse transform unit 13 in a block size based on the transform block size identification flag 32. The quantized transform coefficient 10 is added to the predicted image 7, which is generated based on the encoding mode 6, by the adder 18 to generate a local decoded image 15. The locally decoded image 15 is stored in the memory 16 for later use in intra-prediction processing. An enable filter control flag 24 indicating whether the enable filter is applied to the macroblock is also input to the variable-length encoding unit 11. (In the prediction processing performed by the spatial prediction unit 2, since the pixel data is stored in the memory 16 before being processed by the unlocking filter, the processing of the unlocking filter itself is not necessary for encoding processing. However, the unlocking filter acts according to the direction of the unlocking filter control flag 24 on the decoder side for obtaining the final decoded image.)

Флаг 33 идентификации общего использования режима интракодирования, квантованный коэффициент преобразования 10, режим кодирования 6 и параметр квантования 21, введенные в блок 11 кодирования с переменной длиной слова, упорядочены и сформированы в виде битового потока в соответствии с заранее определенным правилом (синтаксисом) и выводятся в буфер передачи 17. Буфер передачи 17 сглаживает битовый поток согласно полосе линии передачи, к которой подключен кодер, и скорости чтения носителя записи и выводит битовый поток в качестве видеопотока 22. Буфер передачи 17 выводит информацию обратной связи на блок 19 управления кодированием согласно состоянию накопления битового потока в буфере передачи 17 и затем управляет объемом генерируемых кодов при кодировании видеокадров.The intra-coding mode common use identification flag 33, the quantized transform coefficient 10, the coding mode 6, and the quantization parameter 21 entered into the variable-length coding unit 11 are ordered and formed as a bit stream in accordance with a predetermined rule (syntax) and are output to transmission buffer 17. The transmission buffer 17 smooths the bit stream according to the band of the transmission line to which the encoder is connected and the read speed of the recording medium and outputs the bit stream as video stream 22. UFER transmission 17 outputs feedback information to the encoding control unit 19 according to the state of accumulation of a bit stream in the transmission buffer 17 and then controls the amount of generated codes in encoding of video frames.

2. Обработка принятия решения относительно режима интракодирования/прогнозирования в кодере2. Decision processing regarding the intra-coding / prediction mode in the encoder

Ниже подробно описаны режим интракодирования и обработка принятия решения относительно режима интракодирования/прогнозирования, которая является характеристикой кодера согласно второму варианту осуществления. Эта обработка осуществляется в единицах макроблоков, в которых размещены три цветовых компонента. Обработка осуществляется, в основном, блоком пространственного прогнозирования 2 и блоком 5 принятия решения относительно режима кодирования в кодере, показанном на фиг.11. Логическая блок-схема, демонстрирующая ход обработки, показана на фиг.14. Данные изображения трех цветовых компонентов, образующих блок, обозначаются ниже C0, C1 и C2.The intra-coding mode and decision processing regarding the intra-coding / prediction mode, which is a characteristic of the encoder according to the second embodiment, are described in detail below. This processing is carried out in units of macroblocks in which three color components are placed. The processing is carried out mainly by the spatial prediction unit 2 and the decision unit 5 regarding the encoding mode in the encoder shown in FIG. 11. A logical flowchart showing the progress of processing is shown in FIG. Image data of the three color components forming the block are indicated below C0, C1 and C2.

Прежде всего, блок 5 принятия решения относительно режима кодирования принимает флаг 33 идентификации общего использования режима интракодирования и принимает решение на основании значения флага 33 идентификации общего использования режима интракодирования, используется ли режим интракодирования, общий для C0, C1 и C2 (этап S20 на фиг.14). При использовании общего режима интрапрогнозирования блок 5 принятия решения относительно режима кодирования переходит к этапу S21 и последующим этапам. В случае неиспользования общего режима интрапрогнозирования блок 5 принятия решения относительно режима кодирования переходит к этапу S22 и последующим этапам.First of all, the encoding mode decision block 5 receives the intra-encoding mode common use identification flag 33 and makes a decision based on the value of the intra-encoding mode common use identification flag 33 whether the intra-coding mode common to C0, C1 and C2 is used (step S20 in FIG. fourteen). When using the general intra-prediction mode, the decision block 5 regarding the encoding mode proceeds to step S21 and subsequent steps. In case of not using the general intra-prediction mode, the decision block 5 regarding the encoding mode proceeds to step S22 and subsequent steps.

Когда режим интракодирования используется совместно для C0, C1 и C2, блок 5 принятия решения относительно режима кодирования извещает блок пространственного прогнозирования 2 обо всех режимах интрапрогнозирования (интрапрогнозирование N×N и интрапрогнозирование 16×16), которые можно выбрать. Блок пространственного прогнозирования 2 оценивает эффективности прогнозирования для всех режимов прогнозирования и выбирает оптимальный режим интракодирования и режим интрапрогнозирования для всех компонентов (этап S21).When the intra-coding mode is used together for C0, C1, and C2, the decision block 5 regarding the coding mode notifies the spatial prediction block 2 of all intra prediction modes (N × N intra prediction and 16 × 16 intra prediction) that can be selected. The spatial prediction unit 2 evaluates the prediction efficiency for all prediction modes and selects the optimal intra-coding mode and intra-prediction mode for all components (step S21).

С другой стороны, когда оптимальные режимы интракодирования выбираются для C0, C1 и C2 соответственно, блок 5 принятия решения относительно режима кодирования извещает блок пространственного прогнозирования 2 обо всех режимах интрапрогнозирования (интрапрогнозирование N×N и интрапрогнозирование 16×16), которые можно выбрать для компонентов Ci (i<=0<3). Блок пространственного прогнозирования 2 оценивает эффективности прогнозирования для всех режимов интрапрогнозирования и выбирает оптимальный режим интрапрогнозирования 4×4 в компонентах Ci (i<=0<3) (этап S23).On the other hand, when the optimal intra-coding modes are selected for C0, C1, and C2, respectively, the decision block 5 regarding the coding mode notifies the spatial prediction block 2 of all intra-prediction modes (N × N intra-prediction and 16 × 16 intra-prediction) that can be selected for the components Ci (i <= 0 <3). The spatial prediction unit 2 estimates the prediction efficiency for all intra-prediction modes and selects the optimal 4 × 4 intra-prediction mode in the components Ci (i <= 0 <3) (step S23).

Когда блок пространственного прогнозирования 2 выбирает режим интрапрогнозирования 4×4 в качестве режима, обеспечивающего оптимальную эффективность прогнозирования на вышеописанных этапах S21 и S23, флаг 32 идентификации размера блока преобразования задается в состоянии "преобразование к размеру блока 4×4". Когда блок пространственного прогнозирования 2 выбирает режим интрапрогнозирования 8×8 в качестве режима, обеспечивающего оптимальную эффективность прогнозирования, флаг 32 идентификации размера блока преобразования задается в состоянии "преобразование к размеру блока 8×8".When the spatial prediction unit 2 selects the 4 × 4 intra-prediction mode as the mode providing optimal prediction efficiency in the above steps S21 and S23, the transform block size identification flag 32 is set to the “transform to 4 × 4 block size” state. When the spatial prediction unit 2 selects an 8 × 8 intra-prediction mode as the mode providing optimal prediction efficiency, the transform block size identification flag 32 is set in the “transform to 8 × 8 block size” state.

В качестве критериев для оценки эффективности прогнозирования для режима прогнозирования, осуществляемой в блоке пространственного прогнозирования 2, можно, например, использовать стоимость скорости/искажения, заданную как Jm=Dm+λRm (λ: положительное число). Dm - это величина искажения кодирования или ошибки прогнозирования в случае применения режима интрапрогнозирования m. Искажение кодирования получается с применением режима интрапрогнозирования m для вычисления ошибки прогнозирования и декодирования видеосигнала из результата, полученного путем преобразования и квантования ошибки прогнозирования для измерения ошибки относительно сигнала до кодирования. Величина ошибки прогнозирования получается путем вычисления разности между прогнозируемым изображением и сигналом до кодирования в случае, когда применяется режим интрапрогнозирования m, и квантования уровня разности. Например, используется сумма абсолютных расстояний (SAD). Rm - это объем генерируемых кодов в случае, когда применяется режим интрапрогнозирования m. Иными словами, Jm - это значение, задающее компромисс между объемом кодов и степенью ухудшения в случае, когда применяется режим интрапрогнозирования m. Режим интрапрогнозирования m, дающий минимальное Jm, является оптимальным решением.As criteria for evaluating the prediction efficiency for the prediction mode carried out in the spatial prediction unit 2, for example, the velocity / distortion value defined as Jm = Dm + λRm (λ: positive number) can be used. Dm is the value of coding distortion or prediction error in the case of using the intra prediction mode m. The coding distortion is obtained using the intra-prediction mode m to calculate the prediction error and decode the video signal from the result obtained by converting and quantizing the prediction error to measure the error with respect to the signal before encoding. The magnitude of the prediction error is obtained by calculating the difference between the predicted image and the signal before encoding in the case when the intra prediction mode m is applied, and quantizing the difference level. For example, Absolute Distance Sum (SAD) is used. Rm is the amount of generated codes when the intra prediction mode m is applied. In other words, Jm is a value specifying a compromise between the amount of codes and the degree of deterioration when the intra-prediction mode m is applied. The intra-prediction mode m, giving the minimum Jm, is the optimal solution.

Когда кодер осуществляет обработку на этапе S21 и последующих этапах, один фрагмент информации о режиме интракодирования выделяется макроблоку, включающему в себя три цветовых компонента. С другой стороны, когда кодер осуществляет обработку на этапе S22 и последующих этапах, информация режима интракодирования выделяется цветовым компонентам (трем в совокупности) соответственно. Таким образом, поскольку фрагменты информации о режимах интрапрогнозирования, выделенные макроблоку, различаются, необходимо мультиплексировать флаг идентификации общего использования режима интракодирования 23 в битовый поток и дать возможность декодеру распознавать, осуществил ли кодер этапы обработки на этапе S21 и последующих этапах или осуществил этапы обработки на этапе S23 и последующих этапах. Массив данных такого битового потока показан на фиг.15.When the encoder performs the processing in step S21 and subsequent steps, one piece of intra-coding mode information is allocated to the macroblock including three color components. On the other hand, when the encoder performs the processing in step S22 and subsequent steps, the information of the intra-coding mode is allocated to the color components (three in total), respectively. Thus, since the fragments of intra-prediction mode information allocated to the macroblock are different, it is necessary to multiplex the identification flag of the general use of the intra-encoding mode 23 into the bitstream and allow the decoder to recognize whether the encoder has completed the processing steps in step S21 and subsequent steps or has completed the processing steps in step S23 and subsequent steps. An array of data of such a bitstream is shown in FIG.

На фиг.15 режимы интракодирования 0(34a), 1(34b) и 2(34c), мультиплексируемые в битовый поток на уровне макроблоков, указывают режимы кодирования 6 для компонентов C0, C1 и C2 соответственно. Когда режим интракодирования представляет собой режим кодирования с интрапрогнозированием N×N, флаг 32 идентификации размера блока преобразования и информация о режиме интрапрогнозирования мультиплексируются в битовый поток. С другой стороны, когда режим интракодирования представляет собой режим кодирования с прогнозированием 16×16, информация о режиме интрапрогнозирования кодируется как часть информации режима интракодирования. Информация о флаге 32 идентификации размера блока преобразования и режиме интрапрогнозирования не мультиплексируются в битовый поток. Когда флаг 33 общего использования режима интракодирования имеет значение "общий для C0, C1 и C2", режимы интракодирования 1(34b) и 2(34c), флаги идентификации размера блока преобразования 1(32b) и 2(32c) и режимы интрапрогнозирования 1(35b) и 2(35c) не мультиплексируются в битовый поток (часть, обведенная пунктирным кружком на фиг.15, указывает ответвление битового потока). В этом случае режим интракодирования 0(34a), флаг идентификации размера блока преобразования 0(32a) и режим интрапрогнозирования 0(35a) играют роль информации кодирования, общей для всех цветовых компонентов. В примере, показанном на фиг.15, флаг 33 идентификации общего использования режима интракодирования мультиплексируется как данные битового потока на уровне, более высоком, чем макроблок, например на уровне среза, изображения или последовательности. В частности, когда флаг 33 идентификации общего использования режима интракодирования используется в порядке примера, описанного согласно второму варианту осуществления, поскольку цветовые пространства часто не изменяются на протяжении последовательности, можно достичь цели, мультиплексируя флаг 33 идентификации общего использования режима интракодирования на уровень последовательностей.15, the intra-coding modes 0 (34a), 1 (34b), and 2 (34c) multiplexed into the bitstream at the macroblock level indicate coding modes 6 for components C0, C1, and C2, respectively. When the intra-coding mode is an N × N intra-prediction coding mode, the transform block size identification flag 32 and the intra-prediction mode information are multiplexed into the bitstream. On the other hand, when the intra-coding mode is a 16 × 16 prediction coding mode, the intra-prediction mode information is encoded as part of the intra-coding mode information. Information about the transform block size identification flag 32 and the intra-prediction mode are not multiplexed into the bitstream. When the intra-coding mode common use flag 33 is set to “common to C0, C1, and C2,” the intra-coding modes 1 (34b) and 2 (34c), the conversion unit size identification flags 1 (32b) and 2 (32c), and the intra-prediction modes 1 ( 35b) and 2 (35c) are not multiplexed into the bitstream (the part circled by the dashed circle in FIG. 15 indicates a branch of the bitstream). In this case, the intra-coding mode 0 (34a), the flag for identifying the size of the transform block 0 (32a), and the intra-prediction mode 0 (35a) play the role of coding information common to all color components. In the example shown in FIG. 15, the intra-encoding mode common use identification flag 33 is multiplexed as bitstream data at a level higher than the macroblock, for example at the slice, image or sequence level. In particular, when the intra-encoding mode common use identification flag 33 is used as an example described according to the second embodiment, since the color spaces often do not change throughout the sequence, the goal can be achieved by multiplexing the intra-encoding mode common use identification flag 33 to the sequence level.

Согласно второму варианту осуществления флаг 33 идентификации общего использования режима интракодирования используется для указания "общий для всех компонентов". Однако флаг 33 идентификации общего использования режима интракодирования можно использовать для указания, согласно определению цветовых пространств входного видеосигнала 1, например, "общий для конкретных двух компонентов, например, C1 и C2" (в случае Y, Cb и Cr и т.п. весьма возможно использовать режим интрапрогнозирования совместно для Cb и Cr). Когда диапазон общего использования флага 33 идентификации общего использования режима интракодирования ограничивается только режимом интракодирования и используется режим интрапрогнозирования N×N, размер блока преобразования и режим прогнозирования N×N можно независимо выбирать для каждого из цветовых компонентов (фиг.16). С помощью структуры синтаксиса, показанной на фиг.16, можно изменять метод прогнозирования для каждого из цветовых компонентов и повышать эффективность прогнозирования с использованием информации совместного режима кодирования видеосигнала со сложным шаблоном, для чего требуется прогнозирование N×N.According to a second embodiment, the intra-encoding mode common use identification flag 33 is used to indicate “common to all components”. However, the flag 33 identifying the general use of the intra-coding mode can be used to indicate, according to the definition of the color spaces of the input video signal 1, for example, "common to specific two components, for example, C1 and C2" (in the case of Y, Cb and Cr, etc. it is possible to use the intra-prediction mode together for Cb and Cr). When the total usage range of the common use identification flag 33 of the intra-coding mode is limited only to the intra-coding mode and the N × N intra-prediction mode is used, the transform block size and the N × N prediction mode can be independently selected for each of the color components (Fig. 16). Using the syntax structure shown in FIG. 16, it is possible to change the prediction method for each of the color components and increase the prediction efficiency using information of a joint video encoding mode with a complex pattern, which requires N × N prediction.

Если информация о флаге 33 идентификации общего использования режима интракодирования каким-то образом заранее известна кодеру и декодеру, информацию о флаге 33 идентификации общего использования режима интракодирования не требуется передавать в битовом потоке видеосигнала. В этом случае, например, в кодере флаг 33 идентификации общего использования режима интракодирования может формироваться для осуществления устойчивого кодирования для некоторого значения или может передаваться по отдельности из битового потока видеосигнала.If the information on the common mode identification flag 33 of the intra-coding mode is somehow known in advance by the encoder and the decoder, the information on the common mode identification flag 33 of the intra-coding mode does not need to be transmitted in the video bitstream. In this case, for example, in the encoder, an intra-coding mode common use identification flag 33 may be generated to implement stable coding for a certain value or may be transmitted individually from the video bitstream.

3. Описание работы декодера3. Description of the decoder

Декодер, показанный на фиг.12, принимает видеопоток 22, отвечающий массиву, показанному на фиг.15, выводимый из кодера, показанного на фиг.11, осуществляет обработку декодирования в единицах макроблоков, в которых три цветовых компонента имеют идентичный размер (формат 4:4:4), и восстанавливает соответствующие видеокадры.The decoder shown in Fig. 12 receives a video stream 22 corresponding to the array shown in Fig. 15, output from the encoder shown in Fig. 11, performs decoding processing in units of macroblocks in which the three color components have the same size (format 4: 4: 4), and restores the corresponding video frames.

Прежде всего, блок 25 декодирования с переменной длиной слова, на который поступает поток 22, декодирует поток 22 в соответствии с заранее определенным правилом (синтаксисом) и извлекает информацию, включающую в себя флаг 33 идентификации общего использования режима интракодирования, квантованный коэффициент преобразования 10, режим кодирования 6 и параметр квантования 21. Квантованный коэффициент преобразования 10 вводится в блок обратного квантования 12 совместно с параметром квантования 21, и осуществляется обработка обратного квантования. Затем выходной сигнал блока обратного квантования 12 вводится в блок обратного преобразования 13 и восстанавливается до разностного сигнала прогнозирования локального декодирования 14. С другой стороны, режим кодирования 6 и флаг 33 идентификации общего использования режима интракодирования вводятся в блок пространственного прогнозирования 2. Блок пространственного прогнозирования 2 получает прогнозируемое изображение 7 в соответствии с этими фрагментами информации. Ниже будет описана конкретная процедура для получения прогнозируемого изображения 7. Разностный сигнал прогнозирования локального декодирования 14 и прогнозируемое изображение 7 суммируются сумматором 18 для получения внутренне декодированного изображения 15 (это полностью такой же сигнал, как локально декодированное изображение 15 в кодере). Внутренне декодированное изображение 15 записывается обратно в память 16 для использования при дальнейшем интрапрогнозировании макроблока. Три блока памяти подготавливаются для соответствующих цветовых компонентов. Разблокирующий фильтр 26 получает команду воздействовать на внутренне декодированное изображение 15 на основании указания флага 24 управления разблокирующим фильтром, декодированного блоком 25 декодирования с переменной длиной слова, для получения окончательного декодированного изображения 27.First of all, the variable-length decoding unit 25 to which stream 22 arrives decodes stream 22 in accordance with a predetermined rule (syntax) and retrieves information including an intra-encoding mode common use identification flag 33, quantized transform coefficient 10, mode encoding 6 and a quantization parameter 21. The quantized transform coefficient 10 is input to the inverse quantization unit 12 together with the quantization parameter 21, and inverse quantization processing is performed. Then, the output signal of the inverse quantization unit 12 is input to the inverse transform unit 13 and restored to the local prediction differential prediction signal 14. On the other hand, the encoding mode 6 and the intra-encoding mode common use identification flag 33 are input to the spatial prediction unit 2. The spatial prediction unit 2 receives the predicted image 7 in accordance with these pieces of information. The specific procedure for obtaining the predicted image 7 will be described below. The local decoding prediction difference signal 14 and the prediction image 7 are summed by the adder 18 to obtain an internally decoded image 15 (this is completely the same signal as the locally decoded image 15 in the encoder). The internally decoded image 15 is written back to memory 16 for use in further intra-prediction of the macroblock. Three memory blocks are prepared for the respective color components. The unlocking filter 26 is instructed to act on the internally decoded image 15 based on the indication of the unlocking filter control flag 24, decoded by the variable-length decoding unit 25, to obtain the final decoded image 27.

4. Обработка декодирования интрапрогнозирования в декодере4. Processing of intra prediction decoding in a decoder

Ниже будет подробно описана обработка генерации интрапрогнозируемого изображения, которая является характеристикой декодера согласно второму варианту осуществления. Эта обработка осуществляется в единицах макроблоков, в которых размещены три цветовых компонента. Обработка осуществляется, в основном, блоком 25 декодирования с переменной длиной слова и блоком пространственного прогнозирования 2 декодера, показанного на фиг.12. Логическая блок-схема, демонстрирующая ход обработки, показана на фиг.17.The processing of generating an intra-predicted image, which is a characteristic of a decoder according to a second embodiment, will be described in detail below. This processing is carried out in units of macroblocks in which three color components are placed. The processing is carried out mainly by the variable-length decoding unit 25 and the spatial prediction unit 2 of the decoder shown in FIG. 12. A logical flowchart showing the progress of processing is shown in FIG.

Этапы S25-S38 в логической блок-схеме, показанной на фиг.17, осуществляются блоком 25 декодирования с переменной длиной слова. Видеопоток 22, поступающий на блок 25 декодирования с переменной длиной слова, согласуется с массивом данных, показанным на фиг.15. На этапе S25, прежде всего, декодируются данные режима интракодирования 0(34a) (соответствующий компоненту C0), показанные на фиг.15. В результате, когда режим интракодирования 0(34a) представляет собой "интрапрогнозирование N×N", блок 25 декодирования с переменной длиной слова декодирует флаг идентификации размера блока преобразования 0(32a) и режим интрапрогнозирования 0(35a) (этапы S26 и S27). Затем, когда принято решение, что информация режима интракодирования/прогнозирования является общей для всех цветовых компонентов, на основании состояния флага 33 идентификации общего использования режима интракодирования блок 25 декодирования с переменной длиной слова устанавливает режим интракодирования 0(34a), флаг идентификации размера блока преобразования 0(32a) и режим интрапрогнозирования 0(35a) в качестве информации кодирования, используемой для компонентов C1 и C2 (этапы S29 и S30). Обработка в единицах макроблоков показана на фиг.17. Флаг 33 идентификации общего использования режима интракодирования, используемый для принятия решения на этапе S29, считывается из битового потока 22 блоком 25 декодирования с переменной длиной слова на уровне, равном или более высоком, чем уровень среза, до того, как блок 25 декодирования с переменной длиной слова перейдет к НАЧАЛУ процесса, показанного на фиг.17.Steps S25-S38 in the logic block diagram shown in FIG. 17 are carried out by the variable-length decoding unit 25. The video stream 22 arriving at the variable-length decoding unit 25 is consistent with the data array shown in FIG. In step S25, the data of the intra-coding mode 0 (34a) (corresponding to the component C0) shown in FIG. 15 are primarily decoded. As a result, when the intra-coding mode 0 (34a) is “N × N intra-prediction”, the variable-length decoding unit 25 decodes the transform block size identification flag 0 (32a) and the intra-prediction mode 0 (35a) (steps S26 and S27). Then, when it is decided that the intra-coding / prediction mode information is common to all color components, based on the state of the intra-coding mode common use identification flag 33, the variable-length decoding unit 25 sets the intra-coding mode 0 (34a), the conversion block size identification flag 0 (32a) and intra prediction mode 0 (35a) as encoding information used for components C1 and C2 (steps S29 and S30). Processing in units of macroblocks is shown in FIG. The intra-coding mode common use identification flag 33 used to make the decision in step S29 is read from bitstream 22 by decoding unit 25 with a variable word length at a level equal to or higher than the slice level, before variable-length decoding unit 25 words will go to the BEGINNING of the process shown in FIG.

Когда на этапе S29, показанном на фиг.17, принимается решение, что информация режима интракодирования/прогнозирования кодируется для каждого из цветовых компонентов, на следующих этапах S31-S38 блок 25 декодирования с переменной длиной слова декодирует информацию режима интракодирования/прогнозирования для компонентов C1 и C2. Режимы кодирования 6 для соответствующих цветовых компонентов устанавливаются на этапах обработки и выводятся на блок пространственного прогнозирования 2 для получения интрапрогнозируемых изображений для соответствующих цветовых компонентов в соответствии с этапами S39-S41. Процесс для получения интрапрогнозируемых изображений согласуется с процедурами, показанными на фиг.3, 4 и 13, и идентичен обработке, осуществляемой кодером, показанным на фиг.11.When a decision is made in step S29 shown in FIG. 17 that the intra-coding / prediction mode information is encoded for each of the color components, in the next steps S31-S38, the variable-length decoding unit 25 decodes the intra-coding / prediction mode information for the components C1 and C2. The coding modes 6 for the respective color components are set in the processing steps and output to the spatial prediction unit 2 to obtain intra-predicted images for the corresponding color components in accordance with steps S39-S41. The process for obtaining intra-predicted images is consistent with the procedures shown in FIGS. 3, 4 and 13 and is identical to the processing performed by the encoder shown in FIG. 11.

Как описано выше, если информация о флаге 33 идентификации общего использования режима интракодирования некоторым образом заранее известна кодеру и декодеру, декодер может осуществлять декодирование, например, с заранее фиксированным значением, вместо того, чтобы анализировать значение флага 33 идентификации общего использования режима интракодирования из битового потока видеосигнала, или может передавать информацию по отдельности из битового потока видеосигнала.As described above, if the information on the common mode identification flag 33 of the intra-coding mode is previously known to the encoder and the decoder, the decoder can decode, for example, with a pre-fixed value, instead of analyzing the value of the common mode identification flag 33 of the intra-coding mode from the bitstream video signal, or can transmit information separately from the bitstream of the video signal.

В формате 4:2:0, принятом в традиционном стандарте кодирования видеосигнала, определение цветовых пространств зафиксировано на Y, Cb и Cr. В формате 4:4:4 определение цветовых пространств не ограничивается Y, Cb и Cr, но можно использовать различные цветовые пространства. Благодаря формированию информации кодирования на интрамакроблоке, как показано на фиг.15 и 16, можно осуществлять оптимальную обработку кодирования согласно определению цветовых пространств входного видеосигнала 1 и характеристик видеосигнала. Кроме того, можно уникально интерпретировать битовый поток, полученный в результате такой обработки кодирования для осуществления обработки декодирования и воспроизведения видеосигнала.In the 4: 2: 0 format, adopted in the traditional video coding standard, the definition of color spaces is fixed to Y, Cb and Cr. In the 4: 4: 4 format, the definition of color spaces is not limited to Y, Cb, and Cr, but various color spaces can be used. By generating coding information on the intramacroblock, as shown in FIGS. 15 and 16, it is possible to perform optimal coding processing according to the determination of the color spaces of the input video signal 1 and the characteristics of the video signal. In addition, it is possible to uniquely interpret the bitstream resulting from such encoding processing to implement decoding and video processing.

Третий вариант осуществленияThird Embodiment

Согласно третьему варианту осуществления описан другой пример структур кодера, показанного на фиг.11, и декодера, показанного на фиг.12. Как и в первом варианте осуществления, характеристики, отвечающие изобретению, сообщаются кодеру и декодеру на основании системы кодирования, принятой в стандарте MPEG-4 AVC(ISO/IEC 14496-10)/ITU-TH.264, который представляет собой непатентный документ 1. Видеокодер согласно третьему варианту осуществления отличается от кодера согласно второму варианту осуществления, описанного со ссылкой на фиг.11, только в отношении операций блока 11 кодирования с переменной длиной слова. Видеодекодер согласно третьему варианту осуществления отличается от декодера согласно второму варианту осуществления, описанного со ссылкой на фиг.12, только в отношении операций блока 25 декодирования с переменной длиной слова. В остальном видеокодер и видеодекодер осуществляют такие же операции, как соответствующие устройства согласно второму варианту осуществления. Будут объяснены только различия.According to a third embodiment, another example of the structures of the encoder shown in FIG. 11 and the decoder shown in FIG. 12 is described. As in the first embodiment, the characteristics of the invention are communicated to the encoder and decoder based on the encoding system adopted in MPEG-4 AVC (ISO / IEC 14496-10) / ITU-TH.264, which is Non-Patent Document 1. The video encoder according to the third embodiment differs from the encoder according to the second embodiment described with reference to FIG. 11 only with respect to the operations of the variable-length encoding unit 11. The video decoder according to the third embodiment is different from the decoder according to the second embodiment described with reference to FIG. 12 only with respect to the operations of the variable-length decoding unit 25. Otherwise, the video encoder and video decoder perform the same operations as the corresponding devices according to the second embodiment. Only differences will be explained.

1. Процедура кодирования информации режима интрапрогнозирования в кодере1. The procedure for encoding information intra prediction mode in the encoder

В кодере согласно второму варианту осуществления блок 11 кодирования с переменной длиной слова указывает массив данных на битовом потоке для информации о режиме интрапрогнозирования N×N, но конкретно не указывает процедуру кодирования информации. В этом варианте осуществления описан конкретный способ осуществления процедуры кодирования. Этот вариант осуществления отличается тем, что, в частности, энтропийное кодирование, в котором используется корреляция значений между цветовыми компонентами, осуществляется для режимов интрапрогнозирования N×N, полученных в соответствующих цветовых компонентах, с учетом случая, когда значения режимов интрапрогнозирования N×N имеют высокую корреляцию между цветовыми компонентами.In the encoder according to the second embodiment, the variable-length encoding unit 11 indicates an array of data on a bitstream for N × N intra-prediction mode information, but does not specifically indicate an information encoding procedure. In this embodiment, a specific method for implementing an encoding procedure is described. This embodiment is characterized in that, in particular, entropy coding, which uses the correlation of values between color components, is carried out for N × N intra-prediction modes obtained in the corresponding color components, taking into account the case when the values of N × N intra-prediction modes are high correlation between color components.

Следующее объяснение опирается на условие, что принят массив битовых потоков в формате, показанном на фиг.16. Для упрощения объяснения, значение флага 33 идентификации общего использования режима интракодирования устанавливается на совместное использование для C0, C1 и C2, режим интракодирования является режимом интрапрогнозирования N×N, и размер блоков преобразования 0-2 равен 4×4 блока. В этом случае все режимы интрапрогнозирования 0-2 (35a-35c) являются режимами интрапрогнозирования 4×4. Согласно фиг.18-20 текущий макроблок, подлежащий кодированию, обозначен X. Макроблок слева от текущего макроблока - это макроблок A, и макроблок вправо и вверх от текущего макроблока - это макроблок B.The following explanation is based on the condition that an array of bit streams in the format shown in FIG. 16 has been received. To simplify the explanation, the value of the identification flag 33 of the common use of the intra-coding mode is set to be shared for C0, C1 and C2, the intra-coding mode is an N × N intra-prediction mode, and the size of the 0-2 transform blocks is 4 × 4 blocks. In this case, all intra-prediction modes 0-2 (35a-35c) are 4 × 4 intra-prediction modes. 18 to 20, the current macroblock to be encoded is designated X. The macroblock to the left of the current macroblock is macroblock A, and the macroblock to the right and up from the current macroblock is macroblock B.

В качестве схем для объяснения процедуры кодирования для соответствующих цветовых компонентов C0, C1 и C2 используются фиг.18-20. Логические блок-схемы процедуры показаны на фиг.21 и 22.18-20 are used as circuits for explaining the encoding procedure for the respective color components C0, C1, and C2. The logical flowcharts of the procedure are shown in FIGS. 21 and 22.

Состояние компонента C0 макроблока X показано на фиг.18. Блок 4×4, подлежащий кодированию, обозначается как блок X, и блоки 4×4 слева и над блоком X обозначаются как блок A и блок B соответственно. Существует два случая согласно позиции блока 4×4, подлежащего кодированию. В случае 1 блоки 4×4 слева и над блоком 4×4, подлежащим кодированию, находятся вне текущего макроблока X или принадлежат макроблоку A или макроблоку B. В случае 2 4×4 блоки слева и над блоком 4×4, подлежащим кодированию, находятся внутри текущего макроблока X или принадлежат макроблоку X. В обоих случаях выделяется один режим интрапрогнозирования 4×4 для каждого блока X 4×4 в макроблоке X. Этот режим интрапрогнозирования 4×4 обозначается CurrIntraPredMode. Режим интрапрогнозирования 4×4 блока A обозначается IntraPredModeA, и режим интрапрогнозирования 4×4 блока B обозначается IntraPredModeB. IntraPredModeA и IntraPredModeB представляют собой информацию, уже закодированную на момент кодирования блока X. При кодировании режима интрапрогнозирования 4×4 определенного блока X блок 11 кодирования с переменной длиной слова сначала осуществляет выделение этих параметров (этап S50 на фиг.21).The state of component C0 of the macroblock X is shown in FIG. The 4 × 4 block to be encoded is designated as block X, and the 4 × 4 blocks to the left and above block X are designated as block A and block B, respectively. There are two cases according to the position of the 4 × 4 block to be encoded. In case 1, the 4 × 4 blocks on the left and above the 4 × 4 block to be encoded are located outside the current macroblock X or belong to macroblock A or macroblock B. In the case of 2 4 × 4 blocks on the left and above the 4 × 4 block to be encoded inside the current macroblock X or belong to macroblock X. In both cases, one 4 × 4 intra-prediction mode is allocated for each X 4 × 4 block in macro-block X. This 4 × 4 intra-prediction mode is indicated by CurrIntraPredMode. The 4 × 4 block A intra prediction mode is indicated by IntraPredModeA, and the 4 × 4 block B intra prediction mode is indicated by IntraPredModeB. IntraPredModeA and IntraPredModeB are information already encoded at the time of block X coding. When coding the 4x4 intra prediction mode of a certain block X, variable-length coding block 11 first extracts these parameters (step S50 in FIG. 21).

Блок 11 кодирования с переменной длиной слова устанавливает прогнозируемое значение predCurrIntraPredMode для CurrIntraPredMode блока X согласно следующему уравнению (этап S51).The variable-length encoding unit 11 sets the predicted value predCurrIntraPredMode for the CurrIntraPredMode of block X according to the following equation (step S51).

Figure 00000001
.
Figure 00000001
.

Блок 11 кодирования с переменной длиной слова осуществляет кодирование CurrIntraPredMode компонента C0. При этом если CurrIntraPredMode=predCurrIntraPredMode, то блок 11 кодирования с переменной длиной слова кодирует 1-битовый флаг (prev_intra_pred_mode_flag), указывающий, что CurrIntraPredMode равен прогнозируемому значению. Если CurrIntraPredMode!=predCurrIntraPredMode, то блок 11 кодирования с переменной длиной слова сравнивает CurrIntraPredMode и predCurrIntraPredMode. Когда CurrIntraPredMode меньше, блок 11 кодирования с переменной длиной слова кодирует CurrIntraPredMode как есть. Когда CurrIntraPredMode больше, блок 11 кодирования с переменной длиной слова кодирует CurrIntraPredMode-1 (этап S52).The variable-length encoding unit 11 encodes the CurrIntraPredMode of component C0. Moreover, if CurrIntraPredMode = predCurrIntraPredMode, then the encoding unit 11 with a word length encodes a 1-bit flag (prev_intra_pred_mode_flag) indicating that CurrIntraPredMode is equal to the predicted value. If CurrIntraPredMode! = PredCurrIntraPredMode, then the variable-length encoding unit 11 compares CurrIntraPredMode and predCurrIntraPredMode. When the CurrIntraPredMode is smaller, the variable-length encoding unit 11 encodes the CurrIntraPredMode as is. When the CurrIntraPredMode is larger, the variable-length encoding unit 11 encodes CurrIntraPredMode-1 (step S52).

Figure 00000002
Figure 00000002

Figure 00000003
Figure 00000003

Процедура кодирования для компонента C1 будет описана со ссылкой на фиг.19. Сначала таким же образом как в процедуре кодирования для компонента C0, блок 11 кодирования с переменной длиной слова устанавливает параметры ближнего кодирования, например IntraPredModeA и IntraPredModeB, согласно позиции блока X (этап S53).The encoding procedure for component C1 will be described with reference to FIG. First, in the same manner as in the encoding procedure for the component C0, the variable-length encoding unit 11 sets the near-encoding parameters, for example IntraPredModeA and IntraPredModeB, according to the position of the X block (step S53).

Блок 11 кодирования с переменной длиной слова устанавливает прогнозируемое значение-кандидат 1 predCurrIntraPredMode1 для CurrIntraPredMode блока X согласно следующему уравнению (этап S54).The variable-length encoding unit 11 sets the predicted candidate value 1 predCurrIntraPredMode1 for the CurrIntraPredMode of block X according to the following equation (step S54).

Figure 00000004
.
Figure 00000004
.

Если prev_intra_pred_mode_flag=1 в компоненте C0, то блок 11 кодирования с переменной длиной слова принимает этот predCurrIntraPredMode1 как predCurrIntraPredMode в блоке X компонента C1 как есть. Причина состоит в следующем. Принятие prev_intra_pred_mode_flag=1 в идентичной позиции блока компонента C0 означает, что корреляция между режимами прогнозирования высока в ближней области изображения в компоненте C0. В этом случае, когда сигнал представляет собой RGB и т.п., из которого не полностью удалена корреляция структур текстуры между компонентом C0 и компонентом C1, весьма вероятно, что так же в компоненте C1 корреляция высока между областями вблизи изображения, как и в компоненте C0. Таким образом, блок 11 кодирования с переменной длиной слова принимает решение, что прогнозируемое значение компонента C1 не зависит от режима интрапрогнозирования компонента 4×4 C0.If prev_intra_pred_mode_flag = 1 in component C0, then the variable-length encoding unit 11 takes this predCurrIntraPredMode1 as predCurrIntraPredMode in unit X of component C1 as is. The reason is as follows. Taking prev_intra_pred_mode_flag = 1 at the identical position of the block of component C0 means that the correlation between prediction modes is high in the near region of the image in component C0. In this case, when the signal is RGB or the like, from which the correlation of the texture structures between the component C0 and component C1 is not completely removed, it is very likely that in component C1 the correlation is high between regions near the image, as in the component C0. Thus, the variable-length coding unit 11 makes a decision that the predicted value of the component C1 is independent of the intra-prediction mode of the 4 × 4 C0 component.

С другой стороны, в компоненте C0, когда prev_intra_pred_mode_flag=0, или rem_intra_pred_mode закодирован (этап S55), блок 11 кодирования с переменной длиной слова устанавливает CurrIntraPredMode компонента C0 в качестве прогнозируемого значения-кандидата 2 (этап S56). Это означает, чтоOn the other hand, in component C0, when prev_intra_pred_mode_flag = 0 or rem_intra_pred_mode is encoded (step S55), the variable-length encoding unit 11 sets CurrIntraPredMode of component C0 as the predicted candidate value 2 (step S56). It means that

Figure 00000005
.
Figure 00000005
.

Это задается как прогнозируемое значение-кандидат ввиду следующих базовых сведений. Кодирование rem_intra_pred_mode в компоненте C0 означает, что корреляция интрапрогнозирования между областями вблизи изображения низка в компоненте C0. В этом случае предполагается, что корреляция между областями вблизи изображения также низка в компоненте C1. Вероятно, что режимы интрапрогнозирования в идентичной позиции блока в разных цветовых компонентах дают лучшие прогнозируемые значения.This is set as the predicted candidate value due to the following basic information. Encoding rem_intra_pred_mode in component C0 means that the correlation of intra-prediction between regions near the image is low in component C0. In this case, it is assumed that the correlation between regions near the image is also low in component C1. It is likely that intra-prediction modes at the identical block position in different color components give better predicted values.

Наконец, блок 11 кодирования с переменной длиной слова устанавливает прогнозируемое значение CurrIntraPredMode в блоке X компонента C1 в качестве значения одного из predCurrIntraPredMode1 и predCurrIntraPredMode2 (этап S57). Какое из значений используется, дополнительно кодируется 1-битовым флагом (pred_flag). Однако pred_flag кодируется только, когда CurrIntraPredMode совпадает с прогнозируемым значением. Когда CurrIntraPredMode не совпадает с прогнозируемым значением (когда кодируется rem_intra_pred_mode), predCurrIntraPredMode1 используется как прогнозируемое значение.Finally, the variable-length encoding unit 11 sets the predicted value of CurrIntraPredMode in unit X of component C1 as the value of one of predCurrIntraPredMode1 and predCurrIntraPredMode2 (step S57). Which value is used is additionally encoded with a 1-bit flag (pred_flag). However, pred_flag is only encoded when CurrIntraPredMode matches the predicted value. When CurrIntraPredMode does not match the predicted value (when rem_intra_pred_mode is encoded), predCurrIntraPredMode1 is used as the predicted value.

Вышеописанная процедура представлена в виде следующих выражений.The above procedure is presented in the form of the following expressions.

Figure 00000006
Figure 00000006

Figure 00000007
Figure 00000007

// Использовать прогнозируемое значение-кандидат 1// Use predicted candidate value 1

Figure 00000008
Figure 00000008

// Использовать прогнозируемое значение-кандидат 2// Use predicted candidate value 2

Figure 00000009
Figure 00000009

Figure 00000010
Figure 00000010

В результате, prev_intra_pred_mode_flag, pred_flag и rem_intra_pred_mode кодируются как кодированные данные (этап S58).As a result, prev_intra_pred_mode_flag, pred_flag, and rem_intra_pred_mode are encoded as encoded data (step S58).

Процедура кодирования для компонента C2 будет описана со ссылкой на фиг.20. Прежде всего, таким же образом, как в процедуре кодирования для компонентов C0 и C1, блок 11 кодирования с переменной длиной слова устанавливает параметры ближнего кодирования, например IntraPredModeA и IntraPredModeB, согласно позиции блока X (этап S59).The encoding procedure for component C2 will be described with reference to FIG. First of all, in the same manner as in the encoding procedure for the components C0 and C1, the variable-length encoding unit 11 sets the near-encoding parameters, for example IntraPredModeA and IntraPredModeB, according to the position of the X block (step S59).

Блок 11 кодирования с переменной длиной слова устанавливает прогнозируемое значение-кандидат 1 predCurrIntraPredMode1 для CurrIntraPredMode блока X согласно следующему уравнению (этап S60).The variable-length encoding unit 11 sets the predicted candidate value 1 predCurrIntraPredMode1 for the CurrIntraPredMode of block X according to the following equation (step S60).

Figure 00000011
.
Figure 00000011
.

Если prev_intra_pred_mode_flag=1 в обоих компонентах C0 и C1, блок 11 кодирования с переменной длиной слова принимает этот predCurrIntraPredMode1 как predCurrIntraPredMode в блоке X компонента C1 как есть. Причина состоит в следующем. Принятие prev_intra_pred_mode_flag=1 в идентичной позиции блока компонентов C0 и C1 означает, что корреляция между режимами прогнозирования высока в ближней области изображения в компонентах C0 и C1. В этом случае, когда сигнал представляет собой RGB и т.п., из которого не полностью удалена корреляция структур текстуры между компонентом C0, компонентом C1 и компонентом C2, весьма вероятно, что так же в компоненте C2 корреляция высока между областями вблизи изображения, как и в компонентах C0 и C1. Таким образом, блок 11 кодирования с переменной длиной слова принимает решение, что прогнозируемое значение компонента C2 не зависит от режима интрапрогнозирования 4×4 компонентов C0 и C1.If prev_intra_pred_mode_flag = 1 in both components C0 and C1, the variable-length encoding unit 11 takes this predCurrIntraPredMode1 as predCurrIntraPredMode in unit X of component C1 as is. The reason is as follows. The adoption of prev_intra_pred_mode_flag = 1 at the identical position of the block of components C0 and C1 means that the correlation between the prediction modes is high in the near region of the image in components C0 and C1. In this case, when the signal is RGB or the like, from which the correlation of texture structures between component C0, component C1, and component C2 is not completely removed, it is very likely that in component C2 the correlation is also high between regions near the image, as and in components C0 and C1. Thus, the variable-length coding unit 11 decides that the predicted value of the component C2 is independent of the intra-prediction mode of the 4 × 4 components C0 and C1.

С другой стороны, в компонентах C0 или C1, когда prev_intra_pred_mode_flag=0, или rem_intra_pred_mode закодирован (этап S61), блок 11 кодирования с переменной длиной слова устанавливает CurrIntraPredMode компонентов C0 или C1 в качестве прогнозируемого значения-кандидата 2 (этап S62). Это означает, чтоOn the other hand, in components C0 or C1, when prev_intra_pred_mode_flag = 0 or rem_intra_pred_mode is encoded (step S61), the encoding unit 11 with a word length sets the CurrIntraPredMode of components C0 or C1 as the predicted candidate value 2 (step S62). It means that

Figure 00000012
Figure 00000012

Это задается как прогнозируемое значение-кандидат ввиду следующих базовых сведений. Кодирование rem_intra_pred_mode в компонентах C0 или C1 означает, что корреляция интрапрогнозирования между областями вблизи изображения в компонентах C0 или C1. В этом случае предполагается, что корреляция между областями вблизи изображения также низка в компоненте C2. Вероятно, что режимы интрапрогнозирования в идентичной позиции блока в разных цветовых компонентах дают лучшие прогнозируемые значения. Согласно этой идее, когда кодируется rem_intra_pred_mode в обоих компонентах C0 и C1, текущие режимы интрапрогнозирования C0 и C1 могут быть кандидатами прогнозируемого значения. Однако текущий режим интрапрогнозирования компонента C1 принимается как прогнозируемое значение. Дело в том, что при вводе цветовых пространств YUV весьма вероятно, что C0 обрабатывается как сигнал яркости и C1/C2 обрабатывается как цветоразностный сигнал, и в этом случае считается, что C1 ближе к режиму прогнозирования C2, чем C0. В случае ввода цветовых пространств RGB не столь важно, выбирается ли C0 или C1. В целом считается, что выгодно принимать C1 компонент в качестве прогнозируемого значения (компонент C2 можно принять как прогнозируемое значение в зависимости от конструкции).This is set as the predicted candidate value due to the following basic information. Encoding rem_intra_pred_mode in components C0 or C1 means that the correlation of intra-prediction between areas near the image in components C0 or C1. In this case, it is assumed that the correlation between regions near the image is also low in the C2 component. It is likely that intra-prediction modes at the identical block position in different color components give better predicted values. According to this idea, when rem_intra_pred_mode is encoded in both components C0 and C1, the current intra-prediction modes C0 and C1 can be candidates for the predicted value. However, the current intra-prediction mode of component C1 is taken as the predicted value. The fact is that when entering YUV color spaces, it is very likely that C0 is processed as a luminance signal and C1 / C2 is processed as a color-difference signal, in which case it is considered that C1 is closer to the prediction mode C2 than C0. When entering RGB color spaces, it is not so important whether C0 or C1 is selected. In general, it is considered beneficial to take the C1 component as the predicted value (the C2 component can be taken as the predicted value depending on the design).

Наконец, блок 11 кодирования с переменной длиной слова устанавливает прогнозируемое значение CurrIntraPredMode в блоке X компонента C2 в качестве значения одного из predCurrIntraPredMode1 и predCurrIntraPredMode2 (этап S63). Какое из значений используется, дополнительно кодируется 1-битовым флагом (pred_flag).Finally, the variable-length encoding unit 11 sets the predicted value of CurrIntraPredMode in unit X of component C2 as the value of one of predCurrIntraPredMode1 and predCurrIntraPredMode2 (step S63). Which value is used is additionally encoded with a 1-bit flag (pred_flag).

Вышеописанная процедура представлена в виде следующих выражений.The above procedure is presented in the form of the following expressions.

Figure 00000013
Figure 00000013

Figure 00000014
Figure 00000014

// Использовать прогнозируемое значение-кандидат 1// Use predicted candidate value 1

Figure 00000015
Figure 00000015

// Использовать прогнозируемое значение-кандидат 2// Use predicted candidate value 2

Figure 00000016
Figure 00000016

Figure 00000017
Figure 00000017

В результате prev_intra_pred_mode_flag, pred_flag и rem_intra_pred_mode кодируются как кодированные данные (этап S64).As a result, prev_intra_pred_mode_flag, pred_flag, and rem_intra_pred_mode are encoded as encoded data (step S64).

Таким же образом можно определить вышеописанную процедуру кодирования для режима интрапрогнозирования 8×8. Кодируя режим интрапрогнозирования N×N в такой процедуре, можно использовать корреляцию между режимом интрапрогнозирования N×N и режимом прогнозирования, выбранным в других цветовых компонентов, и можно сократить объем кодов самого режима прогнозирования и повысить эффективность кодирования.In the same way, the above-described coding procedure for the 8 × 8 intra-prediction mode can be determined. Coding the N × N intra-prediction mode in such a procedure, one can use the correlation between the N × N intra-prediction mode and the prediction mode selected in other color components, and it is possible to reduce the code size of the prediction mode itself and increase the coding efficiency.

Различие между фиг.21 и фиг.22 состоит в том, осуществляется ли обработка кодирования для режима интрапрогнозирования в единицах МБ по отдельности для каждого из цветовых компонентов или совместно. В случае фиг.21 блок 11 кодирования с переменной длиной слова осуществляет кодирование соответствующих цветовых компонентов в единицах блоков 4×4 и упорядочивает шестнадцать шаблонов блоков, собранных в битовом потоке (этап S65). В случае фиг.22 блок 11 кодирования с переменной длиной слова совместно кодирует шестнадцать блоков 4×4 соответствующих цветовых компонентов и упорядочивает блоки в битовом потоке для каждого из цветовых компонентов (этапы S66, S67 и S68).The difference between FIG. 21 and FIG. 22 is whether the encoding processing for the intra-prediction mode is carried out in units of MB individually for each of the color components or together. In the case of FIG. 21, a variable-length encoding unit 11 encodes the corresponding color components in units of 4x4 blocks and arranges sixteen block patterns assembled in the bitstream (step S65). In the case of FIG. 22, the variable-length encoding unit 11 together encodes sixteen 4x4 blocks of the respective color components and arranges the blocks in the bitstream for each of the color components (steps S66, S67, and S68).

В вышеописанной процедуре pred_flag является информацией, которая эффективна только, когда prev_intra_pred_mode_flag равен 1. Однако pred_flag также может быть эффективным, когда prev_intra_pred_mode_flag равен 0. Иными словами, например, с помощью компонента C1 можно осуществлять кодирование в процедуре, описанной ниже.In the above procedure, pred_flag is information that is effective only when prev_intra_pred_mode_flag is 1. However, pred_flag can also be effective when prev_intra_pred_mode_flag is 0. In other words, for example, using component C1, encoding can be performed in the procedure described below.

Figure 00000018
Figure 00000018

Figure 00000019
Figure 00000019

// Использовать прогнозируемое значение-кандидат 1// Use predicted candidate value 1

Figure 00000020
Figure 00000020

Figure 00000021
Figure 00000021

// Использовать прогнозируемое значение-кандидат 2// Use predicted candidate value 2

Figure 00000022
Figure 00000022

Figure 00000023
Figure 00000023

Согласно этому методу, когда кодируется rem_intra_pred_mode в режиме интрапрогнозирования в блоке в идентичной позиции компонента C0, pred_flag всегда кодируется. Однако, даже когда prev_intra_pred_mode_flag=0, можно использовать более точное прогнозируемое значение. Таким образом, можно ожидать повышения эффективности кодирования. Кроме того, pred_flag можно кодировать вне зависимости от того, кодируется ли rem_intra_pred_mode в режиме интрапрогнозирования в блоке в идентичной позиции компонента C0. В этом случае режим интрапрогнозирования компонента C0 всегда используется в качестве прогнозируемого значения-кандидата. Ниже приведены выражения, отвечающие этому случаю.According to this method, when rem_intra_pred_mode is encoded in intra-prediction mode in a block at the identical position of component C0, pred_flag is always encoded. However, even when prev_intra_pred_mode_flag = 0, a more accurate predicted value can be used. Thus, an increase in coding efficiency can be expected. In addition, pred_flag can be encoded regardless of whether rem_intra_pred_mode is encoded in intra-prediction mode in a block at the identical position of component C0. In this case, the intra-prediction mode of the component C0 is always used as the predicted candidate value. Below are the expressions corresponding to this case.

Figure 00000024
Figure 00000024

Figure 00000025
Figure 00000025

// Использовать прогнозируемое значение-кандидат 1// Use predicted candidate value 1

Figure 00000026
Figure 00000026

// Использовать прогнозируемое значение-кандидат 2// Use predicted candidate value 2

Figure 00000027
Figure 00000027

Figure 00000028
Figure 00000028

Флаг pred_flag можно задавать в единицах макроблоков или последовательностей, а не в единицах блоков 4×4. При задании pred_flag в единицах макроблоков прогнозируемое значение-кандидат 1 или прогнозируемое значение-кандидат 2 используется совместно для всех блоков 4×4 в макроблоке. Таким образом, можно дополнительно сократить служебную информацию, передаваемую как pred_flag. Поскольку устанавливается согласно определению вводимых цветовых пространств, используется ли прогнозируемое значение-кандидат 1 или прогнозируемое значение-кандидат 2, pred_flag можно задавать в единицах последовательности. В этом случае также нет необходимости передавать pred_flag для каждого макроблока. Таким образом, можно дополнительно сокртить служебную информацию.The pred_flag flag can be set in units of macroblocks or sequences, and not in units of 4x4 blocks. When setting pred_flag in units of macroblocks, the predicted candidate value 1 or the predicted candidate value 2 is shared among all 4x4 blocks in the macroblock. Thus, it is possible to further reduce overhead information transmitted as pred_flag. Since it is set according to the definition of the input color spaces, whether the predicted candidate value 1 or the predicted candidate value 2 is used, pred_flag can be set in sequence units. In this case, there is also no need to transmit pred_flag for each macroblock. In this way, overhead information can be further reduced.

2. Процедура декодирования информации режима интрапрогнозирования в декодере2. The procedure for decoding information intra prediction mode in the decoder

В декодере согласно второму варианту осуществления блок кодирования с переменной длиной слова 25 указывает массив данных на битовом потоке для информации о режиме интрапрогнозирования N×N, но конкретно не указывает процедуру декодирования информации. Согласно третьему варианту осуществления описан конкретный способ осуществления процедуры декодирования. Третий вариант осуществления отличается тем, что, в частности, битовый поток, который подвергается энтропийному кодированию, в котором используется корреляция значений между цветовыми компонентами, декодируется для режимов интрапрогнозирования N×N, полученных в соответствующих цветовых компонентах, с учетом случая, когда значения режимов интрапрогнозирования N×N имеют высокую корреляцию между цветовыми компонентами.In the decoder according to the second embodiment, the variable-length encoding unit 25 indicates an array of data on the bitstream for information on the N × N intra-prediction mode, but does not specifically indicate an information decoding procedure. According to a third embodiment, a specific method for implementing a decoding procedure is described. The third embodiment is characterized in that, in particular, a bitstream that undergoes entropy encoding that uses the correlation of values between color components is decoded for N × N intra-prediction modes obtained in the respective color components, taking into account the case when the values of intra-prediction modes N × N have a high correlation between color components.

Следующее объяснение опирается на условие, что принят массив битовых потоков в формате, показанном на фиг.16. Для ограничения объяснения процедурой декодирования для режима интрапрогнозирования значение флага 33 идентификации общего использования режима интракодирования в битовом потоке устанавливается на совместное использование для C0, C1 и C2. Режим интрапрогнозирования N×N обозначается как режим интракодирования. Блок 4×4 обозначается как размеры блока преобразования 0-2. В этом случае все режимы интрапрогнозирования 0-2 (35a-35c) являются режимами интрапрогнозирования 4×4. Как и в кодере, соотношение, показанное на фиг.18-20, используется для декодера. В декодере текущий макроблок, подлежащий декодированию, обозначен X. Макроблок слева от текущего макроблока - это макроблок A, и макроблок вправо и вверх от текущего макроблока - это макроблок B. Логическая блок-схема процедуры декодирования показана на фиг.23. На фиг.23 этапы, обозначенные теми же позициями, которые показаны на фиг.21 и 22, указывают, что обработка идентична обработке при выполнении кодера.The following explanation is based on the condition that an array of bit streams in the format shown in FIG. 16 has been received. To limit the explanation to the decoding procedure for the intra-prediction mode, the value of the flag 33 identifying the common use of the intra-coding mode in the bitstream is set to be shared for C0, C1 and C2. The N × N intra-prediction mode is referred to as the intra-coding mode. A 4 × 4 block is designated as the dimensions of the 0-2 transform block. In this case, all intra-prediction modes 0-2 (35a-35c) are 4 × 4 intra-prediction modes. As in the encoder, the ratio shown in FIGS. 18-20 is used for the decoder. In the decoder, the current macroblock to be decoded is denoted by X. The macroblock to the left of the current macroblock is macroblock A, and the macroblock to the right and up from the current macroblock is macroblock B. A logical block diagram of the decoding procedure is shown in Fig. 23. In Fig.23, the steps indicated by the same positions as shown in Fig.21 and 22 indicate that the processing is identical to the processing when executing the encoder.

Состояние компонента C0 макроблока X показано на фиг.18. Существует два случая согласно позиции блока 4×4, подлежащего декодированию. В случае 1 блоки 4×4 слева и над блоком 4×4, подлежащим декодированию, находятся вне текущего макроблока X или принадлежат макроблоку A и макроблоку B. В случае 2 4×4 блоки слева и над блоком 4×4, подлежащим декодированию, находятся внутри текущего макроблока X или принадлежат макроблоку X. Блок 4×4, подлежащий декодированию, называется блоком X, и блоки 4×4 слева и над блоком X называются блоком A и блоком B соответственно. В обоих случаях один режим интрапрогнозирования 4×4 выделяется каждому блоку X 4×4 в макроблоке X. Этот режим интрапрогнозирования 4×4 является CurrIntraPredMode. Режим интрапрогнозирования 4×4 блока A является IntraPredModeA, и режим интрапрогнозирования 4×4 блока B является IntraPredModeB. Оба IntraPredModeA и IntraPredModeB представляют собой информацию, уже декодированную на момент кодирования блока X. При декодировании режима интрапрогнозирования 4×4 определенного блока X, прежде всего, блок 25 декодирования с переменной длиной слова осуществляет выделение этих параметров (этап S50).The state of component C0 of the macroblock X is shown in FIG. There are two cases according to the position of the 4 × 4 block to be decoded. In case 1, the 4 × 4 blocks on the left and above the 4 × 4 block to be decoded are located outside the current macroblock X or belong to macroblock A and macroblock B. In the case of 2 4 × 4 blocks on the left and above the 4 × 4 block to be decoded are inside the current macroblock X or belong to the macroblock X. The 4 × 4 block to be decoded is called block X, and the 4 × 4 blocks on the left and above block X are called block A and block B, respectively. In both cases, one 4 × 4 intra-prediction mode is allocated to each X 4 × 4 block in macroblock X. This 4 × 4 intra-prediction mode is CurrIntraPredMode. The 4 × 4 block A intra prediction mode is IntraPredModeA, and the 4 × 4 block B intra prediction mode is IntraPredModeB. Both IntraPredModeA and IntraPredModeB are information already decoded at the time of block X coding. When decoding the 4 × 4 intra prediction mode of a certain block X, first of all, the variable-length decoding block 25 extracts these parameters (step S50).

Блок 25 декодирования с переменной длиной слова устанавливает прогнозируемое значение predCurrIntraPredMode для CurrIntraPredMode блока X согласно следующему уравнению (этап S51)The variable-length decoding unit 25 sets the predicted value predCurrIntraPredMode for the CurrIntraPredMode of block X according to the following equation (step S51)

Figure 00000029
.
Figure 00000029
.

Блок 25 декодирования с переменной длиной слова декодирует 1-битовый флаг (prev_intra_pred_mode_flag), указывающий, CurrIntraPredMode=predCurrIntraPredMode. Prev_intra_pred_mode_flag=1 означает, что CurrIntraPredMode=predCurrIntraPredMode. В противном случае блок 25 декодирования с переменной длиной слова декодирует информацию о (prev_intra_pred_mode_flag=0) и rem_intra_pred_mode из битового потока. Когда в результате сравнения rem_intra_pred_mode и predCurrIntraPredMode, оказывается, что rem_intra_pred_mode меньше, устанавливается CurrIntraPredMode=rem_intra_pred_mode. Когда CurrIntraPredMode больше, устанавливается CurrIntraPredMode=rem_intra_pred_mode+1 (этап S65).The variable-length decoding unit 25 decodes a 1-bit flag (prev_intra_pred_mode_flag) indicating CurrIntraPredMode = predCurrIntraPredMode. Prev_intra_pred_mode_flag = 1 means that CurrIntraPredMode = predCurrIntraPredMode. Otherwise, the variable-length decoding unit 25 decodes information about (prev_intra_pred_mode_flag = 0) and rem_intra_pred_mode from the bitstream. When, as a result of comparing rem_intra_pred_mode and predCurrIntraPredMode, it turns out that rem_intra_pred_mode is smaller, CurrIntraPredMode = rem_intra_pred_mode is set. When the CurrIntraPredMode is larger, CurrIntraPredMode = rem_intra_pred_mode + 1 is set (step S65).

Эти процедуры в общем виде можно представить следующим образом.These procedures in general can be represented as follows.

Figure 00000030
Figure 00000030

Процедура декодирования для компонента C1 будет описана со ссылкой на фиг.19. Сначала таким же образом, как в процедуре декодирования для компонента C0, блок 25 декодирования с переменной длиной слова устанавливает параметры ближнего кодирования, например IntraPredModeA и IntraPredModeB, согласно позиции блока X (этап S53).The decoding procedure for component C1 will be described with reference to FIG. First, in the same manner as in the decoding procedure for the component C0, the variable-length decoding unit 25 sets the near-coding parameters, for example IntraPredModeA and IntraPredModeB, according to the position of the X block (step S53).

Блок 25 декодирования с переменной длиной слова устанавливает прогнозируемое значение-кандидат 1 predCurrIntraPredMode1 для CurrIntraPredMode блока X согласно следующему уравнению (этап S54)The variable word length decoding unit 25 sets the predicted candidate value 1 predCurrIntraPredMode1 for the CurrIntraPredMode of block X according to the following equation (step S54)

Figure 00000031
.
Figure 00000031
.

Если prev_intra_pred_mode_flag=1 в компоненте C0, этот predCurrIntraPredMode1 принимается как predCurrIntraPredMode в блоке X компонента C1 как есть. Это происходит по той же причине, что и в случае кодера.If prev_intra_pred_mode_flag = 1 in component C0, this predCurrIntraPredMode1 is accepted as predCurrIntraPredMode in block X of component C1 as is. This happens for the same reason as in the case of the encoder.

С другой стороны, когда prev_intra_pred_mode_flag=0 в компоненте C0 или когда rem_intra_pred_mode декодируется (этап S55), блок 25 декодирования с переменной длиной слова устанавливает CurrIntraPredMode компонента C0 в качестве прогнозируемого значения-кандидата 2 (этап S56). Это означает, чтоOn the other hand, when prev_intra_pred_mode_flag = 0 in component C0 or when rem_intra_pred_mode is decoded (step S55), the variable word length decoding unit 25 sets the CurrIntraPredMode of component C0 as the predicted candidate value 2 (step S56). It means that

Figure 00000032
.
Figure 00000032
.

Это устанавливается в качестве прогнозируемого значения-кандидата ввиду тех же базовых сведений, что и в случае кодера.This is set as the predicted candidate value due to the same basic information as in the case of the encoder.

Наконец, блок 25 декодирования с переменной длиной слова устанавливает прогнозируемое значение CurrIntraPredMode в блоке X C1 компонента в качестве значения одного из predCurrIntraPredMode1 и predCurrIntraPredMode2 (этап S57). Какое из значений используется, дополнительно декодируется 1-битовым флагом (pred_flag). Однако pred_flag декодируется, только когда CurrIntraPredMode совпадает с прогнозируемым значением. Когда CurrIntraPredMode не совпадает с прогнозируемым значением (когда декодируется rem_intra_pred_mode), predCurrIntraPredMode1 используется как прогнозируемое значение.Finally, the variable-length decoding unit 25 sets the predicted value of CurrIntraPredMode in the component block X C1 as the value of one of predCurrIntraPredMode1 and predCurrIntraPredMode2 (step S57). Which value is used is additionally decoded with a 1-bit flag (pred_flag). However, pred_flag is decoded only when CurrIntraPredMode matches the predicted value. When CurrIntraPredMode does not match the predicted value (when rem_intra_pred_mode is decoded), predCurrIntraPredMode1 is used as the predicted value.

После задания прогнозируемого значения-кандидата 1, прогнозируемого значения-кандидата 2, prev_intra_pred_mode_flag, pred_flag и rem_intra_pred_mode посредством следующей процедуры блок 25 декодирования с переменной длиной слова декодирует CurrIntraPredMode (этап S66).After setting the predicted candidate value 1, the predicted candidate value 2, prev_intra_pred_mode_flag, pred_flag and rem_intra_pred_mode by the following procedure, the variable-length word decoding unit 25 decodes CurrIntraPredMode (step S66).

Figure 00000033
Figure 00000033

// В этом случае pred_flag не включается в битовый поток.// In this case, pred_flag is not included in the bitstream.

Figure 00000034
Figure 00000034

Figure 00000035
Figure 00000035

Figure 00000036
Figure 00000036

Процедура декодирования для компонента C2 будет описана со ссылкой на фиг.20. Сначала, таким же образом, как в процедуре кодирования для компонентов C0 и C1, блок 25 декодирования с переменной длиной слова устанавливает параметры ближнего кодирования, например IntraPredModeA и IntraPredModeB, согласно позиции блока X (этап S59).The decoding procedure for component C2 will be described with reference to FIG. First, in the same manner as in the encoding procedure for components C0 and C1, the variable-length decoding unit 25 sets the near-coding parameters, for example IntraPredModeA and IntraPredModeB, according to the position of the X block (step S59).

Блок 25 декодирования с переменной длиной слова устанавливает прогнозируемое значение-кандидат 1 predCurrIntraPredMode1 для CurrIntraPredMode блока X согласно следующему уравнению (этап S60).The variable word length decoding unit 25 sets the predicted candidate value 1 predCurrIntraPredMode1 for the CurrIntraPredMode of block X according to the following equation (step S60).

predCurrIntraPredMode1=Min(IntraPredModeA, IntraPredModeB).predCurrIntraPredMode1 = Min (IntraPredModeA, IntraPredModeB).

Если prev_intra_pred_mode_flag=1 в обоих компонентах C0 и C1, этот predCurrIntraPredMode1 принимается как predCurrIntraPredMode в блоке X компонента C1 как есть. Это происходит по той же причине, что и в случае кодера.If prev_intra_pred_mode_flag = 1 in both components C0 and C1, this predCurrIntraPredMode1 is accepted as predCurrIntraPredMode in block X of component C1 as is. This happens for the same reason as in the case of the encoder.

С другой стороны, когда prev_intra_pred_mode_flag=0 в компонентах C0 или C1 или когда декодируется rem_intra_pred_mode (этап S61), блок 25 декодирования с переменной длиной слова устанавливает CurrIntraPredMode компонентов C0 или C1 в качестве прогнозируемого значения-кандидата 2 (этап S62).On the other hand, when prev_intra_pred_mode_flag = 0 in components C0 or C1, or when rem_intra_pred_mode is decoded (step S61), the variable word length decoding unit 25 sets the CurrIntraPredMode of components C0 or C1 as the predicted candidate value 2 (step S62).

Это означает, чтоIt means that

Figure 00000037
Figure 00000037

Figure 00000038
Figure 00000038

Это устанавливается в качестве прогнозируемого значения-кандидата ввиду тех же базовых сведений, что и в случае кодера.This is set as the predicted candidate value due to the same basic information as in the case of the encoder.

Наконец, блок 25 декодирования с переменной длиной слова устанавливает прогнозируемое значение CurrIntraPredMode в блоке X компонента C2 в качестве значения одного из predCurrIntraPredMode1 и predCurrIntraPredMode2 (этап S63). Какое из значений используется, дополнительно декодируется 1-битовым флагом (pred_flag). Однако pred_flag декодируется только, когда CurrIntraPredMode совпадает с прогнозируемым значением. Когда CurrIntraPredMode не совпадает с прогнозируемым значением (когда декодируется rem_intra_pred_mode), predCurrIntraPredMode1 используется как прогнозируемое значение.Finally, the variable-length decoding unit 25 sets the predicted value of CurrIntraPredMode in block X of component C2 as the value of one of predCurrIntraPredMode1 and predCurrIntraPredMode2 (step S63). Which value is used is additionally decoded with a 1-bit flag (pred_flag). However, pred_flag is only decoded when CurrIntraPredMode matches the predicted value. When CurrIntraPredMode does not match the predicted value (when rem_intra_pred_mode is decoded), predCurrIntraPredMode1 is used as the predicted value.

После задания прогнозируемого значения-кандидата 1, прогнозируемого значения-кандидата 2, prev_intra_pred_mode_flag, pred_flag и rem_intra_pred_mode посредством следующей процедуры блок 25 декодирования с переменной длиной слова декодирует CurrIntraPredMode (этап S71).After setting the predicted candidate value 1, the predicted candidate value 2, prev_intra_pred_mode_flag, pred_flag and rem_intra_pred_mode by the following procedure, the variable-length word decoding unit 25 decodes CurrIntraPredMode (step S71).

Figure 00000039
Figure 00000039

// В этом случае pred_flag не включается в битовый поток.// In this case, pred_flag is not included in the bitstream.

Figure 00000040
Figure 00000040

Figure 00000041
Figure 00000041

Figure 00000042
Figure 00000042

Таким же образом можно определить вышеописанную процедуру декодирования режима интрапрогнозирования 8×8. Благодаря декодированию режима интрапрогнозирования N×N в такой процедуре, можно сократить объем кодов самого режима прогнозирования и декодировать битовый поток с повышенной эффективностью кодирования с использованием корреляции между режимом интрапрогнозирования N×N и режимами прогнозирования, выбранными в других цветовых компонентах.In the same way, the above-described 8 × 8 intra-prediction mode decoding procedure can be determined. By decoding the N × N intra-prediction mode in such a procedure, it is possible to reduce the code size of the prediction mode itself and decode the bitstream with increased coding efficiency using the correlation between the N × N intra-prediction mode and the prediction modes selected in other color components.

В вышеописанной процедуре pred_flag представляет собой информацию, декодируемую, только когда prev_intra_pred_mode_flag равен 1. Однако pred_flag также можно декодировать, когда prev_intra_pred_mode_flag равен 0.In the above procedure, pred_flag is information decoded only when prev_intra_pred_mode_flag is 1. However, pred_flag can also be decoded when prev_intra_pred_mode_flag is 0.

Иными словами, например, с помощью компонента C1, можно осуществлять кодирование в процедуре, описанной ниже.In other words, for example, using component C1, encoding can be performed in the procedure described below.

Figure 00000043
Figure 00000043

Figure 00000044
Figure 00000044

Эффект этого способа такой же, как описан в процедуре кодирования на соответствующей стороне кодера. Кроме того, pred_flag можно декодировать вне зависимости от того, декодируется ли rem_intra_pred_mode в режиме интрапрогнозирования в блоке в идентичной позиции компонента C0. В этом случае режим интрапрогнозирования компонента C0 всегда используется в качестве прогнозируемого значения-кандидата.The effect of this method is the same as described in the encoding procedure on the corresponding side of the encoder. In addition, pred_flag can be decoded regardless of whether rem_intra_pred_mode is decoded in intra-prediction mode in a block at the identical position of component C0. In this case, the intra-prediction mode of the component C0 is always used as the predicted candidate value.

Ниже приведены выражения, отвечающие этому случаю.Below are the expressions corresponding to this case.

Figure 00000045
Figure 00000045

Как описано в объяснении кодера, pred_flag можно включать в битовый поток в единицах макроблоков или последовательностей, а не в единицах блоков 4×4. При задании pred_flag в единицах макроблоков прогнозируемое значение-кандидат 1 или прогнозируемое значение-кандидат 2 используется совместно для всех блоков 4×4 в макроблоке. Таким образом, служебная информация pred_flag, подлежащая декодированию, сокращается. Поскольку устанавливается, согласно определению вводимых цветовых пространств, используется ли прогнозируемое значение-кандидат 1 или прогнозируемое значение-кандидат 2, можно задавать pred_flag в единицах последовательности. В этом случае также нет необходимости передавать pred_flag для каждого макроблока. Таким образом, служебная информация дополнительно сокращается.As described in the explanation of the encoder, pred_flag can be included in the bitstream in units of macroblocks or sequences, rather than in units of 4x4 blocks. When setting pred_flag in units of macroblocks, the predicted candidate value 1 or the predicted candidate value 2 is shared among all 4x4 blocks in the macroblock. Thus, the pred_flag overhead to be decoded is reduced. Since it is established, according to the definition of the input color spaces, whether the predicted candidate value 1 or the predicted candidate value 2 is used, pred_flag can be set in sequence units. In this case, there is also no need to transmit pred_flag for each macroblock. Thus, overhead information is further reduced.

Четвертый вариант осуществленияFourth Embodiment

Рассмотрим битовый поток в формате, показанном на фиг.16, согласно второму варианту осуществления. В объяснении второго варианта осуществления, когда режим интракодирования указывает "интрапрогнозирование N×N", режимы интрапрогнозирования соответствующих цветовых компонентов C0, C1 и C2 распознаются как режим интрапрогнозирования 4×4 или режим интрапрогнозирования 8×8 согласно значениям флагов идентификации размера блока преобразования 0-2 (32a-32c). Согласно четвертому варианту осуществления, показанному на фиг.24, этот массив битовых потоков изменяется для передачи, для компонентов C1 и C2, флагов индикации режима интрапрогнозирования 1 и 2 (36a и 36b) на уровне последовательностей. Флаг индикации режима интрапрогнозирования эффективен, когда режим интрапрогнозирования N×N выбирается в режиме интракодирования, и флаг идентификации размера блока преобразования указывает преобразование 4×4, т.е. в случае режима интрапрогнозирования 4×4. Флаг индикации режима интрапрогнозирования позволяет переходить между следующими двумя состояниями согласно этому значению.Consider a bitstream in the format shown in FIG. 16 according to a second embodiment. In the explanation of the second embodiment, when the intra-coding mode indicates “N × N intra-prediction”, the intra-prediction modes of the respective color components C0, C1 and C2 are recognized as the 4 × 4 intra-prediction mode or the 8 × 8 intra-prediction mode according to the value of the conversion unit size identification flags 0-2 (32a-32c). According to a fourth embodiment shown in FIG. 24, this bitstream array is changed to transmit, for components C1 and C2, intra-prediction mode indication flags 1 and 2 (36a and 36b) at the sequence level. The intra-prediction mode indication flag is effective when the N × N intra-prediction mode is selected in the intra-coding mode, and the transform block size identification flag indicates a 4 × 4 transform, i.e. in the case of intra prediction mode 4 × 4. The flag indicating the intra-prediction mode allows you to switch between the following two states according to this value.

Состояние 1: для компонента C1 или C2 режим интрапрогнозирования 4×4, подлежащий использованию, по отдельности выбирается из девяти режимов, показанных на фиг.3, и кодируется.State 1: for component C1 or C2, the 4 × 4 intra-prediction mode to be used is individually selected from the nine modes shown in FIG. 3 and encoded.

Состояние 2: для компонента C1 или C2, режим интрапрогнозирования 4×4 ограничивается DC прогнозированием, т.е. intra4x4_pred_mode=2 согласно фиг.3, и информация режима интрапрогнозирования не кодируется.State 2: for component C1 or C2, the 4 × 4 intra-prediction mode is limited to DC prediction, i.e. intra4x4_pred_mode = 2 according to FIG. 3, and intra prediction mode information is not encoded.

Например, когда кодирование осуществляется в цветовых пространствах, например Y, Cb и Cr, и в случае видеосигнала высокого разрешения, например HDTV или видеосигналов еще более высокого разрешения, блок 4×4 соответствует чрезвычайно малой области изображения. В этом случае может оказаться более эффективным фиксировать саму информацию режима прогнозирования на одном фрагменте информации и не передавать информацию режима прогнозирования, которая образует служебную нагрузку, чем давать простор для выбора из девяти режимов прогнозирования компоненту, например компонентам Cb и Cr, которые непосредственно не поддерживают структуру текстуры изображения. Благодаря осуществлению такого массива битовых потоков можно осуществлять оптимальное кодирование, соответствующее характеристикам входных цветовых пространств и характеристикам видеосигнала.For example, when encoding is performed in color spaces, for example, Y, Cb, and Cr, and in the case of a high-resolution video signal, for example HDTV or even higher-resolution video signals, a 4x4 block corresponds to an extremely small image area. In this case, it may be more efficient to record the information of the prediction mode on one piece of information and not transmit information of the prediction mode that forms the overhead than to give room for a component to choose from nine prediction modes, for example, components Cb and Cr that do not directly support the structure texture image. Due to the implementation of such an array of bit streams, it is possible to carry out optimal coding corresponding to the characteristics of the input color spaces and the characteristics of the video signal.

Декодер, который принимает битовый поток в формате, показанном на фиг.24, декодирует флаги индикации режима интрапрогнозирования (36a и 36b) в блоке 25 декодирования с переменной длиной слова и различает, закодирован ли битовый поток в состоянии 1 или состоянии 2, согласно значениям флагов индикации режима интрапрогнозирования. Затем декодер принимает решение для компонента C1 или C2, декодируется ли режим интрапрогнозирования 4×4 из битового потока или DC прогнозирования, т.е. intra4×4_pred_mode=2 на фиг.3 применяется постоянно.A decoder that receives the bitstream in the format shown in FIG. 24 decodes the intra-prediction mode indication flags (36a and 36b) in the variable-length decoding unit 25 and distinguishes whether the bitstream is encoded in state 1 or state 2, according to flag values Indication of intra-prediction mode. The decoder then makes a decision for component C1 or C2 whether the 4x4 intra prediction mode is decoded from the bitstream or DC prediction, i.e. intra4 × 4_pred_mode = 2 in FIG. 3 is applied continuously.

Согласно четвертому варианту осуществления в состоянии 2 для компонентов C1 или C2 режим интрапрогнозирования 4×4 ограничивается intra4×4_pred_mode=2. Однако только информацию режима прогнозирования нужно фиксировать на значении единица, или она может быть другими режимами прогнозирования. Состояние 2 можно задавать для использования для компонента C1 или C2, такого же режима интрапрогнозирования 4×4, как для C0. В этом случае, поскольку нет необходимости кодировать режим интрапрогнозирования 4×4 для компонента C1 или C2, можно сократить биты служебной информации.According to the fourth embodiment, in state 2, for components C1 or C2, the 4x4 intra prediction mode is limited to intra4x4_pred_mode = 2. However, only the information of the prediction mode needs to be fixed on the value of one, or it can be other prediction modes. State 2 can be set to use for component C1 or C2, the same 4 × 4 intra-prediction mode as for C0. In this case, since there is no need to code the 4 × 4 intra-prediction mode for component C1 or C2, overhead bits can be reduced.

Пятый вариант осуществленияFifth Embodiment

Согласно пятому варианту осуществления описан другой пример структур кодера, показанного на фиг.11, и декодера, показанного на фиг.12. Как и в других вариантах осуществления, характеристики, отвечающие изобретению, сообщаются кодеру и декодеру согласно пятому варианту осуществления на основании системы кодирования, принятой в стандарте MPEG-4 AVC(ISO/IEC 14496-10)/ITU-TH.264, который представляет собой непатентный документ 1. Видеокодер согласно пятому варианту осуществления отличается от кодера, показанного на фиг.11, работа которого объяснена согласно второму и третьему вариантам осуществления, только в отношении операций блока 11 кодирования с переменной длиной слова. Видеодекодер согласно пятому варианту осуществления отличается от декодера, показанного на фиг.12, работа которого объяснена согласно второму и третьему вариантам осуществления, только в отношении операций блока 25 декодирования с переменной длиной слова. В остальном видеокодер и видеодекодер осуществляют те же операции, которые описаны согласно второму и третьему вариантам осуществления. Будут объяснены только отличия.According to a fifth embodiment, another example of the structures of the encoder shown in FIG. 11 and the decoder shown in FIG. 12 is described. As in other embodiments, the characteristics of the invention are communicated to the encoder and decoder according to the fifth embodiment based on the encoding system adopted in MPEG-4 AVC (ISO / IEC 14496-10) /ITU-TH.264, which is Non-Patent Document 1. The video encoder according to the fifth embodiment is different from the encoder shown in FIG. 11, the operation of which is explained according to the second and third embodiments, only with respect to the operations of the variable-length encoding unit 11. The video decoder according to the fifth embodiment is different from the decoder shown in FIG. 12, the operation of which is explained according to the second and third embodiments, only with respect to the operations of the variable-length decoding unit 25. Otherwise, the video encoder and video decoder perform the same operations as described in the second and third embodiments. Only differences will be explained.

1. Процедура кодирования информации режима интрапрогнозирования в кодере1. The procedure for encoding information intra prediction mode in the encoder

В кодере согласно третьему варианту осуществления описан конкретный способ кодирования информации режима интрапрогнозирования N×N в битовом потоке в формате, показанном на фиг.16, блоком 11 кодирования с переменной длиной слова. Согласно пятому варианту осуществления описан другой конкретный способ осуществления процедуры кодирования. Пятый вариант осуществления отличается тем, что, в частности, с учетом того факта, что значение режима интрапрогнозирования N×N отражает структуру текстуры, служащей шаблоном изображения, предусмотрен способ осуществления адаптивного прогнозирования в ближней пиксельной области в идентичном цветовом компоненте. Следующее объяснение опирается на условие, что принят массив битовых потоков в формате, показанном на фиг.16. Согласно пятому варианту осуществления информация режима интрапрогнозирования N×N для соответствующих компонентов C0, C1 и C2 независимо кодируется для каждого из цветовых компонентов. Способ кодирования для компонента C0 также применяется к C1 и C2. Для упрощения объяснения будет объяснен только способ кодирования для компонента C0. Значение флага 33 идентификации общего использования режима интракодирования задается для использования режима интракодирования совместно для C0, C1 и C2. Режим интракодирования - это режим интрапрогнозирования N×N, и флаги идентификации размера блока преобразования 0-2 (32a-32c) - это блок 4×4. В этом случае все режимы интрапрогнозирования 0-2 (35a-35c) являются режимами интрапрогнозирования 4×4. В качестве схемы, поясняющей процедуру кодирования для информации режима интрапрогнозирования N×N для компонента C0, используется фиг.18. На фиг.18 текущий блок, подлежащий кодированию, обозначен X. Макроблок слева от текущего блока - это макроблок A, и макроблок справа и вверху от текущего макроблока - это макроблок B. Логическая блок-схема процедуры кодирования показана на фиг.25.In the encoder according to the third embodiment, a specific method for encoding N × N intra-prediction mode information in a bit stream in the format shown in FIG. 16 with a variable-length encoding unit 11 is described. According to a fifth embodiment, another specific method for implementing an encoding procedure is described. The fifth embodiment is characterized in that, in particular, taking into account the fact that the value of the N × N intra-prediction mode reflects the texture structure serving as the image template, a method for implementing adaptive prediction in the near pixel region in the same color component is provided. The following explanation is based on the condition that an array of bit streams in the format shown in FIG. 16 has been received. According to a fifth embodiment, N × N intra-prediction mode information for the respective components C0, C1, and C2 is independently encoded for each of the color components. The encoding method for component C0 also applies to C1 and C2. To simplify the explanation, only the encoding method for the C0 component will be explained. The value of the flag 33 identifying the common use of the intra-coding mode is set to use the intra-coding mode together for C0, C1 and C2. The intra-coding mode is the N × N intra-prediction mode, and the 0-2 (32a-32c) transform block size identification flags are the 4 × 4 block. In this case, all intra-prediction modes 0-2 (35a-35c) are 4 × 4 intra-prediction modes. 18, FIG. 18 is used as a diagram explaining a coding procedure for N × N intra-prediction mode information for a component C0. In Fig. 18, the current block to be encoded is denoted by X. The macroblock to the left of the current block is macroblock A, and the macroblock to the right and above the current macroblock is macroblock B. A logical block diagram of the encoding procedure is shown in Fig. 25.

Согласно третьему варианту осуществления меньшее из значений IntraPredModeA и IntraPredModeB уникальным образом выделяется в качестве прогнозируемого значения predCurrIntraPredMode для режима интрапрогнозирования 4×4 CurrIntraPredMode, выделенного блокам 4×4 X, соответственно, показанным на фиг.18. Это метод принят также в настоящем стандарте AVC/H.264. По мере возрастания значения режима интрапрогнозирования N×N система генерации прогнозируемого изображения входит в более сложный режим, предусматривающий пиксельную интерполяцию, которая учитывает направленность шаблона изображения. Дело в том, что малое значение выделяется режиму с высокой адаптируемостью к общему шаблону изображения. При низкой битовой скорости, поскольку рост объема кодов режима прогнозирования в большей степени влияет на выбор режима, чем увеличение искажения, эта система полезна для эффективности кодирования кодера в целом. Напротив, когда битовая скорость сравнительно высока, поскольку увеличение искажения в большей степени влияет на выбор режима, чем рост объема кодов режима прогнозирования, не всегда справедливо утверждение, что меньшее из значений IntraPredModeA и IntraPredModeB является оптимальным. На основании такого наблюдения, согласно пятому варианту осуществления, точность прогнозируемого значения повышается за счет адаптации задания этого прогнозируемого значения согласно состояниям IntraPredModeA и IntraPredModeB, что объяснено ниже. В этой процедуре в качестве значения, при котором CurrIntraPredMode можно оценивать наиболее эффективно применительно к шаблону изображения, блок 11 кодирования с переменной длиной слова устанавливает predCurrIntraPredMode на основании состояния IntraPredModeA и IntraPredModeB (этапы S73, S74 и S75).According to a third embodiment, the smaller of the IntraPredModeA and IntraPredModeB values is uniquely allocated as the predicted predCurrIntraPredMode value for the 4x4 CurrIntraPredMode intra prediction mode allocated to 4x4 X blocks, respectively, shown in FIG. 18. This method is also adopted in this AVC / H.264 standard. As the value of the N × N intra-prediction mode increases, the system for generating the predicted image enters a more complex mode involving pixel interpolation, which takes into account the directivity of the image template. The fact is that a small value is allocated to the mode with high adaptability to the general image template. At a low bit rate, since an increase in the volume of prediction mode codes has a greater influence on the choice of mode than an increase in distortion, this system is useful for the coding efficiency of the encoder as a whole. On the contrary, when the bit rate is relatively high, since an increase in distortion affects the mode selection to a greater extent than an increase in the volume of prediction mode codes, it is not always true that the smaller of the IntraPredModeA and IntraPredModeB values is optimal. Based on this observation, according to the fifth embodiment, the accuracy of the predicted value is improved by adapting the specification of this predicted value according to the states of IntraPredModeA and IntraPredModeB, which is explained below. In this procedure, as a value at which CurrIntraPredMode can be evaluated most efficiently with respect to the image template, the variable-length encoding unit 11 sets predCurrIntraPredMode based on the state of IntraPredModeA and IntraPredModeB (steps S73, S74 and S75).

(1) Когда оба IntraPredModeA и IntraPredModeB находятся в диапазоне от 0 до 2, MIN(IntraPredModeA, IntraPredModeB) задается как predCurrIntraPredMode.(1) When both IntraPredModeA and IntraPredModeB are in the range of 0 to 2, MIN (IntraPredModeA, IntraPredModeB) is set to predCurrIntraPredMode.

(2) Когда IntraPredModeA или IntraPredModeB равен 3 или более и когда направления прогнозирования IntraPredModeA и IntraPredModeB полностью различны (например, IntraPredModeA равно 3, и IntraPredModeB равно 4), DC прогнозирование (intra4×4_pred_mode=2) задается как predCurrIntraPredMode.(2) When IntraPredModeA or IntraPredModeB is 3 or more, and when the prediction directions of IntraPredModeA and IntraPredModeB are completely different (for example, IntraPredModeA is 3 and IntraPredModeB is 4), DC prediction (intra4 × 4_pred_mode = 2) is set to predCurrIntraP.

(3) Когда IntraPredModeA или IntraPredModeB равно 3 или более и когда направления прогнозирования одинаковы (например, IntraPredModeA равно 3, и IntraPredModeB равно 7 (прогнозирование от верхнего правого в обоих IntraPredModeA и IntraPredModeB)), режим прогнозирования, интерполирующий пиксель (в вышеупомянутом режиме 7), задается как predCurrIntraPredMode.(3) When IntraPredModeA or IntraPredModeB is 3 or more, and when the prediction directions are the same (e.g., IntraPredModeA is 3, and IntraPredModeB is 7 (predicting from the top right in both IntraPredModeA and IntraPredModeB)), prediction mode, interpolating pixel (in the above mode 7 ), set as predCurrIntraPredMode.

Как и в третьем варианте осуществления, блок 11 кодирования с переменной длиной слова осуществляет подготовительную обработку для предварительного кодирования, например IntraPredModeA и IntraPredModeB (этапы S50, S53 и S59). В результате, predCurrIntraPredMode уникальным образом выводится из значений IntraPredModeA и IntraPredModeB. Табулированные правила этого задания прогнозируемого значения показаны на фиг.26. На фиг.26 заштрихованные части указывают случаи, когда традиционные правила MIN(IntraPredModeA, IntraPredModeB) неприменимы и лучшее прогнозируемое значение выводится из непрерывности шаблона изображения. В процедуре (1) используется таблица класса 0. В процедурах (2) и (3) используется таблица класса 1.As in the third embodiment, the variable-length encoding unit 11 performs preparatory processing for precoding, for example, IntraPredModeA and IntraPredModeB (steps S50, S53, and S59). As a result, predCurrIntraPredMode is uniquely derived from the values of IntraPredModeA and IntraPredModeB. The tabulated rules for this predicted value task are shown in FIG. 26, shaded portions indicate cases where traditional MIN rules (IntraPredModeA, IntraPredModeB) are not applicable and the best predicted value is derived from the continuity of the image pattern. Class 0 is used in procedure (1). Class 1 is used in procedures (2) and (3).

После установления predCurrIntraPredMode в результате процедуры блок 11 кодирования с переменной длиной слова выполняет оставшуюся процедуру кодирования для компонента C0, описанную согласно третьему варианту осуществления, для завершения кодирования (этапы S52, S58 и S64).After predCurrIntraPredMode is established as a result of the procedure, the variable-length encoding unit 11 performs the remaining encoding procedure for the component C0 described according to the third embodiment to complete the encoding (steps S52, S58 and S64).

Таким образом,In this way,

Figure 00000046
Figure 00000046

Figure 00000047
Figure 00000047

Таким же образом можно определить вышеописанную процедуру кодирования для режима интрапрогнозирования 8×8. Кодируя режим интрапрогнозирования N×N в такой процедуре, можно лучше использовать корреляцию режима прогнозирования в ближней пиксельной области в идентичном цветовом компоненте и можно сократить объем кодов самого режима прогнозирования и повысить эффективность кодирования.In the same way, the above-described coding procedure for the 8 × 8 intra-prediction mode can be determined. When coding the N × N intra-prediction mode in such a procedure, it is possible to better use the correlation of the prediction mode in the near pixel region in the same color component and it is possible to reduce the amount of codes of the prediction mode itself and increase the coding efficiency.

2. Процедура декодирования информации режима интрапрогнозирования в декодере2. The procedure for decoding information intra prediction mode in the decoder

В декодере согласно третьему варианту осуществления одна из конкретных процедур декодирования информации о режиме интрапрогнозирования N×N в блоке 25 декодирования с переменной длиной слова описана для битового потока в формате, показанном на фиг.16. Согласно пятому варианту осуществления описан другой конкретный способ осуществления процедуры декодирования. Пятый вариант осуществления отличается тем, что, в частности, с учетом того факта, что значение режима интрапрогнозирования N×N отражает структуру текстуры, служащей шаблоном изображения, адаптивное прогнозирование осуществляется в ближней пиксельной области в идентичном цветовом компоненте для декодирования кодированного битового потока.In the decoder according to the third embodiment, one of the specific procedures for decoding N × N intra-prediction mode information in the variable-length decoding unit 25 is described for the bitstream in the format shown in FIG. 16. According to a fifth embodiment, another specific method for implementing a decoding procedure is described. The fifth embodiment is characterized in that, in particular, taking into account the fact that the value of the N × N intra-prediction mode reflects the texture structure serving as the image template, adaptive prediction is performed in the near pixel region in the same color component to decode the encoded bitstream.

Следующее объяснение опирается на условие, что принят массив битовых потоков в формате, показанном на фиг.16. Для упрощения объяснения значение флага 33 идентификации общего использования режима интракодирования в битовом потоке задается для использования режима интракодирования совместно для C0, C1 и C2. Режим интрапрогнозирования N×N обозначается как режим интракодирования, и блок 4×4 обозначается как флаги идентификации размера блока преобразования от 0 до 2 (32a-32c). В этом случае все режимы интрапрогнозирования 0-2 (35a-35c) являются режимами интрапрогнозирования 4×4. Как и в кодере, в декодере будет объяснен только компонент C0 с использованием соотношения, показанного на фиг.18 (C1 и C2 независимо декодируются в эквивалентной процедуре). В декодере текущий макроблок, подлежащий декодированию, обозначен X. Макроблок слева от текущего блока - это макроблок A, и макроблок справа и вверху от текущего макроблока - это макроблок B.The following explanation is based on the condition that an array of bit streams in the format shown in FIG. 16 has been received. To simplify the explanation, the value of the flag 33 identifying the common use of the intra-coding mode in the bitstream is set to use the intra-coding mode for C0, C1 and C2. The N × N intra-prediction mode is designated as the intra-coding mode, and the 4 × 4 block is indicated as identification flags of the transform block size from 0 to 2 (32a-32c). In this case, all intra-prediction modes 0-2 (35a-35c) are 4 × 4 intra-prediction modes. As in the encoder, only the component C0 will be explained in the decoder using the relation shown in FIG. 18 (C1 and C2 are independently decoded in an equivalent procedure). In the decoder, the current macroblock to be decoded is indicated by X. The macroblock to the left of the current block is macroblock A, and the macroblock to the right and top of the current macroblock is macroblock B.

Согласно третьему варианту осуществления, как описано в объяснении кодера, меньшее из значений IntraPredModeA и IntraPredModeB уникальным образом выделяется в качестве прогнозируемого значения predCurrIntraPredMode для режима интрапрогнозирования 4×4 CurrIntraPredMode, выделенного блокам 4×4 X, соответственно, показанным на фиг.18. С другой стороны, в декодере согласно пятому варианту осуществления, predCurrIntraPredMode определяется с использованием таблицы, показанной на фиг.26, в процедуре, полностью идентичной процедуре, описанной как процедура кодирования. Поскольку IntraPredModeA и IntraPredModeB уже декодированы и известны, можно осуществлять обработку полностью идентично процедуре кодирования.According to a third embodiment, as described in the encoder explanation, the smaller of the IntraPredModeA and IntraPredModeB values is uniquely allocated as the predicted predCurrIntraPredMode value for the 4x4 CurrIntraPredMode intra prediction mode allocated to the 4x4 X blocks, respectively, shown in FIG. 18. On the other hand, in the decoder according to the fifth embodiment, predCurrIntraPredMode is determined using the table shown in FIG. 26 in a procedure completely identical to the procedure described as the encoding procedure. Since IntraPredModeA and IntraPredModeB are already decoded and known, the processing can be carried out completely identical to the encoding procedure.

Дальнейшая процедура эквивалентна процедуре декодирования для компонента C0, описанной согласно третьему варианту осуществления. Эти процедуры в общем виде можно представить следующим образом.The further procedure is equivalent to the decoding procedure for the component C0 described according to the third embodiment. These procedures in general can be represented as follows.

Figure 00000048
Figure 00000048

Figure 00000049
Figure 00000049

Таким же образом можно определить вышеописанную процедуру декодирования режима интрапрогнозирования 8×8. Благодаря декодированию режима интрапрогнозирования N×N в такой процедуре можно более эффективно использовать корреляцию режимов прогнозирования в ближней пиксельной области идентичного цветового компонента для декодирования кодированного битового потока со сниженным объемом кодов самого режима прогнозирования.In the same way, the above-described 8 × 8 intra-prediction mode decoding procedure can be determined. By decoding the N × N intra-prediction mode in such a procedure, it is possible to more effectively use the correlation of prediction modes in the near pixel region of the same color component to decode the encoded bitstream with a reduced amount of codes of the prediction mode itself.

В описанном выше примере predCurrIntraPredMode задается фиксированно с использованием таблицы, показанной на фиг.26, для осуществления кодирования и декодирования. Однако режимы интрапрогнозирования, чаще всего появляющиеся для состояний IntraPredModeA и IntraPredModeB, можно кодировать и декодировать, обновляя их один за другим. Например, в комбинации "class=0, IntraPredModeA=0, IntraPredModeB=0, predCurrIntraPredMode=0", показанной на фиг.26, согласно вышеописанному варианту осуществления predCurrIntraPredMode всегда равен 0, когда IntraPredModeA=0 и IntraPredModeB=0. Однако, поскольку видеосигнал сам по себе является нестационарным сигналом, нет никакой гарантии, что эта комбинация является наилучшей, в зависимости от содержимого видеосигнала. В наихудшем случае не полностью невероятно, что predCurrIntraPredMode не совпадает с прогнозируемым значением в большинстве случаев на протяжении видеосигнала. Таким образом, например, частота, с которой CurrIntraPredMode появляется в случае IntraPredModeA=0 и IntraPredModeB=0, отсчитывается и каждый раз при кодировании и декодировании CurrIntraPredMode и predCurrIntraPredMode обновляется в режиме прогнозирования, имеющем наивысшую частоту появления в отношении состояния IntraPredModeA и IntraPredModeB. В такой конфигурации можно задать прогнозируемое значение, используемое для кодирования и декодирования CurrIntraPredMode, равное оптимальному значению в свете содержимого видеосигнала.In the example described above, predCurrIntraPredMode is fixed using the table shown in FIG. 26 to encode and decode. However, intra-prediction modes, most often appearing for the states IntraPredModeA and IntraPredModeB, can be encoded and decoded, updating them one by one. For example, in the combination “class = 0, IntraPredModeA = 0, IntraPredModeB = 0, predCurrIntraPredMode = 0” shown in FIG. 26, according to the above described embodiment, predCurrIntraPredMode is always 0 when IntraPredModeA = 0 and IntraPredModeB = 0. However, since the video signal itself is a non-stationary signal, there is no guarantee that this combination is the best, depending on the contents of the video signal. In the worst case, it is not entirely unlikely that predCurrIntraPredMode does not match the predicted value in most cases during the video signal. Thus, for example, the frequency with which CurrIntraPredMode appears in the case of IntraPredModeA = 0 and IntraPredModeB = 0 is counted and each time when encoding and decoding CurrIntraPredMode and predCurrIntraPredMode are updated in the prediction mode having the highest frequency of occurrence in relation to the state of IntraPredMode and. In this configuration, the predicted value used for encoding and decoding CurrIntraPredMode can be set equal to the optimal value in light of the contents of the video signal.

Шестой вариант осуществленияSixth Embodiment

Согласно шестому варианту осуществления описан другой пример структур кодера, показанного на фиг.11, и декодера, показанного на фиг.12. Как и в других вариантах осуществления, характеристики, отвечающие изобретению, сообщаются кодеру и декодеру согласно шестому варианту осуществления на основании системы кодирования, принятой в стандарте MPEG-4 AVC(ISO/IEC 14496-10)/ITU-TH.264, который представляет собой непатентный документ 1. Видеокодер согласно шестому варианту осуществления отличается от кодера, показанного на фиг.11, объясняется согласно второму, третьему и пятому вариантам осуществления только в операциях блока 11 кодирования с переменной длиной слова. Видеодекодер согласно шестому варианту осуществления отличается от декодера, показанного на фиг.12, объясняется согласно второму, третьему и пятому вариантам осуществления только в операциях блока 25 декодирования с переменной длиной слова. В остальном видеокодер и видеодекодер осуществляют те же операции, как согласно второму, третьему и пятому вариантам осуществления. Будут объяснены только отличия.According to a sixth embodiment, another example of the structures of the encoder shown in FIG. 11 and the decoder shown in FIG. 12 is described. As in other embodiments, the characteristics of the invention are communicated to the encoder and decoder according to the sixth embodiment based on the encoding system adopted in MPEG-4 AVC (ISO / IEC 14496-10) /ITU-TH.264, which is non-patent document 1. The video encoder according to the sixth embodiment is different from the encoder shown in FIG. 11, is explained according to the second, third and fifth embodiments only in the operations of the variable-length encoding unit 11. The video decoder according to the sixth embodiment differs from the decoder shown in FIG. 12, is explained according to the second, third and fifth embodiments only in the operations of the variable-length decoding unit 25. Otherwise, the video encoder and video decoder perform the same operations as in the second, third, and fifth embodiments. Only differences will be explained.

1. Процедура кодирования информации режима интрапрогнозирования в кодере1. The procedure for encoding information intra prediction mode in the encoder

В кодере согласно третьему и пятому вариантам осуществления описан конкретный способ кодирования информации режима интрапрогнозирования N×N в битовом потоке в формате, показанном на фиг.16, блоком 11 кодирования с переменной длиной слова. Согласно шестому варианту осуществления описан другой конкретный способ осуществления процедуры кодирования. Шестой вариант осуществления отличается тем, что, в частности, с учетом того факта, что значение режима интрапрогнозирования N×N отражает структуру текстуры, служащей шаблоном изображения, предусмотрен способ осуществления адаптивного арифметического кодирования в ближней пиксельной области в идентичном цветовом компоненте. Следующее объяснение опирается на условие, что принят массив битовых потоков в формате, показанном на фиг.16. Согласно шестому варианту осуществления информация режима интрапрогнозирования N×N для соответствующих компонентов C0, C1 и C2 независимо кодируется для каждого из цветовых компонентов. Способ кодирования для компонента C0 также применяется к C1 и C2. Для упрощения объяснения будет объяснен только способ кодирования для компонента C0. Значение флага 33 идентификации общего использования режима интракодирования задается для использования режима интракодирования совместно для C0, C1 и C2. Режим интракодирования - это режим интрапрогнозирования N×N, и флаги идентификации размера блока преобразования 0-2 (32a-32c) - это блок 4×4. В этом случае все режимы интрапрогнозирования 0-2 (35a-35c) являются режимами интрапрогнозирования 4×4. В качестве схемы, поясняющей процедуру кодирования для информации режима интрапрогнозирования N×N для компонента C0, используется фиг.18. На фиг.18 текущий блок, подлежащий кодированию, обозначен X. Макроблок слева от текущего блока - это макроблок A, и макроблок справа и вверху от текущего макроблока - это макроблок B. Логическая блок-схема процедуры кодирования показана на фиг.27.In the encoder according to the third and fifth embodiments, a specific method is described for encoding N × N intra-prediction mode information in a bit stream in the format shown in FIG. 16 by a variable-length encoding unit 11. According to a sixth embodiment, another specific method for implementing an encoding procedure is described. The sixth embodiment is characterized in that, in particular, taking into account the fact that the value of the N × N intra-prediction mode reflects the texture structure serving as the image template, a method for performing adaptive arithmetic coding in the near pixel region in an identical color component is provided. The following explanation is based on the condition that an array of bit streams in the format shown in FIG. 16 has been received. According to a sixth embodiment, the N × N intra-prediction mode information for the respective components C0, C1, and C2 is independently encoded for each of the color components. The encoding method for component C0 also applies to C1 and C2. To simplify the explanation, only the encoding method for the C0 component will be explained. The value of the flag 33 identifying the common use of the intra-coding mode is set to use the intra-coding mode together for C0, C1 and C2. The intra-coding mode is the N × N intra-prediction mode, and the 0-2 (32a-32c) transform block size identification flags are the 4 × 4 block. In this case, all intra-prediction modes 0-2 (35a-35c) are 4 × 4 intra-prediction modes. 18, FIG. 18 is used as a diagram explaining a coding procedure for N × N intra-prediction mode information for a component C0. In FIG. 18, the current block to be encoded is indicated by X. The macroblock to the left of the current block is macroblock A, and the macroblock to the right and above the current macroblock is macroblock B. A logical block diagram of the encoding procedure is shown in FIG. 27.

Согласно третьему и пятому вариантам осуществления меньшее из значений IntraPredModeA и IntraPredModeB уникальным образом выделяется в качестве прогнозируемого значения predCurrIntraPredMode для режима интрапрогнозирования 4×4 CurrIntraPredMode, выделенного блокам 4×4 X, соответственно, показанным на фиг.18. Когда прогнозируемое значение равно указанному значению, prev_intra_pred_mode_flag задается равным 1, и кодирование в режиме интрапрогнозирования 4×4 для блока X заканчивается. Когда прогнозируемое значение отличается от указанного значения, код передается в rem_intra_pred_mode. В этом варианте осуществления CurrIntraPredMode непосредственно подвергается арифметическому кодированию с использованием состояний IntraPredModeA и IntraPredModeB. В этом случае используется процедура кодирования, согласующаяся с контекстно-адаптивным двоичным арифметическим кодированием, принятым в стандарте AVC/H.264.According to the third and fifth embodiments, the smaller of the IntraPredModeA and IntraPredModeB values is uniquely allocated as the predicted predCurrIntraPredMode value for the 4 × 4 CurrIntraPredMode intra prediction mode allocated to the 4 × 4 X blocks, respectively, shown in FIG. 18. When the predicted value is equal to the specified value, prev_intra_pred_mode_flag is set to 1, and coding in the intra-prediction mode 4 × 4 for block X ends. When the predicted value is different from the specified value, the code is passed to rem_intra_pred_mode. In this embodiment, CurrIntraPredMode is directly arithmetically encoded using the IntraPredModeA and IntraPredModeB states. In this case, the encoding procedure is used, consistent with the context adaptive binary arithmetic encoding adopted in the AVC / H.264 standard.

Прежде всего, блок 11 кодирования с переменной длиной слова представляет CurrIntraPredMode объекта кодирования в двоичном виде в соответствии с форматом, показанным на фиг.28 (этап S76). Первый участок двоичной последовательности представляет собой код для классификации CurrIntraPredMode в качестве прогнозирования в вертикальном направлении или прогнозирования в горизонтальном направлении (см. фиг.3). В этом примере DC прогнозирование (intra4×4_pred_mode=2) классифицируется как прогнозирование в горизонтальном направлении. Однако DC прогнозирование (intra4×4_pred_mode=2) можно классифицировать как прогнозирование в вертикальном направлении. Второй участок дает бит завершения значениям режима прогнозирования, которые, как считается, имеют наивысшую частоту появления в вертикальном направлении и горизонтальном направлении соответственно. Третий и последующие участки подвергаются конфигурированию кода с последующим завершением от единицы с наивысшей частотой появления среди остальных значений режима прогнозирования (второй и последующие участки конфигурации двоичной последовательности, показанной на фиг.28, желательно задавать согласно вероятности появления символов в процессе кодирования фактических данных изображения).First of all, the variable-length encoding unit 11 represents the CurrIntraPredMode of the encoding object in binary form in accordance with the format shown in FIG. 28 (step S76). The first portion of the binary sequence is a code for classifying CurrIntraPredMode as prediction in the vertical direction or prediction in the horizontal direction (see FIG. 3). In this example, DC prediction (intra4x4_pred_mode = 2) is classified as horizontal prediction. However, DC prediction (intra4x4_pred_mode = 2) can be classified as vertical prediction. The second section gives the completion bit to the values of the prediction mode, which are believed to have the highest frequency of occurrence in the vertical direction and horizontal direction, respectively. The third and subsequent sections are configured with a code followed by completion from one with the highest frequency of occurrence among the other values of the prediction mode (the second and subsequent sections of the binary sequence configuration shown in Fig. 28 are desirable to be set according to the probability of occurrence of characters during the encoding of the actual image data).

Блок 11 кодирования с переменной длиной слова выполняет арифметическое кодирование, последовательно выбирая для соответствующих участков двоичной последовательности (0,1) таблицы вероятности появления, подлежащие использованию. При кодировании первого участка блок 11 кодирования с переменной длиной слова устанавливает контекст, используемый для арифметического кодирования, следующим образом (этап S78).The variable-length coding unit 11 performs arithmetic coding, sequentially selecting the occurrence probability tables to be used for the corresponding sections of the binary sequence (0,1). When encoding the first portion, the variable-length encoding unit 11 sets the context used for arithmetic encoding as follows (step S78).

Контекст A(CA): Флаг intra_pred_direction_flag, представляющий в двоичной форме, является ли режим интрапрогнозирования прогнозированием в вертикальном направлении или прогнозированием в горизонтальном направлении, задается для IntraPredModeA и IntraPredModeB. Следующие четыре состояния задаются в качестве значений контекста.Context A (C A ): The intra_pred_direction_flag flag representing in binary form whether the intra prediction mode is vertical prediction or horizontal prediction is set for IntraPredModeA and IntraPredModeB. The following four states are set as context values.

Figure 00000050
Figure 00000050

Например, когда intra4×4_pred_mode принимает значения 0, 3, 5 и 7, показанные на фиг.3, intra_pred_direction_flag классифицируется как прогнозирование в вертикальном направлении (=0). Когда intra4×4_pred_mode принимает значения 1, 2, 4, 6 и 8, intra_pred_direction_flag классифицируется как прогнозирование в горизонтальном направлении (=1). Условные вероятности CurrIntraPredMode на основании состояний IntraPredModeA и IntraPredModeB вычисляются заранее, и начальные таблицы вероятности появления (0,1), заданные на основании условных вероятностей, выделяются четырем состояниям CA соответственно. Формируя контекст таким образом, можно более точно оценивать условную вероятность появления первого участка и повышать эффективность арифметического кодирования. Блок 11 кодирования с переменной длиной слова выбирает таблицу вероятности появления первого участка согласно значению CA и выполняет арифметическое кодирование. Блок 11 кодирования с переменной длиной слова обновляет таблицу вероятности появления значением кодирования (этап S79).For example, when intra4x4_pred_mode takes the values 0, 3, 5, and 7 shown in FIG. 3, intra_pred_direction_flag is classified as vertical prediction (= 0). When intra4x4_pred_mode takes values 1, 2, 4, 6, and 8, intra_pred_direction_flag is classified as horizontal prediction (= 1). The conditional probabilities CurrIntraPredMode based on the states IntraPredModeA and IntraPredModeB are calculated in advance, and the initial appearance probability tables (0,1) defined based on the conditional probabilities are allocated to the four states C A, respectively. By forming the context in this way, it is possible to more accurately evaluate the conditional probability of the appearance of the first section and increase the efficiency of arithmetic coding. The variable-length encoding unit 11 selects a probability table for the appearance of the first region according to the value of C A and performs arithmetic encoding. The variable-length encoding unit 11 updates the probability table of occurrence by the encoding value (step S79).

Начальная таблица вероятности появления (0,1), заданная согласно вероятности появления соответствующего режима прогнозирования значения, заранее выделяется второму и последующим участкам. Затем блок 25 декодирования с переменной длиной слова осуществляет двоичное арифметическое декодирование и обновление таблицы вероятности появления таким же образом, как для первого участка.The initial occurrence probability table (0.1), set according to the probability of occurrence of the corresponding value prediction mode, is preliminarily allocated to the second and subsequent sections. Then, the variable-length decoding unit 25 performs binary arithmetic decoding and updating the occurrence probability table in the same manner as for the first portion.

Таким же образом можно определить вышеописанную процедуру кодирования для режима интрапрогнозирования 8×8. Кодируя режим интрапрогнозирования N×N в такой процедуре, можно применять адаптивное арифметическое кодирование к кодированию информации режима прогнозирования с использованием корреляции режимов прогнозирования в ближней пиксельной области идентичного цветового компонента. Это позволяет повышать эффективность кодирования.In the same way, the above-described coding procedure for the 8 × 8 intra-prediction mode can be determined. Encoding the N × N intra-prediction mode in such a procedure, adaptive arithmetic coding can be applied to encoding prediction mode information using correlation of prediction modes in the near pixel region of the same color component. This allows you to increase the coding efficiency.

2. Процедура декодирования информации режима интрапрогнозирования в декодере 2 . The decoding procedure of intra prediction mode information in the decoder

В декодере согласно третьему и пятому вариантам осуществления одна из конкретных процедур декодирования информации о режиме интрапрогнозирования N×N в блоке 25 декодирования с переменной длиной слова описана для битового потока в формате, показанном на фиг.16. Согласно шестому варианту осуществления описан другой конкретный способ осуществления процедуры декодирования. Шестой вариант осуществления отличается тем, что, в частности, с учетом того факта, что значение режима интрапрогнозирования N×N отражает структуру текстуры, служащей шаблоном изображения, адаптивное арифметическое кодирование осуществляется в ближней пиксельной области в идентичном цветовом компоненте для декодирования кодированного битового потока.In the decoder according to the third and fifth embodiments, one of the specific procedures for decoding N × N intra-prediction mode information in the variable-length decoding unit 25 is described for the bitstream in the format shown in FIG. 16. According to a sixth embodiment, another specific method for implementing a decoding procedure is described. The sixth embodiment is characterized in that, in particular, taking into account the fact that the value of the N × N intra-prediction mode reflects the structure of the texture serving as the image template, adaptive arithmetic coding is carried out in the near pixel region in the same color component for decoding the encoded bitstream.

Следующее объяснение опирается на условие, что принят массив битовых потоков в формате, показанном на фиг.16. Для упрощения объяснения значение флага 33 идентификации общего использования режима интракодирования в битовом потоке задается для использования режима интракодирования совместно для C0, C1 и C2. Режим интрапрогнозирования N×N обозначается как режим интракодирования, и блок 4×4 обозначается как флаги идентификации размера блока преобразования от 0 до 2 (32a-32c). В этом случае все режимы интрапрогнозирования 0-2 (35a-35c) являются режимами интрапрогнозирования 4×4. Как и в кодере, в декодере будет объяснен только компонент C0 с использованием соотношения, показанного на фиг.18 (C1 и C2 независимо декодируются в эквивалентной процедуре). В декодере текущий макроблок, подлежащий декодированию, обозначен X. Макроблок слева от текущего блока - это макроблок A, и макроблок справа и вверху от текущего макроблока - это макроблок B.The following explanation is based on the condition that an array of bit streams in the format shown in FIG. 16 has been received. To simplify the explanation, the value of the flag 33 identifying the common use of the intra-coding mode in the bitstream is set to use the intra-coding mode for C0, C1 and C2. The N × N intra-prediction mode is designated as the intra-coding mode, and the 4 × 4 block is indicated as identification flags of the transform block size from 0 to 2 (32a-32c). In this case, all intra-prediction modes 0-2 (35a-35c) are 4 × 4 intra-prediction modes. As in the encoder, only the component C0 will be explained in the decoder using the relation shown in FIG. 18 (C1 and C2 are independently decoded in an equivalent procedure). In the decoder, the current macroblock to be decoded is indicated by X. The macroblock to the left of the current block is macroblock A, and the macroblock to the right and top of the current macroblock is macroblock B.

Согласно третьему и пятому вариантам осуществления, описанным в объяснении кодера, меньшее из значений IntraPredModeA и IntraPredModeB уникальным образом выделяется в качестве прогнозируемого значения predCurrIntraPredMode для режима интрапрогнозирования 4×4 CurrIntraPredMode, выделенного блокам 4×4 X соответственно, показанным на фиг.18. Когда prev_intra_pred_mode_flag декодируется и его значение равно 1, predCurrIntraPredMode принимается как CurrIntraPredMode. Когда prev_intra_pred_mode_flag равен нулю, rem_intra_pred_mode декодируется для восстановления режима интрапрогнозирования 4×4 блока X восстанавливается. С другой стороны, в этом варианте осуществления CurrIntraPredMode непосредственно подвергается арифметическому декодированию с использованием состояний IntraPredModeA и IntraPredModeB. В этом случае используется процедура декодирования, согласующаяся с контекстно-адаптивным двоичным арифметическим декодированием, принятым в стандарте AVC/H.264.According to the third and fifth embodiments described in the encoder explanation, the smaller of the IntraPredModeA and IntraPredModeB values is uniquely allocated as the predicted predCurrIntraPredMode value for the 4 × 4 CurrIntraPredMode intra prediction mode allocated to the 4 × 4 X blocks respectively shown in FIG. 18. When prev_intra_pred_mode_flag is decoded and its value is 1, predCurrIntraPredMode is taken as CurrIntraPredMode. When prev_intra_pred_mode_flag is zero, rem_intra_pred_mode is decoded to restore the 4x4 block prediction mode of block X is restored. On the other hand, in this embodiment, CurrIntraPredMode is directly subjected to arithmetic decoding using the states IntraPredModeA and IntraPredModeB. In this case, a decoding procedure is used consistent with the context adaptive binary arithmetic decoding adopted in the AVC / H.264 standard.

CurrIntraPredMode, подлежащий декодированию, кодируется как двоичная последовательность в соответствии с форматом, показанным на фиг.28. Эта последовательность последовательно подвергается двоичному арифметическому декодированию с левого конца. Как объясняется в процедуре кодирования согласно шестому варианту осуществления, первый участок двоичной последовательности представляет собой код для классификации CurrIntraPredMode в качестве прогнозирования в вертикальном направлении или прогнозирования в горизонтальном направлении (см. фиг.3). Второй и последующие участки подвергаются конфигурированию кода с последующим завершением от единицы с наивысшей частотой появления среди значений режима прогнозирования. Причина такого конфигурирования кода описана в процедуре кодирования.The CurrIntraPredMode to be decoded is encoded as a binary sequence in accordance with the format shown in FIG. 28. This sequence is sequentially subjected to binary arithmetic decoding from the left end. As explained in the encoding procedure according to the sixth embodiment, the first portion of the binary sequence is a code for classifying CurrIntraPredMode as prediction in the vertical direction or prediction in the horizontal direction (see FIG. 3). The second and subsequent sections are subjected to configuration of the code, followed by completion from one with the highest frequency of occurrence among the values of the prediction mode. The reason for this code configuration is described in the encoding procedure.

В процессе декодирования, прежде всего, при декодировании первого участка блок 25 декодирования с переменной длиной слова устанавливает CA таким же, как в контексте, используемом в процедуре кодирования. Блок 25 декодирования с переменной длиной слова выбирает таблицу вероятности появления согласно значению CA и выполняет арифметическое декодирование для восстановления первого участка. Блок 25 декодирования с переменной длиной слова обновляет таблицу вероятности появления значением декодирования.In the decoding process, especially when decoding the first portion, the variable-length decoding unit 25 sets C A to the same as in the context used in the encoding procedure. The variable-length decoding unit 25 selects an occurrence probability table according to the value of C A and performs arithmetic decoding to reconstruct the first portion. The variable-length decoding unit 25 updates the probability table of occurrence with a decoding value.

Начальная таблица вероятности появления (0,1), заданная согласно вероятности появления соответствующего режима прогнозирования значения, заранее выделяется второму и последующим участкам. Затем блок 25 декодирования с переменной длиной слова осуществляет двоичное арифметическое декодирование и обновление таблицы вероятности появления таким же образом, как для первого участка. Поскольку двоичная последовательность, показанная на фиг.28, сформирована так, чтобы можно было однозначно задавать соответствующий режим прогнозирования значения, CurrIntraPredMode декодируется, когда восстановлено заранее определенное количество участков.The initial occurrence probability table (0.1), set according to the probability of occurrence of the corresponding value prediction mode, is preliminarily allocated to the second and subsequent sections. Then, the variable-length decoding unit 25 performs binary arithmetic decoding and updating the occurrence probability table in the same manner as for the first portion. Since the binary sequence shown in FIG. 28 is formed so that it is possible to uniquely specify a corresponding value prediction mode, CurrIntraPredMode is decoded when a predetermined number of plots are restored.

Таким же образом можно определить вышеописанную процедуру декодирования режима интрапрогнозирования 8×8. Благодаря декодированию режима интрапрогнозирования N×N в такой процедуре можно декодировать кодированный битовый поток со сниженным объемом кодов самого режима прогнозирования согласно арифметическому кодированию, что позволяет использовать корреляцию режимов прогнозирования в ближней пиксельной области идентичного цветового компонента.In the same way, the above-described 8 × 8 intra-prediction mode decoding procedure can be determined. Due to the decoding of the N × N intra-prediction mode, in such a procedure it is possible to decode a coded bit stream with a reduced amount of codes of the prediction mode itself according to arithmetic coding, which makes it possible to use the prediction mode correlation in the near pixel region of the same color component.

В вышеописанном примере возможны другие варианты таблицы, показанной на фиг.28. Например, можно принять метод формирования двоичной последовательности, показанный на фиг.29. При этом контекст B, описанный ниже, используется для первого участка.In the above example, other variations of the table shown in FIG. 28 are possible. For example, the binary sequence generation method shown in FIG. 29 can be adopted. Moreover, the context B described below is used for the first section.

Контекст B(CB): Флаг intra_dc_pred_flag, представляющий в двоичной форме, является ли режим интрапрогнозирования вертикальным DC прогнозированием, задается для IntraPredModeA и IntraPredModeB. Следующие четыре состояния устанавливаются как значения контекста.Context B (C B ): The intra_dc_pred_flag flag, representing in binary form whether the intra prediction mode is a vertical DC prediction, is set for IntraPredModeA and IntraPredModeB. The following four states are set as context values.

Figure 00000051
Figure 00000051

На фиг.3, когда intra4×4_pred_mode принимает значение 2, intra_dc_pred_flag задается равным 1. Когда intra4×4_pred_mode принимает другие значения, intra_dc_pred_flag задается равным 0. Условные вероятности CurrIntraPredMode на основании состояний IntraPredModeA и IntraPredModeB вычисляются заранее, и начальные таблицы вероятности появления значений (0,1) первого участка, заданные на основании условных вероятностей, выделяются четырем состояниям CB соответственно. На фиг.29 первый участок призван принимать значение 0, когда CurrIntraPredMode представляет DC прогнозирование, и принимает значение 1, когда CurrIntraPredMode отличается от DC прогнозирования. Вышеописанный контекст A(CA) используется для второго участка. Формируя контекст таким образом, можно более точно оценивать условные вероятности появления для первого участка и второго участка и повышать эффективность арифметического кодирования.In Fig. 3, when intra4 × 4_pred_mode is set to 2, intra_dc_pred_flag is set to 1. When intra4 × 4_pred_mode is set to other values, intra_dc_pred_flag is set to 0. Conditional CurrIntraPredMode probabilities based on the states of the IntraPredModeA and IntraPredModeB the probabilities of the occurrence table are calculated in advance 0.1) of the first section, given on the basis of conditional probabilities, are allocated to four states C B, respectively. In Fig. 29, the first portion is intended to take a value of 0 when CurrIntraPredMode represents DC prediction, and takes a value of 1 when CurrIntraPredMode is different from DC prediction. The above context A (C A ) is used for the second portion. By forming the context in this way, it is possible to more accurately evaluate the conditional occurrence probabilities for the first section and the second section and increase the efficiency of arithmetic coding.

Седьмой вариант осуществленияSeventh Embodiment

Согласно седьмому варианту осуществления будут объяснены кодер, который осуществляет кодирование с использованием межкадрового прогнозирования в единицах, полученных равным делением видеокадра, введенного в формате 4:4:4, на прямоугольные области (макроблоки) 16×16 пикселей, и декодер, соответствующий кодеру. Характеристики, отвечающие изобретению, сообщаются кодеру и декодеру на основании системы кодирования, принятой в стандарте MPEG-4 AVC(ISO/IEC 14496-10)/ITU-TH.264.According to a seventh embodiment, an encoder that encodes using inter-frame prediction in units obtained by equal dividing a video frame inputted in a 4: 4: 4 format into rectangular areas (macroblocks) of 16 x 16 pixels and a decoder corresponding to the encoder will be explained. The characteristics of the invention are communicated to the encoder and decoder based on the encoding system adopted in MPEG-4 AVC (ISO / IEC 14496-10) /ITU-TH.264.

Структура видеокодера согласно седьмому варианту осуществления показана на фиг.30. Структура видеодекодера согласно седьмому варианту осуществления показана на фиг.31. На фиг.31 компоненты, обозначенные тем же позициями, что компоненты кодера на фиг.30, являются идентичными компонентами.The structure of the video encoder according to the seventh embodiment is shown in FIG. The structure of the video decoder according to the seventh embodiment is shown in FIG. In Fig. 31, the components indicated by the same positions as the components of the encoder in Fig. 30 are identical components.

Операции кодера в целом и декодера в целом и обработка принятия решения относительно режима интерпрогнозирования и обработка декодирования прогнозирования с компенсацией движения, которые являются характерными операциями седьмого варианта осуществления, будут объяснены на основании этих фигур.The operations of the encoder as a whole and the decoder as a whole and the decision processing regarding the inter prediction mode and the motion compensation prediction decoding processing, which are characteristic operations of the seventh embodiment, will be explained based on these figures.

1. Описание работы кодера1. Description of the encoder

В кодере, показанном на фиг.30, соответствующие видеокадры вводятся в качестве входного видеосигнала 1 в формате 4:4:4. Вводимые видеокадры вводятся в кодер в единицах блоков, полученных делением трех цветовых компонентов на макроблоки идентичного размера и размещением блоков, как показано на фиг.10.In the encoder shown in FIG. 30, corresponding video frames are input as input video signal 1 in a 4: 4: 4 format. The input video frames are input to the encoder in units of blocks obtained by dividing the three color components into macroblocks of the same size and placing the blocks, as shown in FIG. 10.

Прежде всего, блок 102 прогнозирования компенсации движения выбирает опорное изображение одного кадра из данных опорного изображения для прогнозирования компенсации движения одного или нескольких кадров, хранящихся в памяти 16, и осуществляет обработку прогнозирования для компенсации движения для каждого из цветовых компонентов в единицах макроблоков. Три блока памяти подготавливаются для соответствующих цветовых компонентов (хотя в объяснении этого варианта осуществления подготавливаются три блока памяти, количество блоков памяти можно соответственно изменять согласно конструкции). В качестве размеров блока для осуществления прогнозирования с компенсацией движения подготавливаются семь типов. Сначала в единицах макроблоков, как показано на фиг.32(a)-32(d), можно выбрать любой из размеров 16×16, 16×8, 8×16 и 8×8. При выборе 8×8, как показано на фиг.32(e)-(h), можно выбрать любой из размеров 8×8, 8×4, 4×8 и 4×4 для каждого блоков 8×8. Информация о выбранном размере выводится как тип макроблока, и информация размера в единицах блоков 8×8 выводится как тип субмакроблока. Выводятся идентификационный номер и информация вектора движения для выбранного опорного изображения для каждого блока.First of all, the motion compensation prediction unit 102 selects a reference image of one frame from the reference image data to predict motion compensation of one or more frames stored in the memory 16, and performs prediction processing for motion compensation for each of the color components in units of macroblocks. Three memory blocks are prepared for the respective color components (although three memory blocks are prepared in the explanation of this embodiment, the number of memory blocks can accordingly be changed according to the design). Seven types are prepared as block sizes for forecasting with motion compensation. First, in units of macroblocks, as shown in FIGS. 32 (a) to 32 (d), any of the sizes 16 × 16, 16 × 8, 8 × 16 and 8 × 8 can be selected. When selecting 8 × 8, as shown in FIGS. 32 (e) to (h), any of the sizes 8 × 8, 8 × 4, 4 × 8 and 4 × 4 can be selected for each 8 × 8 blocks. Information about the selected size is displayed as a macroblock type, and size information in units of 8 × 8 blocks is displayed as a sub-macroblock type. The identification number and motion vector information for the selected reference image for each block are displayed.

Видеокодер согласно седьмому варианту осуществления отличается изменением метода обработки прогнозирования для компенсации движения для трех цветовых компонентов на основании флага 123 идентификации общего использования режима интерпрогнозирования. Этот момент будет подробно описан ниже в пункте 2.The video encoder according to the seventh embodiment is characterized by a change in the prediction processing method for motion compensation for the three color components based on the common prediction mode identification flag 123. This point will be described in detail below in paragraph 2.

Блок 102 прогнозирования компенсации движения выполняет обработку прогнозирования для компенсации движения для всех размеров блока или размеров подблока, показанных на фиг.32, всех векторов движения 137 в заранее определенном диапазоне поиска и может выбирать одно или несколько опорных изображений для получения разностного сигнала прогнозирования 4 согласно векторам движения 137, одного опорного изображения и вычитателя 3. Блок 5 принятия решения относительно режима кодирования оценивает эффективность прогнозирования разностного сигнала прогнозирования 4 и выводит тип макроблока/тип субмакроблока 106, вектор движения 137 и идентификационный номер опорного изображения, при которых получается оптимальная эффективность прогнозирования, на макроблок, подлежащий прогнозированию из обработки прогнозирования, выполняемой блоком 102 прогнозирования компенсации движения. При выборе типа макроблока/типа субмакроблока 106 можно учитывать весовой коэффициент 20 для каждого типа, заданный путем принятия решения на блоке 19 управления кодированием. Блок 102 прогнозирования компенсации движения выводит разностный сигнал прогнозирования 4, полученный путем прогнозирования с компенсацией движения на основании типа, вектора движения 137 и выбранного опорного изображения, на блок преобразования 8. Блок преобразования 8 преобразует введенный разностный сигнал прогнозирования 4 в коэффициент преобразования и выводит коэффициент преобразования на блок квантования 9. Блок квантования 9 квантует введенный коэффициент преобразования на основании параметра квантования 21, заданного блоком 19 управления кодированием, и выводит коэффициент преобразования на блок 11 кодирования с переменной длиной слова в качестве квантованного коэффициента преобразования 10. Квантованный коэффициент преобразования 10 подвергается энтропийному кодированию посредством, например, кодирования Хаффмана или арифметического кодирования на блоке 11 кодирования с переменной длиной слова. Квантованный коэффициент преобразования 10 восстанавливается до разностного сигнала прогнозирования локального декодирования 14 посредством блока 12 обратного квантования и блока 13 обратного преобразования. Квантованный коэффициент преобразования 10 суммируется с прогнозируемым изображением 7, которое генерируется на основании типа макроблока/типа субмакроблока 106, вектора движения 137 и выбранного опорного изображения, сумматором 18 для генерации локально декодированного изображения 15. Локально декодированное изображение 15 сохраняется в памяти 16 для использования в дальнейшей обработке прогнозирования для компенсации движения. Флаг 24 управления разблокирующим фильтром, указывающий, применяется ли разблокирующий фильтр к макроблоку, также вводится в блок 11 кодирования с переменной длиной слова. (При обработке прогнозирования, выполняемой блоком 102 прогнозирования компенсации движения, поскольку пиксельные данные до обработки разблокирующим фильтром сохраняются в памяти 16, обработка разблокирующего фильтра сама по себе не обязательна для обработки кодирования. Однако разблокирующий фильтр действует согласно указанию флага 24 управления разблокирующим фильтром на стороне декодера для получения окончательного декодированного изображения.)Motion compensation prediction unit 102 performs prediction processing for motion compensation for all block sizes or sub-block sizes shown in FIG. 32 of all motion vectors 137 in a predetermined search range and may select one or more reference images to obtain a prediction differential signal 4 according to the vectors motion 137, one reference image and subtracter 3. Decision block 5 regarding the encoding mode estimates the prediction efficiency of the difference signal prediction 4 and outputs the macroblock type / sub-macroblock type 106, the motion vector 137 and the reference image identification number, at which the optimal prediction efficiency is obtained, to the macroblock to be predicted from the prediction processing performed by the motion compensation prediction unit 102. When choosing the type of macroblock / type of submacroblock 106, one can take into account the weighting factor 20 for each type, which is set by decision on the encoding control unit 19. The motion compensation prediction unit 102 outputs a prediction differential signal 4, obtained by motion compensation prediction based on the type, motion vector 137 and the selected reference image, to the transform unit 8. The transform unit 8 converts the input prediction difference signal 4 into a transform coefficient and outputs a transform coefficient to the quantization unit 9. The quantization unit 9 quantizes the input transform coefficient based on the quantization parameter 21 specified by the unit 19 encoding systematic way, and outputs the transform coefficient coding unit 11 for variable length as a quantized transform coefficient 10. The quantized transform coefficient 10 is subjected to entropy encoding by means such as Huffman coding or arithmetic coding on the coding unit 11 variable length. The quantized transform coefficient 10 is restored to the local prediction differential prediction signal 14 by the inverse quantization unit 12 and the inverse transform unit 13. The quantized transform coefficient 10 is added to the predicted image 7, which is generated based on the macroblock type / submacroblock type 106, the motion vector 137 and the selected reference image, by the adder 18 to generate a locally decoded image 15. The locally decoded image 15 is stored in memory 16 for later use prediction processing for motion compensation. An enable filter control flag 24 indicating whether the enable filter is applied to the macroblock is also input to the variable-length encoding unit 11. (In the prediction processing performed by the motion compensation prediction unit 102, since the pixel data is stored in the memory 16 before being processed by the unlocking filter, the processing of the unlocking filter itself is not necessary for encoding processing. However, the unlocking filter acts according to the direction of the unlocking filter control flag 24 on the decoder side to get the final decoded image.)

Флаг 123 идентификации общего использования режима интерпрогнозирования, квантованный коэффициент преобразования 10, тип макроблока/тип субмакроблока 106, вектор движения 137, идентификационный номер опорного изображения и параметр квантования 21, введенные в блок 11 кодирования с переменной длиной слова, упорядочены и сформированы в виде битового потока в соответствии с заранее определенным правилом (синтаксисом) и выводятся в буфер передачи 17. Буфер передачи 17 сглаживает битовый поток согласно полосе линии передачи, к которой подключен кодер, и скорости чтения носителя записи и выводит битовый поток в качестве видеопотока 22. Буфер передачи 17 выводит информацию обратной связи на блок 19 управления кодированием согласно состоянию накопления битового потока в буфер передачи 17 и затем управляет объемом генерируемых кодов при кодировании видеокадров.Inter-prediction mode common use identification flag 123, quantized transform coefficient 10, macroblock type / sub-macroblock type 106, motion vector 137, reference image identification number and quantization parameter 21 entered into variable-length encoding unit 11 are ordered and formed as a bit stream in accordance with a predetermined rule (syntax) and are output to the transmission buffer 17. The transmission buffer 17 smooths the bit stream according to the band of the transmission line to which the code is connected er, and the read speed of the recording medium, and outputs the bitstream as the video stream 22. The transmission buffer 17 outputs feedback information to the encoding control unit 19 according to the accumulation state of the bitstream into the transmission buffer 17 and then controls the amount of generated codes when encoding video frames.

2. Обработка принятия решения относительно режима интерпрогнозирования в кодере2. Decision processing regarding the inter prediction mode in the encoder

Ниже подробно описана обработка принятия решения относительно режима интерпрогнозирования, которая является характеристикой кодера согласно седьмому варианту осуществления. В нижеследующем описании режим интерпрогнозирования указывает размер блока, служащий входным сигналом для компенсации вектора движения, т.е. тип макроблока/тип субмакроблока. Обработка принятия решения относительно режима интерпрогнозирования означает обработку для выбора типа макроблока/типа субмакроблока, вектора движения и опорного изображения. Обработка осуществляется в единицах макроблоков, полученных размещением трех цветовых компонентов. Обработка осуществляется, в основном, блоком 102 прогнозирования компенсации движения и блоком 5 принятия решения относительно режима кодирования в кодере, показанном на фиг.30. Логическая блок-схема, демонстрирующая ход обработки, показана на фиг.33. Данные изображения трех цветовых компонентов, образующих блок, именуются ниже C0, C1 и C2.The decision processing regarding the inter prediction mode, which is a characteristic of the encoder according to the seventh embodiment, is described in detail below. In the following description, the inter prediction mode indicates a block size serving as an input signal for compensating a motion vector, i.e. macroblock type / submacroblock type. Decision processing for the inter-prediction mode means processing for selecting a macroblock type / sub-macroblock type, a motion vector, and a reference image. Processing is carried out in units of macroblocks obtained by placing three color components. The processing is carried out mainly by the motion compensation prediction unit 102 and the decision unit 5 regarding the encoding mode in the encoder shown in FIG. 30. A logical flowchart showing the progress of processing is shown in FIG. Image data of the three color components forming the block are referred to below as C0, C1, and C2.

Прежде всего, блок 5 принятия решения относительно режима кодирования принимает флаг 123 идентификации общего использования режима интерпрогнозирования и принимает решение на основании значения флага 123 идентификации общего использования режима интерпрогнозирования, используются ли общий режим интерпрогнозирования, общий вектор движения 137 и общее опорное изображение для C0, C1 и C2 (этап S100 на фиг.33). Когда режим интерпрогнозирования, вектор движения 137 и опорное изображение используются совместно, блок 5 принятия решения относительно режима кодирования переходит к этапу S101 и последующим этапам. В противном случае блок 5 принятия решения относительно режима кодирования переходит к этапу S102 и последующим этапам.First of all, the decision block 5 regarding the coding mode receives the common prediction mode identification flag 123 and makes a decision based on the value of the common prediction mode identification flag 123 whether the common inter prediction mode, the common motion vector 137 and the common reference image for C0, C1 are used and C2 (step S100 in FIG. 33). When the inter prediction mode, the motion vector 137 and the reference image are used together, the decision block 5 regarding the encoding mode proceeds to step S101 and subsequent steps. Otherwise, the decision block 5 regarding the encoding mode proceeds to step S102 and subsequent steps.

Когда режим интерпрогнозирования, вектор движения 137 и опорное изображение используются совместно для C0, C1 и C2, блок 5 принятия решения относительно режима кодирования извещает блок 102 прогнозирования компенсации движения обо всех режимах интерпрогнозирования, диапазонах поиска вектора движения и опорных изображениях, которые можно выбрать. Блок 102 прогнозирования компенсации движения оценивает эффективности прогнозирования для всех режимов интерпрогнозирования, диапазонов поиска вектора движения и опорных изображений и выбирает оптимальный режим интерпрогнозирования, оптимальный вектор движения 137 и оптимальные опорные изображения, общие для C0, C1 и C2 (этап S101).When the inter prediction mode, motion vector 137 and the reference image are used together for C0, C1, and C2, the coding mode decision block 5 notifies the motion compensation prediction block 102 of all the inter prediction modes, motion vector search ranges, and reference pictures that can be selected. Motion compensation prediction unit 102 estimates prediction performance for all inter prediction modes, motion vector search ranges and reference images, and selects an optimal inter prediction mode, optimal motion vector 137, and optimal reference images common to C0, C1, and C2 (step S101).

Когда режим интерпрогнозирования, вектор движения 137 и опорное изображение не используются совместно для C0, C1 и C2 и для C0, C1 и C2 соответственно выбираются наилучшие режимы, блок 5 принятия решения относительно режима кодирования извещает блок 102 прогнозирования компенсации движения обо всех режимах интерпрогнозирования, диапазонах поиска вектора движения и опорных изображениях, которые можно выбрать для компонентов Ci (i<=0<3). Блок 102 прогнозирования компенсации движения оценивает эффективности прогнозирования для всех режимов интерпрогнозирования, диапазонов поиска вектора движения и опорных изображений и выбирает оптимальный режим интерпрогнозирования, оптимальный вектор движения 137 и оптимальное опорное изображение в компонентах Ci (i<=0<3) (этапы S102, S103 и S104).When the inter prediction mode, the motion vector 137 and the reference image are not used together for C0, C1 and C2 and the best modes are respectively selected for C0, C1 and C2, the decision block 5 regarding the encoding mode notifies the motion compensation prediction block 102 of all the inter prediction modes, ranges search for the motion vector and reference images that can be selected for the components Ci (i <= 0 <3). The motion compensation prediction unit 102 estimates the prediction efficiency for all inter prediction modes, motion vector search ranges and reference images, and selects an optimal inter prediction mode, an optimal motion vector 137, and an optimal reference image in the components Ci (i <= 0 <3) (steps S102, S103 and S104).

В качестве критериев для оценки эффективности прогнозирования для режима прогнозирования, осуществляемой в блоке 102 прогнозирования компенсации движения, можно, например, использовать стоимость скорости/искажения, заданную как Jm,v,r=Dm,v,r+λRm,v,r (λ: положительное число). Dm,v,r - это искажение кодирования или величина ошибки прогнозирования в случае, когда применяются режим интерпрогнозирования m, векторы движения v в заранее определенном диапазоне и опорное изображение r. Искажение кодирования получается с применением режима интерпрогнозирования m, векторов движения v и опорного изображения r для вычисления ошибки прогнозирования и декодирования видеосигнала из результата, полученного путем преобразования и квантования ошибки прогнозирования для измерения ошибки относительно сигнала до кодирования. Величина ошибки прогнозирования получается путем вычисления разности между прогнозируемым изображением и сигналом до кодирования в случае, когда применяются режим интерпрогнозирования m, векторы движения v и опорное изображение r, и квантования уровня разности. Например, используется сумма абсолютных расстояний (SAD). Rm,v,r - это объем генерируемых кодов в случае, когда применяются режим интерпрогнозирования m, векторы движения v и опорное изображение r. Иными словами, Jm,v,r - это значение, задающее компромисс между объемом кодов и степенью ухудшения в случае, когда применяются режим интерпрогнозирования m, векторы движения v и опорное изображение r. Режим интерпрогнозирования m, дающий минимальное Jm,v,r, векторы движения v и опорное изображение r дают оптимальное решение.As criteria for evaluating the prediction efficiency for the prediction mode carried out in the motion compensation prediction block 102, for example, the velocity / distortion value defined as Jm, v, r = Dm, v, r + λRm, v, r (λ : positive number). Dm, v, r is the coding distortion or the magnitude of the prediction error in the case when the inter prediction mode m, the motion vectors v in a predetermined range, and the reference image r are used. The coding distortion is obtained using the inter-prediction mode m, motion vectors v and the reference image r to calculate the prediction error and decode the video signal from the result obtained by converting and quantizing the prediction error to measure the error relative to the signal before encoding. The magnitude of the prediction error is obtained by calculating the difference between the predicted image and the signal before coding in the case where the inter prediction mode m, the motion vectors v and the reference image r, and quantizing the difference level are applied. For example, Absolute Distance Sum (SAD) is used. Rm, v, r is the volume of generated codes in the case when the inter prediction mode m, the motion vectors v, and the reference image r are used. In other words, Jm, v, r is a value specifying a compromise between the amount of codes and the degree of deterioration when the inter prediction mode m, motion vectors v, and reference image r are used. Interprediction mode m, which gives the minimum Jm, v, r, motion vectors v and the reference image r give the optimal solution.

Когда кодер осуществляет обработку на этапе S101 и последующих этапах, пара фрагментов информации о режиме интерпрогнозирования, векторах движения 137 и опорном изображении выделяются макроблоку, включающему в себя три цветовых компонента. С другой стороны, когда кодер осуществляет обработку на этапе S102 и последующих этапах, информация режима интерпрогнозирования, векторы движения 137 и опорное изображение выделяются цветовым компонентам соответственно. Таким образом, поскольку фрагменты информации о режимах интерпрогнозирования, векторах движения 137 и опорном изображении, выделенные макроблоку, отличаются, необходимо мультиплексировать флаг 123 идентификации общего использования режима интерпрогнозирования в битовый поток и дать возможность декодеру распознавать, осуществил ли кодер этапы обработки на этапе S101 и последующих этапах или осуществил этапы обработки на этапе S102 и последующих этапах. Массив данных такого битового потока показан на фиг.34.When the encoder performs the processing in step S101 and subsequent steps, a pair of pieces of information about the inter prediction mode, motion vectors 137, and the reference image are allocated to the macroblock including three color components. On the other hand, when the encoder processes in step S102 and subsequent steps, the information of the inter prediction mode, the motion vectors 137, and the reference image are allocated to the color components, respectively. Thus, since the pieces of information about the inter prediction modes, motion vectors 137 and the reference image allocated to the macroblock are different, it is necessary to multiplex the identification flag 123 of the general use of the inter prediction mode into the bitstream and allow the decoder to recognize whether the encoder has performed the processing steps in step S101 and subsequent steps or carried out the processing steps in step S102 and subsequent steps. An array of data of such a bitstream is shown in FIG.

Массив данных битового потока на уровне макроблоков показан на фиг.34. Тип макроблока указывает интра или интер и включает в себя информацию, служащую единицей компенсации движения во время режима интер. Тип субмакроблока мультиплексируется, только когда 8×8 размер блока выбран в качестве типа макроблока и включает в себя информацию размера блока для каждого из размеров блока 8×8. Базовый тип 128 макроблока и базовый тип 129 субмакроблока указывают общий тип макроблока и общий тип субмакроблока, когда флаг 123 идентификации общего использования режима интерпрогнозирования указывает "общий для C0, C1 и C2". В противном случае базовый тип 128 макроблока и базовый тип 129 субмакроблока указывают тип макроблока и тип субмакроблока для C0. Расширенный тип 130 макроблока и расширенный тип 131 субмакроблока мультиплексируются для C1 и C2 соответственно, только когда флаг 123 идентификации общего использования режима интерпрогнозирования указывает "не общий для C0, C1 и C2". Тип 130 макроблока и расширенный тип 131 субмакроблока указывают тип макроблока и тип субмакроблока для C1 и C2.An array of bitstream data at the macroblock level is shown in FIG. The type of macroblock indicates intra or inter and includes information serving as a unit of motion compensation during inter. The sub-macroblock type is multiplexed only when the 8 × 8 block size is selected as the macroblock type and includes block size information for each of the 8 × 8 block sizes. The macroblock base type 128 and the sub macroblock base type 129 indicate a common macroblock type and a common sub-macroblock type when the inter-prediction mode common use identification flag 123 indicates “common to C0, C1 and C2”. Otherwise, the base macroblock type 128 and the sub-macroblock base type 129 indicate the macroblock type and sub-macroblock type for C0. The extended macroblock type 130 and the extended sub-macroblock type 131 are multiplexed for C1 and C2, respectively, only when the inter-prediction mode common use identification flag 123 indicates “not common for C0, C1 and C2”. The macroblock type 130 and the extended sub-macroblock type 131 indicate the macroblock type and sub-macroblock type for C1 and C2.

Идентификационный номер опорного изображения - это информация для указания опорного изображения, выбранного для каждого блока, большего или равного размеру блока 8×8, служащего единицей компенсации движения. Во время интеркадра, поскольку опорное изображение, которое можно выбрать, является одним кадром, один идентификационный номер опорного изображения мультиплексируется для каждого блок. Пара фрагментов информации вектора движения мультиплексируется на информацию вектора движения для каждого блока, служащего единицей компенсации движения. Количество идентификационных номеров опорного изображения и фрагментов информации вектора движения, которые нужно мультиплексировать, эквивалентно количеству блоков, служащих единицами компенсации движения, включенными в макроблок. Когда флаг 123 идентификации общего использования режима интерпрогнозирования указывает "общий для C0, C1 и C2", идентификационный номер 132 базового опорного изображения и информация 133 базового вектора движения указывают идентификационный номер общего опорного изображения и информацию общего вектора движения. В противном случае идентификационный номер 132 базового опорного изображения и информация 133 базового вектора движения указывают идентификационный номер опорного изображения и информацию вектора движения для C0. Идентификационный номер 134 расширенного опорного изображения и информация 135 расширенного вектора движения мультиплексируются для C1 и C2 соответственно, только когда флаг 123 идентификации общего использования режима интерпрогнозирования указывает "не общий для C0, C1 и C2". Идентификационный номер 134 расширенного опорного изображения и информация 135 расширенного вектора движения указывают идентификационный номер опорного изображения и информацию вектора движения для C1 и C2.The reference image identification number is information for indicating a reference image selected for each block greater than or equal to the size of an 8 × 8 block serving as a unit of motion compensation. During the inter-frame, since the reference image that can be selected is one frame, one identification number of the reference image is multiplexed for each block. A pair of pieces of motion vector information is multiplexed by motion vector information for each block serving as a unit of motion compensation. The number of reference image identification numbers and pieces of motion vector information that need to be multiplexed is equivalent to the number of blocks serving as motion compensation units included in the macroblock. When the inter-prediction mode common use identification flag 123 indicates “common to C0, C1 and C2”, the basic reference image identification number 132 and the basic motion vector information 133 indicate the common reference image identification number and common motion vector information. Otherwise, the reference reference image identification number 132 and the basic motion vector information 133 indicate the reference image identification number and the motion vector information for C0. The extended reference image identification number 134 and the extended motion vector information 135 are multiplexed for C1 and C2, respectively, only when the inter-prediction mode common use identification flag 123 indicates “not common for C0, C1 and C2”. The reference reference image identification number 134 and the extended motion vector information 135 indicate the reference image identification number and the motion vector information for C1 and C2.

Затем параметр квантования 21 и квантованный коэффициент преобразования 10 мультиплексируются. (Хотя флаг 24 управления разблокирующим фильтром, введенный в блок 11 кодирования с переменной длиной слова, показанный на фиг.30, не включен в фиг.34, флаг 24 управления разблокирующим фильтром опущен, поскольку флаг не является компонентом, необходимым для пояснения характеристик седьмого варианта осуществления.)Then, the quantization parameter 21 and the quantized transform coefficient 10 are multiplexed. (Although the enable filter control flag 24 entered in the variable-length encoding unit 11 shown in FIG. 30 is not included in FIG. 34, the enable filter control flag 24 is omitted because the flag is not a component necessary to explain the characteristics of the seventh embodiment implementation.)

В формате 4:2:0, принятом в традиционном стандарте кодирования видеосигнала, определение цветовых пространств зафиксировано на Y, Cb и Cr. В формате 4:4:4 определение цветовых пространств не ограничивается Y, Cb и Cr, но можно использовать различные цветовые пространства. Формируя информацию режима интерпрогнозирования, как показано на фиг.34, можно осуществлять оптимальную обработку кодирования, даже когда определение цветовых пространств входного видеосигнала 1 различно. Например, когда цветовые пространства определены как RGB, в области, где структура видеотекстуры одинаково остается в соответствующих компонентах R, G и B, используя информацию общего режима интерпрогнозирования и информацию общего вектора движения, можно сократить избыточность информации режима интерпрогнозирования и самой информации вектора движения и повысить эффективность кодирования. С другой стороны, когда цветовые пространства определены как Y, Cb и Cr, структура видеотекстуры интегрируется в Y. Таким образом, общий режим интерпрогнозирования не всегда дает оптимальный результат. Таким образом, можно получить оптимальную эффективность кодирования, адаптивно используя расширенный режим интрапрогнозирования 30. С другой стороны, например, в области (компонент R равен 0) без оттенка красного, информация оптимального режима интерпрогнозирования и оптимального вектора для компонента R и информация оптимального режима интерпрогнозирования и оптимального вектора движения для компонентов G и B должны быть разными. Таким образом, можно получить оптимальную эффективность кодирования, адаптивно используя расширенный режим интерпрогнозирования, информацию идентификации расширенного опорного изображения и информацию расширенного вектора движения.In the 4: 2: 0 format, adopted in the traditional video coding standard, the definition of color spaces is fixed to Y, Cb and Cr. In the 4: 4: 4 format, the definition of color spaces is not limited to Y, Cb, and Cr, but various color spaces can be used. By generating the information of the inter prediction mode as shown in FIG. 34, it is possible to carry out optimal coding processing even when the determination of the color spaces of the input video signal 1 is different. For example, when color spaces are defined as RGB, in the area where the structure of the video texture equally remains in the corresponding components R, G, and B, using the information of the general inter prediction mode and the information of the general motion vector, we can reduce the redundancy of the information of the inter prediction mode and the information of the motion vector itself and increase coding efficiency. On the other hand, when color spaces are defined as Y, Cb, and Cr, the structure of the video texture is integrated into Y. Thus, the general inter-prediction mode does not always give an optimal result. Thus, it is possible to obtain optimal coding efficiency by adaptively using the advanced intra-prediction mode 30. On the other hand, for example, in an area (component R is 0) without a hue of red, information of the optimal inter-prediction mode and the optimal vector for the component R and information of the optimal inter-prediction mode and The optimal motion vectors for components G and B should be different. Thus, it is possible to obtain optimum coding efficiency by adaptively using the advanced inter prediction mode, identification information of the extended reference image, and information of the extended motion vector.

3. Описание работы декодера3. Description of the decoder

Декодер, показанный на фиг.31, принимает видеопоток 22, отвечающий массиву, показанному на фиг.34, выводимый из кодера, показанного на фиг.30, осуществляет обработку декодирования в единицах макроблоков, в которых три цветовых компонента имеют идентичный размер (формат 4:4:4), и восстанавливает соответствующие видеокадры.The decoder shown in Fig. 31 receives a video stream 22 corresponding to the array shown in Fig. 34, output from the encoder shown in Fig. 30, performs decoding processing in units of macroblocks in which the three color components have the same size (format 4: 4: 4), and restores the corresponding video frames.

Сначала блок 25 декодирования с переменной длиной слова получает поток 22, декодирует видеопоток 22 в соответствии с заранее определенным правилом (синтаксисом) и извлекает информацию, включающую в себя флаг 123 идентификации общего использования режима интерпрогнозирования, квантованный коэффициент преобразования 10, тип макроблока/тип субмакроблока 106, идентификационный номер опорного изображения, информацию вектора движения и параметр квантования 21. Квантованный коэффициент преобразования 10 вводится в блок обратного квантования 12 совместно с параметром квантования 21, и осуществляется обработка обратного квантования. Затем выходной сигнал блока обратного квантования 12 вводится в блок обратного преобразования 13 и восстанавливается до разностного сигнала прогнозирования локального декодирования 14. С другой стороны, тип макроблока/тип субмакроблока 106 и флаг 123 идентификации общего использования режима интерпрогнозирования вводятся в блок 102 прогнозирования компенсации движения. Блок 102 прогнозирования компенсации движения получает прогнозируемое изображение 7 в соответствии с этими фрагментами информации. Ниже будет описана конкретная процедура для получения прогнозируемого изображения 7. Разностный сигнал прогнозирования локального декодирования 14 и прогнозируемое изображение 7 суммируются сумматором 18 для получения внутренне декодированного изображения 15 (это полностью такой же сигнал, как локально декодированное изображение 15 в кодере). Внутренне декодированное изображение 15 записывается обратно в память 16 для последующего использования при прогнозировании с компенсацией движения для макроблока. Три блока памяти подготавливаются для соответствующих цветовых компонентов (хотя в объяснении этого варианта осуществления подготавливаются три блока памяти, количество блоков памяти можно соответственно изменять согласно конструкции). Разблокирующий фильтр 26 получает команду воздействовать на внутренне декодированное изображение 15 на основании указания флага 24 управления разблокирующим фильтром, декодированного блоком 25 декодирования с переменной длиной слова, для получения окончательного декодированного изображения 27.First, the variable-length decoding unit 25 receives a stream 22, decodes the video stream 22 in accordance with a predetermined rule (syntax), and extracts information including an inter prediction mode common use identification flag 123, a quantized transform coefficient 10, a macroblock type / sub-macroblock type 106 , reference picture identification number, motion vector information, and quantization parameter 21. The quantized transform coefficient 10 is input to the inverse quantization block 12 estno with the quantization parameter 21 and inverse quantization processing is performed. Then, the output signal of the inverse quantization unit 12 is input to the inverse transform unit 13 and restored to the local decoding prediction differential signal 14. On the other hand, the macroblock type / sub-macroblock type 106 and the inter-prediction mode common use identification flag 123 are input to the motion compensation prediction unit 102. Block 102 predicting motion compensation receives the predicted image 7 in accordance with these pieces of information. The specific procedure for obtaining the predicted image 7 will be described below. The local decoding prediction difference signal 14 and the prediction image 7 are summed by the adder 18 to obtain an internally decoded image 15 (this is completely the same signal as the locally decoded image 15 in the encoder). The internally decoded image 15 is written back to the memory 16 for later use in motion compensation prediction for the macroblock. Three memory blocks are prepared for the respective color components (although three memory blocks are prepared in the explanation of this embodiment, the number of memory blocks can accordingly be changed according to the design). The unlocking filter 26 is instructed to act on the internally decoded image 15 based on the indication of the unlocking filter control flag 24, decoded by the variable-length decoding unit 25, to obtain the final decoded image 27.

2. Обработка декодирования интерпрогнозирования в декодере2. Inter prediction decoding processing in a decoder

Декодер, показанный фиг.31, принимает видеопоток 22, отвечающий массиву, показанному на фиг.34, выводимый из кодера, показанного на фиг.30, осуществляет обработку декодирования в единицах макроблоков с идентичным размером (формат 4:4:4) для трех цветовых компонентов и восстанавливает соответствующие видеокадры.The decoder shown in Fig. 31 receives a video stream 22 corresponding to the array shown in Fig. 34, output from the encoder shown in Fig. 30, performs decoding processing in units of macroblocks with the same size (4: 4: 4 format) for three color components and restores the corresponding video frames.

Ниже подробно описана обработка генерации интерпрогнозируемого изображения, которая является характеристикой декодера согласно седьмому варианту осуществления. Эта обработка осуществляется в единицах макроблоков, в которых размещены три цветовых компонента. Обработка осуществляется, в основном, блоком 25 декодирования с переменной длиной слова и блоком 102 прогнозирования компенсации движения в декодере, показанном на фиг.31. Логическая блок-схема хода обработки, осуществляемой блоком 25 декодирования с переменной длиной слова, показана на фиг.35.Described in detail below is an inter-predicted image generation processing that is a characteristic of a decoder according to a seventh embodiment. This processing is carried out in units of macroblocks in which three color components are placed. The processing is carried out mainly by the variable-length decoding unit 25 and the motion compensation prediction unit 102 in the decoder shown in FIG. The logical flowchart of the processing carried out by the variable-length decoding unit 25 is shown in FIG. 35.

Видеопоток 22, вводимый в блок 25 декодирования с переменной длиной слова, согласуется с массивом данных, показанным на фиг.34. На этапе S110 блок 25 декодирования с переменной длиной слова декодирует флаг 123 идентификации общего использования режима интерпрогнозирования для данных, показанных на фиг.34 (этап S110). Блок 25 декодирования с переменной длиной слова дополнительно декодирует базовый тип 128 макроблока и базовый тип 129 субмакроблока (этап S111). На этапе S112 блок 25 декодирования с переменной длиной слова принимает решение, используется ли режим интерпрогнозирования совместно для C0, C1 и C2, на основании результата флага 123 идентификации общего использования режима интерпрогнозирования. Когда режим интерпрогнозирования используется совместно для C0, C1 и C2 (Да на этапе S112), блок 25 декодирования с переменной длиной слова использует базовый тип 128 макроблока и базовый тип 129 субмакроблока для всех C0, C1 и C2. В противном случае (Нет на этапе S112) блок 25 декодирования с переменной длиной слова использует базовый тип 128 макроблока и базовый тип 129 субмакроблока в качестве режима для C0. Блок 25 декодирования с переменной длиной слова декодирует расширенный тип 130 макроблока и расширенный тип 131 субмакроблока для C1 и C2 соответственно (этап S113) для получения информации режима интерпрогнозирования для C1 и C2. Блок 25 декодирования с переменной длиной слова декодирует идентификационный номер 132 базового опорного изображения и информацию 133 базового вектора движения (этап S114). Когда флаг 123 идентификации общего использования режима интерпрогнозирования указывает "используется совместно для C0, C1 и C2" (Да на этапе S115) блок 25 декодирования с переменной длиной слова использует идентификационный номер 132 базового опорного изображения и информацию 133 базового вектора движения для всех C0, C1 и C2. В противном случае (Нет на этапе S115), блок 25 декодирования с переменной длиной слова использует идентификационный номер 132 базового опорного изображения и информацию 133 базового вектора движения в качестве информации для C0. Блок 25 декодирования с переменной длиной слова декодирует идентификационный номер 134 расширенного опорного изображения и информацию 135 расширенного вектора движения для C1 и C2 соответственно (этап S116). Типы 106 макроблока, идентификационные номера опорного изображения и информация вектора движения для соответствующих цветовых компонентов устанавливаются на этапах обработки. Таким образом, блок 25 декодирования с переменной длиной слова выводит типы макроблока 106, идентификационные номера опорного изображения и информацию вектора движения на блок 102 прогнозирования компенсации движения для получения прогнозируемых изображений с компенсацией движения соответствующих цветовых компонентов.The video stream 22 introduced into the variable-length decoding unit 25 is consistent with the data array shown in FIG. 34. In step S110, the variable-length decoding unit 25 decodes the inter-prediction mode common use identification flag 123 for the data shown in FIG. 34 (step S110). The variable-length decoding unit 25 further decodes the base macroblock type 128 and the sub-macroblock base type 129 (step S111). In step S112, the variable-length decoding unit 25 decides whether the inter prediction mode is used together for C0, C1, and C2 based on the result of the identification flag 123 of the common use of the inter prediction mode. When the inter prediction mode is used together for C0, C1, and C2 (Yes in step S112), the variable word length decoding unit 25 uses the base macroblock type 128 and the submacroblock base type 129 for all C0, C1, and C2. Otherwise (No in step S112), the variable-length decoding unit 25 uses the base macroblock type 128 and the sub-macroblock base type 129 as the mode for C0. The variable-length decoding unit 25 decodes the extended macroblock type 130 and the extended sub-macroblock type 131 for C1 and C2, respectively (step S113) to obtain inter prediction mode information for C1 and C2. The variable word length decoding unit 25 decodes the identification number 132 of the basic reference image and the basic motion vector information 133 (step S114). When the inter-prediction mode common use identification flag 123 indicates “shared between C0, C1, and C2” (Yes in step S115), the variable-length decoding unit 25 uses the basic reference image identification number 132 and the basic motion vector information 133 for all C0, C1 and C2. Otherwise (No in step S115), the variable-length decoding unit 25 uses the base reference image identification number 132 and the basic motion vector information 133 as information for C0. The variable-length decoding unit 25 decodes the extended reference image identification number 134 and the extended motion vector information 135 for C1 and C2, respectively (step S116). Macroblock types 106, reference image identification numbers, and motion vector information for the respective color components are set in the processing steps. Thus, the variable-length decoding unit 25 outputs macroblock types 106, reference image identification numbers and motion vector information to the motion compensation prediction unit 102 to obtain predicted motion-compensated images of the respective color components.

Вариации массива данных битового потока, показанного на фиг.34, показаны на фиг.36. На фиг.36 флаг 123 идентификации общего использования режима интерпрогнозирования мультиплексируется как флаг, расположенный на более высоком уровне данных, например на уровне среза, изображения или последовательности, а не как флаг на уровне макроблоков. Следовательно, когда возможно обеспечить достаточную эффективность прогнозирования согласно изменению на более высоком уровне, равном или более высоком, чем уровень среза, можно сократить бит служебной информации без мультиплексирования флага 123 идентификации общего использования режима прогнозирования на уровне макроблоков каждый раз при осуществлении обработки.Variations in the bitstream data array shown in FIG. 34 are shown in FIG. In Fig. 36, the common prediction mode identification flag 123 is multiplexed as a flag located at a higher data level, for example, at a slice, image or sequence level, and not as a flag at the macroblock level. Therefore, when it is possible to ensure sufficient prediction efficiency according to a change at a higher level equal to or higher than the cutoff level, it is possible to reduce the overhead bit without multiplexing the flag 123 for identifying the general use of the prediction mode at the macroblock level each time the processing is performed.

На фиг.34 и 36 флаг 123 идентификации общего использования режима интерпрогнозирования мультиплексируется на каждый макроблок или более высокий уровень данных, например срез, изображение или последовательность. Когда кодирование осуществляется в формате 4:4:4 без мультиплексирования флага 123 идентификации общего использования режима интерпрогнозирования, всегда можно использовать разные режимы интерпрогнозирования и информацию вектора движения для соответствующих компонентов. Массив данных битового потока в этом случае показан на фиг.37. На фиг.37 флаг 123 идентификации общего использования режима интерпрогнозирования отсутствует, и информация 136 профиля, указывающая, что обрабатывается входное изображение в формате 4:4:4, мультиплексируется на данные более высокого уровня, например последовательность. Расширенный тип 130 макроблока, расширенный тип 131 субмакроблока, идентификационный номер 134 расширенного опорного изображения и информация 135 расширенного вектора движения мультиплексируются согласно результату декодирования информации профиля.34 and 36, an inter prediction mode common use identification flag 123 is multiplexed to each macroblock or higher level of data, such as a slice, image, or sequence. When encoding is carried out in a 4: 4: 4 format without multiplexing the flag 123 for identifying the common use of the inter prediction mode, different inter prediction modes and motion vector information for the respective components can always be used. The data stream of the bitstream in this case is shown in Fig.37. 37, there is no flag 123 for identifying the general use of the inter prediction mode, and profile information 136 indicating that the input image is being processed in a 4: 4: 4 format is multiplexed to higher-level data, for example, a sequence. The extended macroblock type 130, the extended sub-macroblock type 131, the extended reference image identification number 134, and the extended motion vector information 135 are multiplexed according to the result of decoding the profile information.

Восьмой вариант осуществленияEighth Embodiment

Согласно седьмому варианту осуществления тип макроблока/тип субмакроблока, вектор движения и опорное изображение можно варьировать для каждого из цветовых компонентов. Согласно восьмому варианту осуществления будут описаны видеокодер и видеодекодер, отличающиеся способностью задавать тип макроблока/тип субмакроблока, общий для соответствующих компонентов, и варьировать только вектор движения для каждого из компонентов. Структуры видеокодера и видеодекодера согласно восьмому варианту осуществления такие же, как на фиг.30 и 31 согласно седьмому варианту осуществления. Однако структуры отличаются тем, что вместо флага 123 идентификации общего использования режима интерпрогнозирования используется флаг 123b идентификации общего использования вектора движения.According to a seventh embodiment, the macroblock type / submacroblock type, the motion vector and the reference image can be varied for each of the color components. According to an eighth embodiment, a video encoder and a video decoder will be described, characterized by their ability to set the macroblock type / sub-macroblock type common to the respective components, and vary only the motion vector for each of the components. The structures of the video encoder and video decoder according to the eighth embodiment are the same as those in FIGS. 30 and 31 according to the seventh embodiment. However, the structures are different in that instead of the flag 123 identifying the common use of the inter prediction mode, the flag 123b identifying the common use of the motion vector is used.

1. Обработка принятия решения относительно режима интерпрогнозирования в кодере1. Decision processing regarding an inter prediction mode in an encoder

Обработка принятия решения относительно режима интерпрогнозирования, которая является характеристикой кодера согласно восьмому варианту осуществления, будет подробно описана с упором на обработку, отличную от обработки согласно седьмому варианту осуществления.Decision processing for the inter-prediction mode, which is a characteristic of the encoder according to the eighth embodiment, will be described in detail with reference to processing other than that of the seventh embodiment.

2. Обработка принятия решения относительно режима интерпрогнозирования в кодере2. Decision processing regarding the inter prediction mode in the encoder

Обработка осуществляется в единицах макроблоков, полученных размещением трех цветовых компонентов. Обработка осуществляется, в основном, блоком 102 прогнозирования компенсации движения и блоком 5 принятия решения относительно режима кодирования в кодере, показанном на фиг.30. Логическая блок-схема, демонстрирующая ход обработки, показана на фиг.38. Данные изображения трех цветовых компонентов, образующих блок, именуются ниже C0, C1 и C2.Processing is carried out in units of macroblocks obtained by placing three color components. The processing is carried out mainly by the motion compensation prediction unit 102 and the decision unit 5 regarding the encoding mode in the encoder shown in FIG. 30. A logical flowchart showing the progress of processing is shown in FIG. 38. Image data of the three color components forming the block are referred to below as C0, C1, and C2.

Прежде всего, блок 5 принятия решения относительно режима кодирования принимает флаг 123b идентификации общего использования вектора движения и принимает решение на основании значения флага 123b идентификации общего использования вектора движения, используется ли общий вектор движения 137 для C0, C1 и C2 (этап S120 на фиг.37). При использовании общего вектора движения 137 блок 5 принятия решения относительно режима кодирования переходит к этапу S121 и последующим этапам. В противном случае блок 5 принятия решения относительно режима кодирования переходит к этапу S122 и последующим этапам.First of all, the coding mode decision block 5 receives the motion vector common use identification flag 123b and makes a decision based on the value of the common motion vector common use identification flag 123b whether the common motion vector 137 is used for C0, C1 and C2 (step S120 in FIG. 37). When using the common motion vector 137, the decision block 5 regarding the encoding mode proceeds to step S121 and subsequent steps. Otherwise, the decision block 5 regarding the encoding mode proceeds to step S122 and subsequent steps.

Когда вектор движения 137 используется совместно для C0, C1 и C2 блок 5 принятия решения относительно режима кодирования извещает блок 102 прогнозирования компенсации движения обо всех режимах интерпрогнозирования, диапазонах поиска вектора движения и опорных изображениях, которые можно выбрать. Блок 102 прогнозирования компенсации движения оценивает эффективности прогнозирования для всех режимов интерпрогнозирования, диапазонов поиска вектора движения и опорных изображений и выбирает оптимальный режим интерпрогнозирования, оптимальный вектор движения 137 и оптимальные опорные изображения, общие для C0, C1 и C2 (этап S121).When the motion vector 137 is shared between C0, C1, and C2, the coding mode decision block 5 notifies the motion compensation prediction block 102 of all the inter prediction modes, motion vector search ranges, and reference pictures that can be selected. Motion compensation prediction unit 102 estimates the prediction efficiency for all inter-prediction modes, motion vector search ranges and reference images, and selects an optimal inter-prediction mode, optimal motion vector 137, and optimal reference images common to C0, C1, and C2 (step S121).

Когда вектор движения 137 не используется совместно для C0, C1 и C2 и наилучшие векторы движения выбираются для C0, C1 и C2 соответственно, блок 5 принятия решения относительно режима кодирования извещает блок 102 прогнозирования компенсации движения обо всех режимах интерпрогнозирования, диапазонах поиска вектора движения и опорных изображениях, которые можно выбрать. Блок 102 прогнозирования компенсации движения оценивает эффективности прогнозирования для всех режимов интерпрогнозирования, диапазонов поиска вектора движения и опорных изображений и выбирает оптимальный режим интерпрогнозирования и оптимальное опорное изображение (этап 122) и дополнительно оптимальный вектор движения в компонентах Ci (i<=0<3) (этапы S123, S124 и S125).When the motion vector 137 is not shared between C0, C1, and C2 and the best motion vectors are selected for C0, C1, and C2, respectively, the coding mode decision block 5 notifies the motion compensation prediction block 102 of all the inter prediction modes, motion vector search ranges, and reference images that can be selected. The motion compensation prediction unit 102 estimates the prediction efficiency for all inter-prediction modes, motion vector search ranges and reference images and selects the optimal inter-prediction mode and the optimal reference image (step 122) and additionally the optimal motion vector in the components Ci (i <= 0 <3) ( steps S123, S124, and S125).

Необходимо мультиплексировать флаг 123b идентификации общего использования вектора движения в битовый поток и обеспечить возможность распознавания флага 123b идентификации общего использования вектора движения на стороне декодера. Массив данных такого битового потока показан на фиг.39.It is necessary to multiplex the motion vector common use identification flag 123b into the bitstream and enable the motion vector common use identification flag 123b to be recognized on the decoder side. An array of data of such a bitstream is shown in FIG.

Массив данных битового потока на уровне макроблоков показан на фиг.39. Тип 128b макроблока, тип 129b субмакроблока и идентификационный номер 132b опорного изображения являются "общими для C0, C1 и C2". Когда флаг 123b идентификации общего использования вектора движения указывает "общий для C0, C1 и C2", информация 133 базового вектора движения указывает информацию общего вектора движения. В противном случае информация 133 базового вектора движения указывает информацию вектора движения для C0. Только когда флаг 123b идентификации общего использования вектора движения указывает "не общий для C0, C1 и C2", информация 135 расширенного вектора движения мультиплексируется для C1 и C2 соответственно и указывает информацию вектора движения для C1 и C2. Тип макроблока/тип субмакроблока 106, показанные на фиг.30 и 31, являются общим членом типа 128b макроблока и типа 129b субмакроблока, показанных на фиг.39.The data stream of the bitstream at the macroblock level is shown in Fig. 39. The macroblock type 128b, the sub macroblock type 129b, and the reference picture identification number 132b are “common to C0, C1, and C2”. When the motion vector common use identification flag 123b indicates "common to C0, C1 and C2", the basic motion vector information 133 indicates common motion vector information. Otherwise, the basic motion vector information 133 indicates the motion vector information for C0. Only when the motion vector common use identification flag 123b indicates "not common to C0, C1 and C2", the extended motion vector information 135 is multiplexed for C1 and C2, respectively, and indicates the motion vector information for C1 and C2. The macroblock type / sub-macroblock type 106 shown in FIGS. 30 and 31 are a common member of the macroblock type 128b and the sub-macroblock type 129b shown in FIG. 39.

2. Обработка декодирования интерпрогнозирования в декодере2. Inter prediction decoding processing in a decoder

Декодер согласно восьмому варианту осуществления принимает видеопоток 22, отвечающий массиву, показанному на фиг.39, выводимый из кодера согласно восьмому варианту осуществления, осуществляет обработку декодирования в единицах макроблоков с идентичным размером (формат 4:4:4) для трех цветовых компонентов и восстанавливает соответствующие видеокадры.The decoder according to the eighth embodiment receives the video stream 22 corresponding to the array shown in Fig. 39, output from the encoder according to the eighth embodiment, performs decoding processing in units of macroblocks with the same size (4: 4: 4 format) for the three color components and restores the corresponding video frames.

Обработка генерации интерпрогнозируемого изображения, которая является характеристикой декодера согласно восьмому варианту осуществления, будет подробно описана с упором на обработку, отличную от обработки согласно седьмому варианту осуществления. Эта обработка осуществляется в единицах макроблоков, в которых размещены три цветовых компонента. Обработка осуществляется, в основном, блоком 25 декодирования с переменной длиной слова и блоком 102 прогнозирования компенсации движения в декодере, показанном на фиг.31. Логическая блок-схема хода обработки, осуществляемой блоком 25 декодирования с переменной длиной слова, показана на фиг.40.Inter prediction image generation processing, which is a characteristic of a decoder according to the eighth embodiment, will be described in detail with reference to processing other than that of the seventh embodiment. This processing is carried out in units of macroblocks in which three color components are placed. The processing is carried out mainly by the variable-length decoding unit 25 and the motion compensation prediction unit 102 in the decoder shown in FIG. A logical flowchart of the processing carried out by the variable-length decoding unit 25 is shown in FIG. 40.

Видеопоток 22, вводимый в блок 25 декодирования с переменной длиной слова, согласуется с массивом данных, показанным на фиг.39. На этапе S126 блок 25 декодирования с переменной длиной слова декодирует тип 128b макроблока и тип 129b субмакроблока, общие для C0, C1 и C2. Размер блока, служащего единицей компенсации движения, зависит от декодированных типа 128b макроблока или типа 129b субмакроблока. Таким образом, блок 25 декодирования с переменной длиной слова декодирует идентификационный номер 132b опорного изображения, общий для C0, C1 и C2, для каждого блока, служащего единицей компенсации движения (этап S127). На этапе S128 блок 25 декодирования с переменной длиной слова декодирует флаг 123b идентификации общего использования вектора движения. Затем блок 25 декодирования с переменной длиной слова декодирует информацию 133 базового вектора движения для каждого блока, служащего единицей компенсации движения (этап S129). На этапе S130 блок 25 декодирования с переменной длиной слова принимает решение, используется ли вектор движения 137 совместно для C0, C1 и C2 с использованием результата флага 123b идентификации общего использования вектора движения. Когда вектор движения 137 используется совместно (Да на этапе S130) блок 25 декодирования с переменной длиной слова использует информацию базового вектора движения для всех C0, C1 и C2. В противном случае (Нет на этапе S130) блок 25 декодирования с переменной длиной слова использует информацию 133 базового вектора движения в качестве режима для C0 и декодирует информацию 135 расширенного вектора движения для C1 и C2, соответственно (этап S131). Поскольку типы макроблока/типы субмакроблока 106, идентификационные номера опорных изображений и информация вектора движения для соответствующих цветовых компонентов устанавливаются на этапах обработки, блок 25 декодирования с переменной длиной слова выводит типы макроблока/типы субмакроблока 106, идентификационные номера опорных изображений и информацию вектора движения на блок 102 прогнозирования компенсации движения для получения прогнозируемого изображения с компенсацией движения для соответствующих цветовых компонентов.The video stream 22 input to the variable-length decoding unit 25 is consistent with the data array shown in FIG. In step S126, the variable-length decoding unit 25 decodes the macroblock type 128b and the sub-macroblock type 129b common to C0, C1, and C2. The size of the block serving as the motion compensation unit depends on the decoded macroblock type 128b or submacroblock type 129b. Thus, the variable-length decoding unit 25 decodes a reference image identification number 132b common to C0, C1, and C2 for each unit serving as a motion compensation unit (step S127). In step S128, the variable-length decoding unit 25 decodes the motion vector common use identification flag 123b. Then, the variable-length decoding unit 25 decodes the basic motion vector information 133 for each unit serving as a motion compensation unit (step S129). In step S130, the variable-length decoding unit 25 decides whether motion vector 137 is used together for C0, C1, and C2 using the result of the flag 123b for identifying the common use of the motion vector. When the motion vector 137 is shared (Yes in step S130), the variable-length decoding unit 25 uses the basic motion vector information for all C0, C1, and C2. Otherwise (No in step S130), the variable-length decoding unit 25 uses the basic motion vector information 133 as a mode for C0 and decodes the extended motion vector information 135 for C1 and C2, respectively (step S131). Since macroblock types / submacroblock types 106, reference image identification numbers and motion vector information for the respective color components are set in the processing steps, the variable word length decoding unit 25 outputs macroblock types / submacroblock types 106, reference image identification numbers and motion vector information to the block 102 predicting motion compensation to obtain a predicted image with motion compensation for the respective color components.

Вариации массива данных битового потока, показанного на фиг.39, показаны на фиг.41. Согласно фиг.39 флаг 123b идентификации общего использования вектора движения мультиплексируется как флаг, расположенный на более высоком уровне данных, например на уровне среза, изображения или последовательности, а не как флаг на уровне макроблоков. Следовательно, когда возможно обеспечить достаточную эффективность прогнозирования согласно изменению на более высоком уровне, равном или более высоком, чем уровень среза, можно сократить бит служебной информации без мультиплексирования флага 123b идентификации общего использования вектора движения на уровне макроблоков каждый раз при осуществлении обработки.Variations in the data stream of the bitstream shown in Fig. 39 are shown in Fig. 41. According to FIG. 39, the motion vector common use identification flag 123b is multiplexed as a flag located at a higher data level, for example at a slice, image or sequence level, and not as a macroblock flag. Therefore, when it is possible to provide sufficient prediction efficiency according to a change at a higher level equal to or higher than the slice level, it is possible to reduce the overhead bit without multiplexing the flag 123b identifying the total use of the motion vector at the macroblock level each time the processing is performed.

Согласно фиг.39 и 41 флаг 123b идентификации общего использования вектора движения мультиплексируется на каждый макроблок или более высокий уровень данных, например срез, изображение или последовательность. Когда кодирование осуществляется в формате 4:4:4 без мультиплексирования, флаг 123b идентификации общего использования вектора движения, другую информацию вектора движения всегда можно использовать для соответствующих компонентов. Массив данных битового потока в этом случае показан на фиг.42. На фиг.42 флаг 123b идентификации общего использования вектора движения отсутствует, и информация 136 профиля, указывающая, что обрабатывается входное изображение в формате 4:4:4, мультиплексируется на данные более высокого уровня, например последовательность. Информация 135 расширенного вектора движения мультиплексируется согласно результату декодирования информации профиля 136.Referring to FIGS. 39 and 41, the motion vector common use identification flag 123b is multiplexed to each macroblock or higher level of data, such as a slice, image, or sequence. When encoding is carried out in a 4: 4: 4 format without multiplexing, the flag 123b identifying the common use of the motion vector, other information of the motion vector can always be used for the respective components. The data stream of the bitstream in this case is shown in Fig. 42. 42, there is no flag 123b for identifying the common use of the motion vector, and profile information 136 indicating that the input image in 4: 4: 4 format is being processed is multiplexed to higher-level data, for example, a sequence. The extended motion vector information 135 is multiplexed according to the result of decoding the profile information 136.

Согласно восьмому варианту осуществления тип макроблока/тип субмакроблока 106 и опорное изображение являются общими для соответствующих цветовых компонентов, и только вектор движения 137 может варьироваться для каждого из цветовых компонентов. Следовательно, когда достаточная эффективность прогнозирования получается путем адаптации только вектора движения 137 к соответствующим цветовым компонентам, можно сократить биты служебной информации без мультиплексирования типа макроблока/типа субмакроблока 106 и идентификационного номера опорного изображения для каждого из цветовых компонентов.According to an eighth embodiment, the macroblock type / sub-macroblock type 106 and the reference image are common to the respective color components, and only the motion vector 137 can vary for each of the color components. Therefore, when sufficient prediction efficiency is obtained by adapting only the motion vector 137 to the corresponding color components, overhead bits can be reduced without multiplexing the macroblock type / sub-macroblock type 106 and the reference image identification number for each of the color components.

Девятый вариант осуществленияNinth Embodiment

Согласно седьмому варианту осуществления можно принять решение, используются ли тип макроблока/тип субмакроблока 106, вектор движения 137 и опорное изображение совместно для трех компонентов или изменяются для каждого из цветовых компонентов согласно флагу 123 идентификации общего использования режима интерпрогнозирования или информации профиля 136. Однако согласно девятому варианту осуществления, предполагая, что изображение в формате 4:4:4 отвечает формату Y, Cb, Cr, можно принять решение, используются ли разные режимы для компонента яркости (Y) и цветоразностного компонента (Cb, Cr) (в этом случае общий режим используется для двух компонентов из цветоразностных компонентов). Будут объяснены видеокодер и видеодекодер, отличающиеся способностью принимать решение, используется ли общий режим для трех компонентов, используются ли разные режимы из соответствующих компонентов или используются разные режимы для компонентов яркости и цветоразностных компонентов. Структуры видеокодера и видеодекодера согласно девятому варианту осуществления идентичны показанным на фиг.30 и 31 согласно седьмому варианту осуществления.According to the seventh embodiment, a decision can be made whether the macroblock type / sub-macroblock type 106, the motion vector 137 and the reference image are used together for the three components or are changed for each of the color components according to the common use identification flag 123 of the inter prediction mode or profile information 136. However, according to the ninth to the embodiment, assuming that the 4: 4: 4 image corresponds to the Y, Cb, Cr format, it can be decided whether different modes are used for the brightness component (Y) and the color difference component (Cb, Cr) (in this case, the common mode is used for two components from the color difference components). A video encoder and a video decoder will be explained, differing in their ability to decide whether the common mode for the three components is used, whether different modes from the corresponding components are used, or different modes are used for the brightness components and color difference components. The structures of the video encoder and video decoder according to the ninth embodiment are identical to those shown in FIGS. 30 and 31 according to the seventh embodiment.

1. Обработка принятия решения относительно режима интерпрогнозирования в кодере1. Decision processing regarding an inter prediction mode in an encoder

Обработка принятия решения относительно режима интерпрогнозирования, которая является характеристикой кодера согласно девятому варианту осуществления, будет подробно описана с упором на обработку, отличную от обработки согласно седьмому варианту осуществления.Decision processing for the inter prediction mode, which is a characteristic of the encoder according to the ninth embodiment, will be described in detail with reference to processing other than that of the seventh embodiment.

Обработка осуществляется в единицах макроблоков, полученных размещением трех цветовых компонентов. Обработка осуществляется, в основном, блоком 102 прогнозирования компенсации движения и блоком 5 принятия решения относительно режима кодирования в кодере, показанном на фиг.30. Логическая блок-схема, демонстрирующая ход обработки, показана на фиг.43. Данные изображения трех цветовых компонентов, образующих блок, именуются ниже C0, C1 и C2.Processing is carried out in units of macroblocks obtained by placing three color components. The processing is carried out mainly by the motion compensation prediction unit 102 and the decision unit 5 regarding the encoding mode in the encoder shown in FIG. 30. A logical flowchart showing the progress of processing is shown in FIG. 43. Image data of the three color components forming the block are referred to below as C0, C1, and C2.

Прежде всего, блок 5 принятия решения относительно режима кодирования принимает флаг 123 идентификации общего использования режима интерпрогнозирования и принимает решение на основании значения флага 123 идентификации общего использования режима интерпрогнозирования, используются ли общий режим интерпрогнозирования, общий вектор движения 137 и общее опорное изображение для C0, C1 и C2 (этап S132 на фиг.43). Когда режим интерпрогнозирования, вектор движения 137 и опорное изображение используются совместно, блок 5 принятия решения относительно режима кодирования переходит к этапу S133 и последующим этапам. В противном случае блок 5 принятия решения относительно режима кодирования переходит к этапу S134 и последующим этапам или к этапу 137 и последующим этапам.First of all, the decision block 5 regarding the coding mode receives the general prediction mode identification flag 123 and makes a decision based on the value of the common prediction mode identification flag 123 whether the common inter prediction mode, the common motion vector 137, and the common reference image for C0, C1 are used and C2 (step S132 in FIG. 43). When the inter prediction mode, the motion vector 137 and the reference image are used together, the decision block 5 regarding the encoding mode proceeds to step S133 and the subsequent steps. Otherwise, the decision block 5 regarding the encoding mode proceeds to step S134 and subsequent steps, or to step 137 and subsequent steps.

Когда режим интерпрогнозирования, вектор движения 137 и опорное изображение используются совместно для C0, C1 и C2, блок 5 принятия решения относительно режима кодирования извещает блок 102 прогнозирования компенсации движения обо всех режимах интерпрогнозирования, диапазонах поиска вектора движения и опорных изображениях, которые можно выбрать. Блок 102 прогнозирования компенсации движения оценивает эффективности прогнозирования для всех режимов интерпрогнозирования, диапазонов поиска вектора движения и опорных изображений и выбирает оптимальный режим интерпрогнозирования, оптимальный вектор движения 137 и оптимальные опорные изображения, общие для C0, C1 и C2 (этап S133).When the inter prediction mode, motion vector 137 and the reference image are used together for C0, C1, and C2, the coding mode decision block 5 notifies the motion compensation prediction block 102 of all the inter prediction modes, motion vector search ranges, and reference pictures that can be selected. Motion compensation prediction unit 102 estimates the prediction efficiency for all inter-prediction modes, motion vector search ranges and reference images, and selects an optimal inter-prediction mode, optimal motion vector 137, and optimal reference images common to C0, C1, and C2 (step S133).

Когда режим интерпрогнозирования, вектор движения 137 и опорное изображение не используются совместно для C0, C1 и C2 и для C0, C1 и C2 соответственно выбираются наилучшие режимы, блок 5 принятия решения относительно режима кодирования извещает блок 102 прогнозирования компенсации движения обо всех режимах интерпрогнозирования, диапазонах поиска вектора движения и опорных изображениях, которые можно выбрать для компонентов Ci (i<=0<3). Блок 102 прогнозирования компенсации движения оценивает эффективности прогнозирования для всех режимов интерпрогнозирования, диапазонов поиска вектора движения и опорных изображений и выбирает оптимальный режим интерпрогнозирования, оптимальный вектор движения 137 и оптимальные опорные изображения в компонентах Ci (i<=0<3) (этапы S134, S135 и S136).When the inter prediction mode, the motion vector 137 and the reference image are not used together for C0, C1 and C2 and the best modes are respectively selected for C0, C1 and C2, the decision block 5 regarding the encoding mode notifies the motion compensation prediction block 102 of all the inter prediction modes, ranges search for the motion vector and reference images that can be selected for the components Ci (i <= 0 <3). The motion compensation prediction unit 102 estimates the prediction efficiency for all inter-prediction modes, motion vector search ranges and reference images, and selects an optimal inter-prediction mode, an optimal motion vector 137, and optimal reference images in the components Ci (i <= 0 <3) (steps S134, S135 and S136).

Когда режим интерпрогнозирования, вектор движения 137 и опорное изображение используются совместно для C1 и C2 и наилучшие режимы выбираются для C0 (эквивалентного компоненту яркости) и C1 и C2 (эквивалентных цветоразностным компонентам), блок 5 принятия решения относительно режима кодирования извещает блок 102 прогнозирования компенсации движения обо всех режимах интерпрогнозирования, диапазонах поиска вектора движения и опорных изображениях, которые можно выбрать в компоненте C0. Блок 102 прогнозирования компенсации движения оценивает эффективности прогнозирования для всех режимов интерпрогнозирования, диапазонов поиска вектора движения и опорных изображений и выбирает оптимальный режим интерпрогнозирования, оптимальный вектор движения 137 и оптимальное опорное изображение в компоненте C0 (этап S137). Блок 5 принятия решения относительно режима кодирования извещает блок 102 прогнозирования компенсации движения обо всех режимах интерпрогнозирования, диапазонах поиска вектора движения и опорных изображениях, которые можно выбрать в компонентах C1 и C2. Блок 102 прогнозирования компенсации движения оценивает эффективности прогнозирования для всех режимов интерпрогнозирования, диапазонов поиска вектора движения и опорных изображений и выбирает оптимальный режим интерпрогнозирования, оптимальный вектор движения 137 и оптимальное опорное изображение, общие для C1 и C2 (этап S138).When the inter prediction mode, motion vector 137 and the reference image are used together for C1 and C2, and the best modes are selected for C0 (equivalent to the luminance component) and C1 and C2 (equivalent to the color difference components), the decision block 5 regarding the coding mode notifies the motion compensation prediction block 102 about all inter prediction modes, motion vector search ranges, and reference images that can be selected in component C0. The motion compensation prediction unit 102 estimates prediction efficiencies for all inter prediction modes, motion vector search ranges, and reference images, and selects an optimal inter prediction mode, an optimal motion vector 137, and an optimal reference image in component C0 (step S137). The decision block 5 regarding the encoding mode notifies the motion compensation prediction block 102 of all inter prediction modes, motion vector search ranges, and reference images that can be selected in components C1 and C2. The motion compensation prediction unit 102 estimates prediction efficiencies for all inter-prediction modes, motion vector search ranges and reference images, and selects an optimal inter-prediction mode, an optimal motion vector 137, and an optimal reference image common to C1 and C2 (step S138).

Массив данных битового потока, выводимый кодером согласно девятому варианту осуществления, такой же, как показан на фиг.34. Когда флаг 123 идентификации общего использования режима интерпрогнозирования указывает "общий для C1 и C2", расширенный тип 130 макроблока, расширенный тип 131 субмакроблока, расширенный опорный идентификационный номер 134 и информация 135 расширенного вектора движения являются информацией, общей для C1 и C2.The bitstream data array output by the encoder according to the ninth embodiment is the same as that shown in FIG. 34. When the inter-prediction mode common use identification flag 123 indicates “common to C1 and C2,” the extended macroblock type 130, the extended sub-macroblock type 131, the extended reference identification number 134, and the extended motion vector information 135 are information common to C1 and C2.

2. Обработка декодирования интерпрогнозирования в декодере2. Inter prediction decoding processing in a decoder

Декодер согласно девятому варианту осуществления принимает видеопоток 22, отвечающий массиву, показанному на фиг.34, выводимый из кодера согласно девятому варианту осуществления, осуществляет обработку декодирования в единицах макроблоков с идентичным размером (формат 4:4:4) для трех цветовых компонентов и восстанавливает соответствующие видеокадры.The decoder according to the ninth embodiment receives the video stream 22 corresponding to the array shown in Fig. 34, output from the encoder according to the ninth embodiment, performs decoding processing in units of macroblocks with the same size (4: 4: 4 format) for the three color components and restores the corresponding video frames.

Обработка генерации интерпрогнозируемого изображения, которая является характеристикой декодера согласно девятому варианту осуществления, будет подробно описана с упором на обработку, отличную от обработки согласно седьмому варианту осуществления. Эта обработка осуществляется в единицах макроблоков, в которых размещены три цветовых компонента. Обработка осуществляется, в основном, блоком 25 декодирования с переменной длиной слова и блоком 102 прогнозирования компенсации движения в декодере, показанном на фиг.31. Логическая блок-схема хода обработки, осуществляемой блоком 25 декодирования с переменной длиной слова, показана на фиг.44.Inter prediction image generation processing, which is a characteristic of a decoder according to the ninth embodiment, will be described in detail with reference to processing other than that of the seventh embodiment. This processing is carried out in units of macroblocks in which three color components are placed. The processing is carried out mainly by the variable-length decoding unit 25 and the motion compensation prediction unit 102 in the decoder shown in FIG. A logical flowchart of the processing carried out by the variable-length decoding unit 25 is shown in FIG.

Видеопоток 22, вводимый в блок 25 декодирования с переменной длиной слова, согласуется с массивом данных, показанным на фиг.34. На этапе S140 блок 25 декодирования с переменной длиной слова декодирует флаг 123 идентификации общего использования режима интерпрогнозирования для данных, показанных на фиг.34 (этап S140). Блок 25 декодирования с переменной длиной слова дополнительно декодирует базовый тип 128 макроблока и базовый тип 129 субмакроблока (этап S141). На этапе S142 блок 25 декодирования с переменной длиной слова принимает решение, используется ли режим интерпрогнозирования совместно для C0, C1 и C2, на основании результата флага 123 идентификации общего использования режима интерпрогнозирования. Когда режим интерпрогнозирования используется совместно для C0, C1 и C2, блок 25 декодирования с переменной длиной слова использует базовый тип 128 макроблока и базовый тип 129 субмакроблока для всех C0, C1 и C2. В противном случае блок 25 декодирования с переменной длиной слова использует базовый тип 128 макроблока и базовый тип 129 субмакроблока в качестве режима для C0. Кроме того, когда общий режим используется для C1 и C2, блок 25 декодирования с переменной длиной слова декодирует расширенный тип 130 макроблока и расширенный тип 131 субмакроблока, общие для компонентов C1 и C2 (этап S143). Когда разные режимы используются для C0, C1 и C2, блок 25 декодирования с переменной длиной слова декодирует расширенный тип 130 макроблока и расширенный тип 131 субмакроблока для C1 и C2 соответственно (этапы S144, S145 и S146) для получения информации режима для C1 и C2. Блок 25 декодирования с переменной длиной слова декодирует идентификационный номер 132 базового опорного изображения и информацию 133 базового вектора движения (этап S147). Когда флаг 123 идентификации общего использования режима интерпрогнозирования указывает "используется совместно для C0, C1 и C2", блок 25 декодирования с переменной длиной слова использует идентификационный номер 132 базового опорного изображения и информацию 133 базового вектора движения для всех C0, C1 и C2. В противном случае блок 25 декодирования с переменной длиной слова использует идентификационный номер 132 базового опорного изображения и информацию 133 базового вектора движения в качестве информации для C0. Кроме того, когда общий режим используется для C1 и C2, блок 25 декодирования с переменной длиной слова декодирует идентификационный номер 134 расширенного опорного изображения и информацию 135 расширенного вектора движения, общие для компонентов C1 и C2 (этап 149). Когда разные режимы используются для C0, C1 и C2, блок 25 декодирования с переменной длиной слова декодирует идентификационный номер 134 расширенного опорного изображения и информацию 135 расширенного вектора движения для C1 и C2 соответственно (этапы S150, S151 и S152). Типы макроблока 106, идентификационные номера опорного изображения и информацию вектора движения для соответствующих цветовых компонентов устанавливают на этапах обработки. Таким образом, блок 25 декодирования с переменной длиной слова выводит типы макроблока 106, идентификационные номера опорного изображения и информацию вектора движения на блок 102 прогнозирования компенсации движения для получения прогнозируемых изображений с компенсацией движения соответствующих цветовых компонентов.The video stream 22 introduced into the variable-length decoding unit 25 is consistent with the data array shown in FIG. 34. In step S140, the variable-length decoding unit 25 decodes the inter-prediction mode common use identification flag 123 for the data shown in FIG. 34 (step S140). The variable-length decoding unit 25 further decodes the base macroblock type 128 and the sub-macroblock base type 129 (step S141). In step S142, the variable-length decoding unit 25 decides whether the inter-prediction mode is used together for C0, C1, and C2 based on the result of the identification flag 123 of the common use of the inter-prediction mode. When the inter prediction mode is used together for C0, C1, and C2, the variable-length decoding unit 25 uses the base macroblock type 128 and the sub-macroblock base type 129 for all C0, C1, and C2. Otherwise, the variable-length decoding unit 25 uses the base macroblock type 128 and the sub-macroblock base type 129 as the mode for C0. In addition, when the common mode is used for C1 and C2, the variable-length decoding unit 25 decodes the extended macroblock type 130 and the extended sub-macroblock type 131 common to components C1 and C2 (step S143). When different modes are used for C0, C1, and C2, the variable word length decoding unit 25 decodes the extended macroblock type 130 and the extended sub-macroblock type 131 for C1 and C2, respectively (steps S144, S145, and S146) to obtain mode information for C1 and C2. The variable word length decoding unit 25 decodes the identification number 132 of the basic reference image and the information of the basic motion vector 133 (step S147). When the inter-prediction mode common use identification flag 123 indicates “shared between C0, C1, and C2,” the variable-length decoding unit 25 uses the reference reference picture identification number 132 and the basic motion vector information 133 for all C0, C1, and C2. Otherwise, the variable-length decoding unit 25 uses the reference reference image identification number 132 and the basic motion vector information 133 as information for C0. Furthermore, when the common mode is used for C1 and C2, the variable word length decoding unit 25 decodes the extended reference image identification number 134 and the extended motion vector information 135 common to components C1 and C2 (step 149). When different modes are used for C0, C1, and C2, the variable word length decoding unit 25 decodes the extended reference image identification number 134 and the extended motion vector information 135 for C1 and C2, respectively (steps S150, S151 and S152). The types of macroblock 106, identification numbers of the reference image, and motion vector information for the respective color components are set in the processing steps. Thus, the variable-length decoding unit 25 outputs macroblock types 106, reference image identification numbers and motion vector information to the motion compensation prediction unit 102 to obtain predicted motion-compensated images of the respective color components.

Аналогично, в случае массива данных битового потока, показанного на фиг.36, когда флаг 123 идентификации общего использования режима интерпрогнозирования указывает "общий для C1 и C2", расширенный тип 130 макроблока, расширенный тип 131 субмакроблока, расширенный опорный идентификационный номер 134 и информация 135 расширенного вектора движения являются информацией, общей для C1 и C2. Операции видеокодера и видеодекодера, в которые вводится видеопоток, отвечающий массиву данных, показанному на фиг.36, и из которого видеопоток выводится, такие же, как в случае, показанном на фиг.34.Similarly, in the case of the bitstream data array shown in FIG. 36, when the inter-prediction mode common use identification flag 123 indicates “common to C1 and C2”, extended macroblock type 130, extended sub-macroblock type 131, extended reference identification number 134, and information 135 extended motion vectors are information common to C1 and C2. The operations of the video encoder and video decoder into which the video stream corresponding to the data array shown in FIG. 36 is input and from which the video stream is output are the same as in the case shown in FIG. 34.

Согласно девятому варианту осуществления тип макроблока/тип субмакроблока 106, вектор движения 137 и опорное изображение могут варьироваться для каждого из цветовых компонентов. Тип макроблока/тип субмакроблока 106 и опорное изображение также могут быть общими для соответствующих компонентов, и только вектор движения 137 является общим для трех компонентов, изменяться для каждого компонентов или быть общими для C1 и C2 и оптимальные выбираются для C0, C1 и C2 соответственно. Массив данных битового потока в этом случае согласуется с фиг.39 или фиг.41. В этом случае, как в вышеописанном случае, когда флаг 123 идентификации общего использования режима интерпрогнозирования указывает "общий для C1 и C2", информация 135 расширенного вектора движения является информацией, общей для C1 и C2.According to a ninth embodiment, the macroblock type / sub-macroblock type 106, the motion vector 137, and the reference image may vary for each of the color components. The macroblock type / sub-macroblock type 106 and the reference image can also be common for the respective components, and only the motion vector 137 is common for the three components, change for each component or be common for C1 and C2 and the optimal ones are selected for C0, C1 and C2, respectively. The data stream of the bitstream in this case is consistent with Fig. 39 or Fig. 41. In this case, as in the case described above, when the inter-prediction mode common use identification flag 123 indicates “common to C1 and C2,” the extended motion vector information 135 is information common to C1 and C2.

Десятый вариант осуществленияTenth Embodiment

Согласно десятому варианту осуществления будут описаны способ кодирования вводимого вектора движения 137 и мультиплексирования вектора движения 137 в битовый поток в блоке 11 кодирования с переменной длиной слова кодера, описанном согласно седьмому варианту осуществления, и способ декодирования вектора движения 137 из битового потока в блоке 25 декодирования с переменной длиной слова декодера, соответствующего кодеру.According to a tenth embodiment, a method for encoding an input motion vector 137 and multiplexing a motion vector 137 into a bit stream in a variable encoder coding unit 11 described in accordance with a seventh embodiment and a method for decoding a motion vector 137 from a bit stream in decoding unit 25 with variable word length of the decoder corresponding to the encoder.

На фиг.45 показана схема структуры части блока 11 кодирования с переменной длиной слова кодера, показанного на фиг.30, который является блоком кодирования вектора движения, который кодирует вектор движения 137.On Fig shows a structural diagram of a part of the encoding unit 11 with a variable word length of the encoder shown in Fig, which is a coding unit of the motion vector that encodes the motion vector 137.

Будет описан способ мультиплексирования векторов движения 137 трех цветовых компонентов (C0, C1 и C2) в битовый поток в порядке C0, C1 и C2.A method for multiplexing motion vectors 137 of three color components (C0, C1, and C2) into a bit stream in the order of C0, C1, and C2 will be described.

Вектор движения 137 для C0 обозначен mv0. В блоке 111 прогнозирования вектора движения определяется прогнозируемый вектор (mvp0) вектора движения 137 для C0. Как показано на фиг.46, векторы движения (mvA0, mvB0 и mvC0) блока (A, B и C на фиг.46), соседствующего с блоком, где находится вектор движения, подлежащий кодированию (mv0), извлекаются из памяти. Векторы движения 137 для A, B и C уже мультиплексированы в битовый поток. Медиана mvA0, mvB0 и mvC0 вычисляется как mvp0. Вычисленный прогнозируемый вектор mvp0 и вектор движения mv0, подлежащий кодированию, вводятся в блок 112 вычисления разностного вектора движения. В блоке 112 вычисления разностного вектора движения вычисляется разностный вектор движения (mvd0) между mv0 и mvp0. Вычисленный разностный вектор движения mvd0 вводится в блок 113 кодирования разностного вектора движения с переменной длиной слова и подвергается энтропийному кодированию посредством, например, кодирования Хаффмана или арифметического кодирования.The motion vector 137 for C0 is denoted by mv0. In motion vector prediction unit 111, a predicted vector (mvp0) of motion vector 137 for C0 is determined. As shown in FIG. 46, the motion vectors (mvA0, mvB0 and mvC0) of the block (A, B and C in FIG. 46) adjacent to the block where the motion vector to be encoded (mv0) is located are retrieved from the memory. The motion vectors 137 for A, B, and C are already multiplexed into the bitstream. The median mvA0, mvB0 and mvC0 is calculated as mvp0. The calculated predicted vector mvp0 and the motion vector mv0 to be encoded are input to the differential motion vector calculation unit 112. In block 112 for calculating the difference motion vector, a difference motion vector (mvd0) between mv0 and mvp0 is calculated. The calculated difference motion vector mvd0 is input to the variable-length differential motion vector encoding unit 113 and is subjected to entropy encoding by, for example, Huffman coding or arithmetic coding.

Вектор движения (mv1) для C1 кодируется. В блоке 111 прогнозирования вектора движения определяется прогнозируемый вектор (mvp1) вектора движения 137 для C1. Как показано на фиг.46, векторы движения (mvA1, mvB1 и mvC1) блока, соседствующего с блоком, где находится вектор движения (mv1), подлежащий кодированию, и вектор движения (mv0) для C0 в той же позиции, как в блоке, где находится mv1, извлекаются из памяти 16. Векторы движения 137 для A, B и C уже мультиплексированы в битовый поток. Медиана mvA1, mvB1, mvC1 и mv0 вычисляется как mvp1. Вычисленный прогнозируемый вектор mvp1 и вектор движения mv1, подлежащий кодированию, вводятся в блок 112 вычисления разностного вектора движения для вычисления разностного вектора движения (mvd1=mv1-mvp1) между mv1 и mvp1. Вычисленный разностный вектор движения mvd1 вводится в блок 113 кодирования разностного вектора движения с переменной длиной слова и подвергается энтропийному кодированию посредством, например, кодирования Хаффмана или арифметического кодирования.The motion vector (mv1) for C1 is encoded. In the motion vector prediction unit 111, a predicted vector (mvp1) of the motion vector 137 for C1 is determined. As shown in FIG. 46, the motion vectors (mvA1, mvB1 and mvC1) of a block adjacent to the block where the motion vector (mv1) to be encoded and the motion vector (mv0) for C0 are in the same position as in the block, where mv1 is located, they are extracted from memory 16. Motion vectors 137 for A, B, and C are already multiplexed into the bitstream. The median mvA1, mvB1, mvC1 and mv0 is calculated as mvp1. The calculated predicted vector mvp1 and the motion vector mv1 to be encoded are input to the difference motion vector calculation unit 112 for calculating the difference motion vector (mvd1 = mv1-mvp1) between mv1 and mvp1. The calculated difference motion vector mvd1 is input to the variable-length differential-motion vector encoding unit 113 and is subjected to entropy encoding by, for example, Huffman coding or arithmetic coding.

Вектор движения (mv2) для C1 кодируется. В блоке 111 прогнозирования вектора движения определяется прогнозируемый вектор (mvp2) вектора движения 137 для C1. Как показано на фиг.46, векторы движения (mvA2, mvB2 и mvC2) блока, соседствующего с блоком, где находится вектор движения (mv2), подлежащий кодированию, и векторы движения (mv1 и mv2) для C0 и C1 в той же позиции, как в блоке, где находится mv2, извлекаются из памяти. Медиана mvA2, mvB2, mvC2, mv0 и mv1 вычисляется как mvp2. Вычисленный прогнозируемый вектор mvp2 и вектор движения mv2, подлежащий кодированию, вводятся в блок 112 вычисления разностного вектора движения для вычисления разностного вектора движения (mvd2=mv2-mvp2) между mv2 и mvp2. Вычисленный разностный вектор движения mvd2 вводится в блок 113 кодирования разностного вектора движения с переменной длиной слова и подвергается энтропийному кодированию посредством, например, кодирования Хаффмана или арифметического кодирования.The motion vector (mv2) for C1 is encoded. In motion vector prediction unit 111, a predicted vector (mvp2) of motion vector 137 for C1 is determined. As shown in FIG. 46, the motion vectors (mvA2, mvB2 and mvC2) of the block adjacent to the block where the motion vector (mv2) to be encoded is located, and the motion vectors (mv1 and mv2) for C0 and C1 in the same position, as in the block where mv2 is located, they are retrieved from memory. The median mvA2, mvB2, mvC2, mv0 and mv1 is calculated as mvp2. The calculated predicted vector mvp2 and the motion vector mv2 to be encoded are input to the difference motion vector calculation unit 112 for calculating the difference motion vector (mvd2 = mv2-mvp2) between mv2 and mvp2. The calculated differential motion vector mvd2 is input to the variable-length differential-motion vector encoding unit 113 and is subjected to entropy encoding by, for example, Huffman coding or arithmetic coding.

На фиг.47 показана схема структуры части блока 25 декодирования с переменной длиной слова кодера, показанного на фиг.31, который представляет собой блок 250 декодирования вектора движения, который декодирует вектор движения 137.FIG. 47 is a structural diagram of a portion of a variable-length decoding unit 25 of the encoder shown in FIG. 31, which is a motion vector decoding unit 250 that decodes a motion vector 137.

В блоке 250 декодирования вектора движения векторы движения 137 трех цветовых компонентов, мультиплексированные на видеопоток 22, декодируются в порядке C0, C1 и C2.In motion vector decoding unit 250, motion vectors 137 of the three color components multiplexed onto video stream 22 are decoded in the order of C0, C1, and C2.

В блоке 251 декодирования разностного вектора движения с переменной длиной слова разностные векторы движения (mvd0, mvd1 и mvd2) трех цветовых компонентов (C0, C1 и C2), мультиплексированные на видеопоток 22, извлекаются и подвергаются декодированию с переменой длиной слова.In block 251 for decoding a difference motion vector with a variable word length, difference motion vectors (mvd0, mvd1 and mvd2) of the three color components (C0, C1 and C2) multiplexed onto the video stream 22 are extracted and decoded with a variable word length.

В блоке 252 прогнозирования вектора движения вычисляются прогнозируемые векторы (mvp0, mvp1 и mvp2) векторов движения 137 для C0, C1 и C2. Метод вычисления прогнозируемых векторов такой же, как используется в блоке 111 прогнозирования вектора движения кодера.In motion vector prediction unit 252, predicted vectors (mvp0, mvp1, and mvp2) of motion vectors 137 for C0, C1, and C2 are calculated. The method for calculating the predicted vectors is the same as that used in the motion vector prediction unit 111 of the encoder.

В блоке 253 вычисления вектора движения разностные векторы движения и прогнозируемые векторы суммируются для вычисления векторов движения (mvi=mvdi+mvpi (i=0, 1, 2)). Вычисленные векторы движения 137 хранятся в памяти 16 для использования в качестве прогнозируемых векторов-кандидатов.In block 253 of the calculation of the motion vector, the difference motion vectors and the predicted vectors are summed to calculate the motion vectors (mvi = mvdi + mvpi (i = 0, 1, 2)). The calculated motion vectors 137 are stored in memory 16 for use as predicted candidate vectors.

Согласно десятому варианту осуществления при кодировании и декодировании векторов движения вектор движения идентичного блока цветового компонента, соседствующего с блоком, где находится вектор движения, подлежащий кодированию, и векторы движения других блоков цветового компонента в той же позиции, как в блоке, где находится вектор движения, подлежащий кодированию, используются как прогнозируемые векторы-кандидаты. Таким образом, например, в отсутствие непрерывности вектора движения соседнего блока в идентичном цветовом компоненте в граничной области объекта и т.п. векторы движения блоков в одной и той же позиции разных цветовых компонентов используются в качестве прогнозируемых векторов-кандидатов. Это позволяет повысить эффективность прогнозирования вектора движения и сократить объем кодов вектора движения.According to a tenth embodiment, when encoding and decoding motion vectors, the motion vector of the identical block of the color component adjacent to the block where the motion vector to be encoded is located and the motion vectors of other blocks of the color component in the same position as in the block where the motion vector is, to be encoded are used as predicted candidate vectors. Thus, for example, in the absence of continuity of the motion vector of the neighboring block in the same color component in the boundary region of the object, etc. motion vectors of blocks in the same position of different color components are used as predicted candidate vectors. This makes it possible to increase the efficiency of motion vector prediction and reduce the amount of motion vector codes.

Одиннадцатый вариант осуществленияEleventh Embodiment

Согласно одиннадцатому варианту осуществления будут описаны примеры другого кодера и другого декодера, выведенных из кодера и декодера, описанных согласно седьмому варианту осуществления. Кодер и декодер согласно одиннадцатому варианту осуществления принимают решение, согласно заранее определенному сигналу управления, кодируются ли компоненты C0, C1 и C2 в макроблоке в соответствии с отдельными фрагментами информации заголовка, и мультиплексируют информацию о сигнале управления на видеопоток 22. Кодер и декодер отличаются обеспечением средства мультиплексирования информации заголовка, необходимой для декодирования компонентов C0, C1 и C2, на видеопоток 22 согласно сигналу управления и эффективного кодирования пропущенного (или некодированного) макроблока во время отсутствия информации о векторе движения, которую следует передавать согласно сигналу управления и коэффициенту преобразования.According to an eleventh embodiment, examples of another encoder and another decoder derived from the encoder and decoder described according to the seventh embodiment will be described. The encoder and decoder according to the eleventh embodiment make a decision, according to a predetermined control signal, whether the components C0, C1 and C2 in the macroblock are encoded in accordance with the individual pieces of header information, and multiplex the information about the control signal to the video stream 22. The encoder and decoder differ in providing means multiplexing the header information necessary for decoding the components C0, C1 and C2 to the video stream 22 according to the control signal and the effective coding of the missed ( whether the uncoded) macroblock at the time of lack of information on a motion vector that should be transmitted according to the control signal, and a conversion coefficient.

В традиционной системе кодирования видеосигнала MPEG, включающей в себя AVC, случай, когда информация кодирования, которую следует передавать, отсутствует для макроблока, подлежащего кодированию, специально подвергается сигнализации для реализации высокоэффективного кодирования с минимальным объемом кодов макроблока. Например, при попытке кодирования определенного макроблока данные изображения в полностью одинаковой позиции в опорном изображении, используемые для прогнозирования с компенсацией движения, используются в качестве прогнозируемого изображения (т.е. вектор движения равен нулю), и полученный сигнал ошибки прогнозирования преобразуется и квантуется. В результате, когда все коэффициенты преобразования после квантования равны нулю, амплитуда полученного сигнала ошибки прогнозирования равна нулю на стороне декодирования, даже если осуществляется обратное квантование. Не существует данных коэффициентов преобразования, которые следует передавать на сторону декодера. Кроме того, когда предполагается, что вектор движения равен нулю, можно определить особый тип макроблока "нулевой вектор движения и отсутствие данных коэффициентов преобразования". Такой макроблок традиционно именуется пропущенным макроблоком или некодированным макроблоком и приспособлен не передавать ненужную информацию путем осуществления особой сигнализации. В AVC предположение относительно векторов движения является условием "когда осуществляется прогнозирование 16×16, показанное на фиг.32(a), и когда прогнозируемые значения (прогнозируемые векторы mvp0, mvp1 и mvp2), используемые для кодирования вектора движения, равны фактическим векторам движения". В отсутствие данных коэффициентов преобразования, которые отвечают условию и которые следует передавать, макроблок считается пропущенным макроблоком. В традиционном AVC при кодировании этого пропущенного макроблока любой из следующих двух методов выбирается согласно используемой системе кодирования с переменой длиной слова.In a conventional MPEG video encoding system including AVC, the case where the encoding information to be transmitted is not available for the macroblock to be encoded is specially signalized to implement highly efficient encoding with a minimum amount of macroblock codes. For example, when trying to encode a specific macroblock, image data at a completely identical position in the reference image used for prediction with motion compensation is used as a predicted image (i.e., the motion vector is zero), and the resulting prediction error signal is converted and quantized. As a result, when all transform coefficients after quantization are equal to zero, the amplitude of the obtained prediction error signal is zero on the decoding side, even if inverse quantization is performed. There are no data conversion factors that should be transmitted to the side of the decoder. In addition, when it is assumed that the motion vector is equal to zero, it is possible to determine a special type of macroblock “zero motion vector and the absence of these conversion coefficients”. Such a macroblock is traditionally referred to as a missed macroblock or an uncoded macroblock and is adapted not to transmit unnecessary information by means of a special signaling. In AVC, the assumption of motion vectors is the condition "when the 16 × 16 prediction shown in Fig. 32 (a) is performed and when the predicted values (the predicted vectors mvp0, mvp1 and mvp2) used to encode the motion vector are equal to the actual motion vectors" . In the absence of data conversion coefficients that meet the condition and which should be transmitted, the macroblock is considered to be a missed macroblock. In traditional AVC, when encoding this skipped macroblock, any of the following two methods is selected according to the variable-length encoding system used.

Метод 1: Подсчитывается количество (длина слова) пропущенных макроблоков, продолжающихся в срезе, и длина слова подвергается кодированию с переменной длиной слова.Method 1: The number (word length) of missed macroblocks continuing in the slice is calculated, and the word length is encoded with a variable word length.

Метод 2: Кодируется флаг, указывающий, является ли каждый макроблок пропущенным макроблоком.Method 2: A flag is encoded to indicate whether each macroblock is a missing macroblock.

Синтаксисы битового потока согласно соответствующим методам показаны на фиг.48. На фиг.48(a) показан случай, когда адаптивное кодирование Хаффмана используется как система кодирования с переменой длиной слова (метод 1). На фиг.48(b) показан случай, когда используется адаптивное арифметическое кодирование (метод 2). В случае метода 1 сигнализация для пропущенного макроблока осуществляется посредством mb_skip_run. В случае метода 2 сигнализация для пропущенного макроблока осуществляется посредством mb_skip_flag. MB(n) указывает кодированные данные n-го макроблока (который не является пропущенным макроблоком). Заметим, что mb_skip_run и mb_skip_flag выделяются в единицах макроблоков, в которых собираются компоненты C0, C1 и C2.The syntax of the bitstream according to the respective methods is shown in Fig. 48. Fig. 48 (a) shows a case where adaptive Huffman coding is used as a variable-length coding system (method 1). Fig. 48 (b) shows a case where adaptive arithmetic coding is used (method 2). In the case of method 1, the signaling for the missed macroblock is carried out by mb_skip_run. In the case of method 2, the signaling for the missed macroblock is carried out using mb_skip_flag. MB (n) indicates the encoded data of the nth macroblock (which is not a missing macroblock). Note that mb_skip_run and mb_skip_flag are allocated in units of macroblocks in which the components C0, C1, and C2 are assembled.

С другой стороны, в кодере и декодере согласно одиннадцатому варианту осуществления предусмотрен способ изменения информации заголовка, включающей в себя вектор движения и т.п. для каждого из компонентов C0, C1 и C2, согласно состоянию сигнала управления, т.е. сигнала, эквивалентного флагу 123 идентификации общего использования режима интерпрогнозирования, описанному согласно седьмому варианту осуществления, и осуществления сигнализации пропущенного макроблока для каждого из компонентов C0, C1 и C2. Конкретные примеры синтаксиса битового потока показаны на фиг.49 и 50.On the other hand, in the encoder and decoder according to the eleventh embodiment, a method for changing header information including a motion vector and the like is provided. for each of the components C0, C1 and C2, according to the state of the control signal, i.e. a signal equivalent to the common use identification flag 123 of the inter prediction mode described according to the seventh embodiment, and signaling the missed macroblock for each of the components C0, C1 and C2. Specific examples of bitstream syntax are shown in FIGS. 49 and 50.

Структура данных, кодированных в единицах макроблоков, выводимых кодером согласно одиннадцатому варианту осуществления и вводимых в декодер согласно одиннадцатому варианту осуществления, показана на фиг.49. Подробная структура кодированных данных информации заголовка компонента Cn на фиг.49 показана на фиг.50. В нижеследующем описании для пояснения преимуществ этой структуры битового потока будут, в основном, описаны операции на декодере, который принимает битовый поток и восстанавливает видеосигнал. Объяснение операций декодера приведено со ссылкой на фиг.31.The structure of the data encoded in units of macroblocks output by the encoder according to the eleventh embodiment and input to the decoder according to the eleventh embodiment is shown in FIG. 49. A detailed structure of the encoded data of the Cn component header information in FIG. 49 is shown in FIG. 50. In the following description, in order to explain the advantages of this structure of the bitstream, operations on a decoder that receives the bitstream and restores the video signal will be mainly described. An explanation of the operations of the decoder is given with reference to Fig.

Флаг 123 идентификации общего использования режима интерпрогнозирования согласно седьмому варианту осуществления выражается как флаг 123c идентификации общего использования заголовка макроблока путем объяснения его определения. Флаг 123c идентификации общего использования заголовка макроблока - это флаг, который выражает информацию 139a заголовка компонента C0 как базовую информацию заголовка макроблока и указывает, только ли информация 139a заголовка компонента C0 мультиплексируется как информация заголовка, используемая совместно для компонентов C1 и C2, или информация 139b заголовка компонента C1 и информация 139c заголовка компонента C2 по отдельности мультиплексируются как информация расширенного заголовка соответственно. Флаг 123c идентификации общего использования заголовка макроблока извлекается из видеопотока 22 и декодируется блоком 25 декодирования с переменной длиной слова. Когда флаг указывает, что только информация 139a заголовка компонента C0 мультиплексируется как информация заголовка, используемая совместно для компонентов C1 и C2, декодирование, в котором используется информация 139a заголовка компонента C0, применяется ко всем компонентам C0, C1 и C2 в макроблоке. Когда флаг указывает, что информация 139b заголовка компонента C1 и информация 139c заголовка компонента C2 по отдельности мультиплексируются как информация расширенного заголовка, декодирование, в котором фрагменты 139a-139c информации заголовка, относящиеся к соответствующим компонентам C0, C1 и C2 в макроблоке, применяется к компоненту. Этот момент будет подробнее объяснен ниже как обработка в единицах макроблоков.The inter-prediction mode common use identification flag 123 according to the seventh embodiment is expressed as the macro-block header common use identification flag 123c by explaining its definition. The macroblock header common use identification flag 123c is a flag that expresses component C0 header information 139a as basic macroblock header information and indicates whether only component C0 header information 139a is multiplexed as header information shared between components C1 and C2 or header information 139b component C1 and header information 139c of component C2 individually are multiplexed as extended header information, respectively. The macroblock header common use identification flag 123c is extracted from the video stream 22 and is decoded by the variable-length decoding unit 25. When the flag indicates that only header information 139a of component C0 is multiplexed as header information shared between components C1 and C2, decoding that uses header information 139a of component C0 is applied to all components C0, C1 and C2 in the macroblock. When the flag indicates that the header information 139b of the component C1 and the header information 139c of the component C2 are separately multiplexed as extended header information, a decoding in which the header information fragments 139a-139c relating to the respective components C0, C1 and C2 in the macroblock is applied to the component . This point will be explained in more detail below as processing in units of macroblocks.

1.Когда мультиплексируется только информация заголовка компонента C01.When only header information of component C0 is multiplexed

Когда флаг 123c идентификации общего использования заголовка макроблока указывает, что только информация 139a заголовка компонента C0 мультиплексируется как информация заголовка, используемая совместно для компонентов C1 и C2, декодирование макроблока применяется ко всем компонентам C0, C1 и C2 на основании различных разновидностей информации заголовка макроблока, включенной в информацию 139a заголовка компонента C0. В этом случае информация 138a индикации пропуска компонента C0 и информация 139a заголовка компонента C0 применяются совместно для обоих компонентов C1 и C2, информация (138b и 138c) индикации пропуска и информация (139b и 139c) заголовка для компонентов C1 и C2 не мультиплексируются в битовый поток.When the macroblock header common use identification flag 123c indicates that only the C0 component header information 139a is multiplexed as header information shared between components C1 and C2, macroblock decoding is applied to all components C0, C1 and C2 based on various varieties of macroblock header information included into the header information 139a of the component C0. In this case, the skip indication information 138a of the component C0 and the header information 139a of the component C0 are used together for both components C1 and C2, the skip indication information (138b and 138c) and the header information (139b and 139c) for the components C1 and C2 are not multiplexed into the bitstream .

Сначала блок 25 декодирования с переменной длиной слова декодирует и оценивает информацию 138a индикации пропуска компонента C0. Когда информация 138a индикации пропуска компонента C0 указывает "пропустить", блок 25 декодирования с переменной длиной слова считает, что информация 139a заголовка компонента C0 не кодируется, и информация 142 индикации эффективности/неэффективности коэффициентов преобразования информации 139a заголовка компонента C0 равна нулю (нет кодированных коэффициентов преобразования). Поэтому считается, что данные коэффициентов преобразования компонентов C0-C2 (140a-140c) не кодируются, и все квантованные коэффициенты преобразования 10 в макроблоках задаются равными нулю для вывода. Кроме того, блок 25 декодирования с переменной длиной слова устанавливает векторы движения 137 всех компонентов C0, C1 и C2 с идентичным значением в соответствии с определением пропущенного макроблока и выводит вектор движения 137.First, the variable-length decoding unit 25 decodes and evaluates the skip indication information 138a of component C0. When the skip indication information 138a of the component C0 indicates “skip,” the variable-length decoding unit 25 considers that the header information 139a of the component C0 is not encoded, and the conversion efficiency information 142 of the conversion information of the header information of the component C0 is zero (no encoded coefficients conversion). Therefore, it is believed that the data of the transform coefficients of the components C0-C2 (140a-140c) are not encoded, and all quantized transform coefficients 10 in the macroblocks are set to zero for output. In addition, the variable-length decoding unit 25 sets the motion vectors 137 of all components C0, C1, and C2 with the same value in accordance with the definition of the missing macroblock and outputs the motion vector 137.

Когда информация 138a индикации пропуска компонента C0 указывает "не пропускать", блок 25 декодирования с переменной длиной слова считает, что информация 139a заголовка компонента C0 присутствует, и осуществляет декодирование информации 139a заголовка компонента C0. Когда тип 128b макроблока в информации 139a заголовка компонента C0 указывает интракодирование, блок 25 декодирования с переменной длиной слова декодирует режим интрапрогнозирования 141, информацию 142 индикации эффективности/неэффективности коэффициентов преобразования и параметр квантования (если информация 142 индикации эффективности/неэффективности коэффициентов преобразования не равна 0). Если информация 142 индикации эффективности/неэффективности коэффициентов преобразования не равна нулю, блок 25 декодирования с переменной длиной слова декодирует данные коэффициентов преобразования компонентов C0-C2 (140a-140c) и выводит данные коэффициентов преобразования компонента C0 в виде квантованного коэффициента преобразования 10. Когда информация 142 индикации эффективности/неэффективности коэффициентов преобразования равна нулю, блок 25 декодирования с переменной длиной слова считает, что все данные коэффициентов преобразования компонентов C0-C2 (140a-140c) равны нулю, и все квантованные коэффициенты преобразования 10 в макроблоках задаются равными нулю для вывода. Когда тип 128b макроблока указывает интеркодирование, блок 25 декодирования с переменной длиной слова декодирует необходимый тип 129b субмакроблока и дополнительно декодирует идентификационный номер опорного изображения 132b, информацию вектора движения 133b, информацию 142 индикации эффективности/неэффективности коэффициентов преобразования и параметр квантования 21 (если информация 142 индикации эффективности/неэффективности коэффициентов преобразования не равна 0). Если информация 142 индикации эффективности/неэффективности коэффициентов преобразования не равна нулю, блок 25 декодирования с переменной длиной слова декодирует данные коэффициентов преобразования компонентов C0-C2 (140a-140c) и выводит данные коэффициентов преобразования компонента C0 в виде квантованного коэффициента преобразования 10. Когда информация 142 индикации эффективности/неэффективности коэффициентов преобразования равна нулю, блок 25 декодирования с переменной длиной слова считает, что все данные коэффициентов преобразования компонентов C0-C2 (140a-140c) равны нулю, и все квантованные коэффициенты преобразования 10 в макроблоках задаются равными нулю для вывода. Как и в седьмом варианте осуществления, декодирование макроблока осуществляется в соответствии с заранее определенной процедурой обработки с использованием выходного сигнала блока 25 декодирования с переменной длиной слова согласно вышеописанной операции.When the skip indication information 138a of the component C0 indicates “not to skip,” the variable-length decoding unit 25 considers that the header information 139a of the component C0 is present and decodes the header information 139a of the component C0. When the macroblock type 128b in the C0 component header information 139a indicates intra-coding, the variable-length decoding unit 25 decodes the intra-prediction mode 141, conversion coefficient efficiency / inefficiency indication information 142 and quantization parameter (if conversion coefficient efficiency / inefficiency indication information 142 is not 0) . If the conversion coefficient efficiency / ineffectiveness indication information 142 is non-zero, the variable word length decoding unit 25 decodes the conversion coefficient data of components C0-C2 (140a-140c) and outputs the conversion coefficient data of component C0 as a quantized conversion coefficient 10. When information 142 the indicator of the efficiency / inefficiency of the conversion coefficients is zero, the variable-length decoding unit 25 considers that all data of the conversion coefficients nents C0-C2 (140a-140c) are zero, and quantized all transform coefficients 10 in the macroblock are set to zero for output. When the macroblock type 128b indicates intercoding, the variable-length decoding unit 25 decodes the necessary sub-macroblock type 129b and further decodes the identification number of the reference image 132b, motion vector information 133b, conversion coefficient efficiency / inefficiency indication information 142, and quantization parameter 21 (if indication information 142 efficiency / inefficiency of conversion factors is not equal to 0). If the conversion coefficient efficiency / ineffectiveness indication information 142 is non-zero, the variable word length decoding unit 25 decodes the conversion coefficient data of components C0-C2 (140a-140c) and outputs the conversion coefficient data of component C0 as a quantized conversion coefficient 10. When information 142 indicators of the efficiency / inefficiency of the conversion coefficients is zero, the variable-length decoding unit 25 considers that all data of the conversion coefficients nents C0-C2 (140a-140c) are zero, and quantized all transform coefficients 10 in the macroblock are set to zero for output. As in the seventh embodiment, the macroblock decoding is carried out in accordance with a predetermined processing procedure using the output signal of the variable-length decoding unit 25 according to the above operation.

2. Когда мультиплексируется информация заголовка для компонентов C0, C1 и C2 соответственно2. When header information is multiplexed for components C0, C1, and C2, respectively

Когда флаг 123c идентификации общего использования заголовка макроблока указывает, что информация 139b заголовка компонента C1 и информация 139c заголовка компонента C2 мультиплексируются как информация расширенного заголовка отдельно от информации 139a заголовка компонента C0, декодирование макроблока применяется к каждому из компонентов C0, C1 и C2 на основании различных разновидностей информации заголовка макроблока, включенной в информацию заголовка компонента C0 (139a-139c), соответственно. В этом случае информация индикации пропуска (138b и 138c) и информация заголовка (139b и 139c) для компонентов C1 и C2 мультиплексируются в битовый поток.When the macroblock header common use identification flag 123c indicates that component C1 header information 139b and component C2 header information 139c are multiplexed as extended header information separately from component C0 header information 139a, macroblock decoding is applied to each of components C0, C1 and C2 based on different varieties of macroblock header information included in the header information of component C0 (139a-139c), respectively. In this case, the skip indication information (138b and 138c) and the header information (139b and 139c) for components C1 and C2 are multiplexed into the bitstream.

Сначала блок 25 декодирования с переменной длиной слова декодирует и оценивает информацию 138a индикации пропуска компонента C0. Когда информация 138a индикации пропуска компонента C0 указывает "пропустить", блок 25 декодирования с переменной длиной слова считает, что информация 139a заголовка компонента C0 не кодируется, и информация 142 индикации эффективности/неэффективности коэффициентов преобразования информации 139a заголовка компонента C0 равна нулю (нет кодированных коэффициентов преобразования). Поэтому считается, что данные 140a коэффициентов преобразования компонента C0 не кодируются, и все квантованные коэффициенты преобразования в компонентах C0 задаются равными нулю (т.е. соотношение между информацией 138a индикации пропуска компонента C0 и информацией 142 индикации эффективности/неэффективности коэффициентов преобразования изменяется согласно значению флага 123c идентификации общего использования заголовка макроблока). Кроме того, блок 25 декодирования с переменной длиной слова устанавливает вектор движения 137 компонента C0 в соответствии с определением в случае пропуска компонента C0 и выводит вектор движения 137.First, the variable-length decoding unit 25 decodes and evaluates the skip indication information 138a of component C0. When the skip indication information 138a of the component C0 indicates “skip,” the variable-length decoding unit 25 considers that the header information 139a of the component C0 is not encoded, and the conversion efficiency information 142 of the conversion information of the header information of the component C0 is zero (no encoded coefficients conversion). Therefore, it is considered that the conversion coefficient data 140a of the component C0 is not encoded, and all quantized conversion coefficients in the components C0 are set to zero (i.e., the ratio between the skip indication information 138a of the component C0 and the conversion coefficient efficiency / inefficiency indication information 142 changes according to the flag value Macroblock header common use identification 123c). In addition, the variable-length decoding unit 25 sets the motion vector 137 of the component C0 as defined in the case of missing the component C0 and outputs the motion vector 137.

Когда информация 138a индикации пропуска компонента C0 указывает "не пропускать", блок 25 декодирования с переменной длиной слова считает, что информация 139a заголовка компонента C0 присутствует, и осуществляет декодирование информации 139a заголовка компонента C0. Когда тип макроблока 128b в информации 139a заголовка компонента C0 указывает интракодирование, блок 25 декодирования с переменной длиной слова декодирует режим интрапрогнозирования 141 (режим пространственного прогнозирования, в котором пиксель, ближний к пикселю объекта прогнозирования в кадре, используется как прогнозируемое значение), информацию 142 индикации эффективности/неэффективности коэффициентов преобразования и параметр квантования 21 (если информация 142 индикации эффективности/неэффективности коэффициентов преобразования не равна 0). Если информация 142 индикации эффективности/неэффективности коэффициентов преобразования не равна нулю, блок 25 декодирования с переменной длиной слова декодирует данные коэффициентов преобразования компонента C0 и выводит данные коэффициентов преобразования компонента C0 в виде квантованного коэффициента преобразования 10. Когда информация индикации эффективности/неэффективности коэффициентов преобразования равна нулю, блок 25 декодирования с переменной длиной слова считает, что все данные коэффициентов преобразования компонента C0 равны нулю. Когда тип макроблока указывает интеркодирование, блок 25 декодирования с переменной длиной слова декодирует необходимый тип субмакроблока и дополнительно декодирует идентификационный номер опорного изображения, информацию вектора движения, информацию индикации эффективности/неэффективности коэффициентов преобразования и параметр квантования (если информация индикации эффективности/неэффективности коэффициентов преобразования не равна 0). Если информация индикации эффективности/неэффективности коэффициентов преобразования не равна нулю, блок 25 декодирования с переменной длиной слова декодирует данные коэффициентов преобразования компонента C0 и выводит данные коэффициентов преобразования компонента C0 в виде квантованного коэффициента преобразования 10. Когда информация эффективности/неэффективности коэффициентов преобразования равна нулю, блок 25 декодирования с переменной длиной слова считает, что все данные коэффициентов преобразования компонента C0 равны нулю. Блок 25 декодирования с переменной длиной слова осуществляет процедуру обработки для C1 и C2 таким же образом.When the skip indication information 138a of the component C0 indicates “not to skip,” the variable-length decoding unit 25 considers that the header information 139a of the component C0 is present and decodes the header information 139a of the component C0. When the macroblock type 128b in the header information 139a of the component C0 indicates intra-coding, the variable-length decoding unit 25 decodes the intra-prediction mode 141 (the spatial prediction mode in which the pixel closest to the pixel of the prediction object in the frame is used as the predicted value), indication information 142 the efficiency / inefficiency of the conversion coefficients and quantization parameter 21 (if the information 142 indicating the efficiency / inefficiency of the conversion coefficients is not p VNA 0). If the conversion coefficient efficiency / ineffectiveness indication information 142 is non-zero, the variable-length decoding unit 25 decodes the C0 component conversion coefficient data and outputs the C0 component conversion coefficient data as a quantized conversion coefficient 10. When the conversion coefficient efficiency / inefficiency indication information is zero , the variable-length decoding unit 25 considers that all the data of the transform coefficients of the component C0 p Avna to zero. When the macroblock type indicates intercoding, the variable-length decoding unit 25 decodes the necessary sub-macroblock type and further decodes the reference image identification number, motion vector information, conversion coefficient efficiency / inefficiency indication information and quantization parameter (if the conversion coefficient efficiency / inefficiency indication information is not equal 0). If the conversion coefficient efficiency / ineffectiveness indication information is non-zero, the variable word length decoding unit 25 decodes the conversion coefficient data of the C0 component and outputs the conversion coefficient data of the C0 component as a quantized conversion coefficient 10. When the conversion coefficient efficiency / inefficiency information is zero, the block 25, variable-length decoding considers that all data of the transform coefficients of component C0 are equal to zero. The variable word length decoding unit 25 carries out the processing procedure for C1 and C2 in the same manner.

Как и в седьмом варианте осуществления, декодирование соответствующих компонентов C0, C1 и C2 в макроблоке осуществляется в соответствии с заранее определенной процедурой обработки с использованием выходного сигнала блока 25 декодирования с переменной длиной слова согласно вышеописанным операциям.As in the seventh embodiment, the decoding of the respective components C0, C1 and C2 in the macroblock is carried out in accordance with a predetermined processing procedure using the output signal of the variable-length decoding unit 25 according to the above operations.

Операции на стороне декодера, в основном, описаны выше. Благодаря такому формированию битового потока получаются следующие эффекты. Прежде всего, в традиционном AVC имеется только один набор используемой информации заголовка (фиг.50) в расчете на один макроблок. Необходимо совместно осуществлять принятие решения интра/интер для всех компонентов C0-C2 и осуществлять кодирование в соответствии с этой информацией заголовка. Когда компонент сигнала, эквивалентный сигналу яркости, который передает содержимое сигнала изображения, эквивалентно включен в три цветовых компонента, как в формате 4:4:4, может возникать флуктуация характеристик сигнала в силу характера включения шума и т.п. во входных видеосигналах в соответствующие компоненты. Не всегда оптимально кодировать все компоненты C0-C2 совместно. При условии задания структур битового потока, показанных на фиг.49 и 50 согласно одиннадцатому варианту осуществления, кодер может выбирать посредством флага 123c идентификации общего использования заголовка макроблока оптимальный режим кодирования (тип макроблока, включающий в себя типы интра/интеркодирования), оптимальный вектор движения и т.п., соответствующие характеристике сигнала, и осуществлять кодирование для каждого из компонентов C0-C2 и может повышать эффективность кодирования. Традиционно, поскольку осуществляется кодирование в единицах макроблоков, в которых собираются все компоненты C0-C2, принимается решение на пропуск макроблока при условии отсутствия информации кодирования для всех компонентов. Однако, согласно одиннадцатому варианту осуществления, поскольку можно принимать решение относительно наличия или отсутствия информации кодирования для каждого из компонентов согласно информации 138 индикации пропуска, когда пропущен только определенный компонент, а другие компоненты не пропущены, нет необходимости для принятия решения относительно того, что ни один компонент не пропущен. Это позволяет более эффективно осуществлять выделение объема кодов. В кодере значение информации 138 индикации пропуска определяется блоком 11 кодирования с переменной длиной слова на основании данных 10 квантованного коэффициента преобразования, вектора движения 137, идентификационного номера 132b опорного изображения и типа макроблока/типа субмакроблока 106 в соответствии с определением пропущенного макроблока, однородно заданного в кодере и декодере.Operations on the decoder side are mainly described above. Due to this formation of the bitstream, the following effects are obtained. First of all, in the traditional AVC there is only one set of used header information (Fig. 50) per macroblock. It is necessary to jointly implement the intra / inter decision for all C0-C2 components and encode in accordance with this header information. When a signal component equivalent to the luminance signal that transmits the contents of the image signal is equivalently included in three color components, such as in a 4: 4: 4 format, fluctuation of signal characteristics may occur due to the nature of the inclusion of noise, etc. in the input video signals to the respective components. It is not always optimal to code all components of C0-C2 together. Provided that the bitstream structures shown in Figs. 49 and 50 according to the eleventh embodiment are specified, the encoder can select the optimal coding mode (macroblock type including intra / intercoding types), the optimal motion vector, and the macroblock type identification flag 123c; etc., corresponding to the characteristic of the signal, and to encode for each of the components C0-C2 and can increase the encoding efficiency. Traditionally, since the coding is carried out in units of macroblocks in which all the components of C0-C2 are assembled, a decision is made to skip the macroblock, provided that there is no coding information for all components. However, according to the eleventh embodiment, since it is possible to decide on the presence or absence of coding information for each component according to the skip indication information 138 when only a specific component is missing and the other components are not missing, there is no need to decide that none component is not skipped. This allows for more efficient allocation of the amount of codes. In the encoder, the value of the skip indication information 138 is determined by the variable word length encoding unit 11 based on the data 10 of the quantized transform coefficient, the motion vector 137, the reference image identification number 132b and the macroblock type / sub-macroblock type 106 in accordance with the definition of the skipped macroblock uniformly specified in the encoder and decoder.

Структура битового потока, обрабатываемого кодером и декодером согласно одиннадцатому варианту осуществления, может быть такой, как показано на фиг.51. В этом примере информация индикации пропуска (138), информация заголовка (139a-139c) и данные коэффициентов преобразования (140a-140c) соответствующих компонентов C0, C1 и C2 совместно размещаются соответственно. В этом случае в информации индикации пропуска соответствующие состояния C0, C1 и C2 могут размещаться в 1-битовых символах кода или восемь состояний можно совместно размещать в одном символе кода. Когда корреляция с состоянием пропуска высока среди цветовых компонентов, можно повысить эффективность кодирования самой информации индикации пропуска 138 путем сбора символов кода для надлежащего задания контекстуальных моделей арифметического кодирования (описанных ниже в двенадцатом варианте осуществления).The structure of the bit stream processed by the encoder and decoder according to the eleventh embodiment may be as shown in FIG. In this example, skip indication information (138), header information (139a-139c), and transform coefficient data (140a-140c) of the respective components C0, C1, and C2 are co-located respectively. In this case, in the skip indication information, the corresponding states C0, C1, and C2 can be placed in 1-bit code symbols or eight states can be co-located in one code symbol. When the correlation with the skip state is high among color components, it is possible to improve the coding efficiency of the skip indication information 138 by collecting code characters to appropriately define contextual arithmetic coding models (described below in the twelfth embodiment).

Флаг 123c идентификации общего использования заголовка макроблока можно мультиплексировать в битовый поток в единицах данных произвольного уровня, например макроблока, среза, изображения или последовательности. При постоянном наличии различия в характеристике сигнала между цветовыми компонентами во входном сигнале, если флаг 123c идентификации общего использования заголовка макроблока мультиплексируется в единицах последовательности, можно осуществлять эффективное кодирование с меньшим объемом служебной информации. Если флаг 123c идентификации общего использования заголовка макроблока мультиплексируется на уровне изображения, можно ожидать эффект, например, улучшения баланса эффективности кодирования и объема арифметических операций с использованием общего заголовка в I изображении, имеющем небольшое количество вариаций типа макроблока, и с использованием отдельного заголовка для каждого из цветовых компонентов в изображениях P и B с большим количеством вариаций типа макроблока. Кроме того, можно сказать, что изменение на уровне изображения также желательно в отношении управления кодированием для видеосигнала, характеристика которого изменяется для каждого изображение, например смена сцены. Когда флаг 123c идентификации общего использования заголовка макроблока мультиплексируется в единицах макроблоков, объем кодов в расчете на один макроблок возрастает. С другой стороны, можно управлять, используется ли информация заголовка совместно, на основании состояний соответствующих цветовых компонентов сигнала в единицах макроблоков. Это позволяет построить кодер более удовлетворительно, который повышает эффективность сжатия, следуя локальной флуктуации сигнала изображения.The macroblock header common use identification flag 123c may be multiplexed into the bitstream in arbitrary level data units, such as a macroblock, slice, image, or sequence. If there is a constant difference in signal characteristics between the color components in the input signal, if the macroblock header common use identification flag 123c is multiplexed in sequence units, efficient coding with less overhead can be performed. If the macroblock header common use identification flag 123c is multiplexed at the image level, an effect can be expected, for example, to improve the balance of coding efficiency and arithmetic operations using a common header in an I image with a small number of macroblock type variations, and using a separate header for each of color components in images P and B with a large number of variations of the macroblock type. Furthermore, it can be said that a change in the image level is also desirable with respect to coding control for a video signal whose characteristic changes for each image, for example, a scene change. When the macroblock header common use identification flag 123c is multiplexed in units of macroblocks, the amount of codes per macroblock increases. On the other hand, it is possible to control whether the header information is shared based on the states of the respective color components of the signal in units of macroblocks. This allows the encoder to be built more satisfactorily, which improves compression efficiency by following local fluctuations in the image signal.

Возможен следующий метод. Когда тип кодирования, эквивалентный типу изображения, изменяется на уровне среза, как в AVC, флаг 123c идентификации общего использования заголовка макроблока мультиплексируется для каждого среза. Когда флаг указывает "общий для C0, C1 и C2", битовый поток формируется так, что срез включает в себя все фрагменты информации кодирования для трех цветовых компонентов. Когда флаг указывает "не общий для C0, C1 и C2", битовый поток формируется так, что один срез включает в себя информацию об одном цветовом компоненте. Состояние этого метода показано на фиг.52. На фиг.52 смысл информации идентификации конфигурации срезов, указывающей, что "текущий срез включает в себя все фрагменты информации кодирования для трех цветовых компонентов" или "текущий срез включает в себя информацию кодирования для конкретного цветового компонента", придается флагу 123c идентификации общего использования заголовка макроблока. Само собой разумеется, что такую информацию идентификации конфигурации срезов можно подготавливать по отдельности из флага 123c идентификации общего использования заголовка макроблока. Когда срез идентифицируется как "текущий срез включает в себя информацию кодирования для конкретного цветового компонента", идентификация включает в себя идентификацию, указывающую "какой это из цветовых компонентов C0, C1 и C2". Когда, таким образом, принимается решение, используется ли один заголовок макроблока совместно для компонентов C0, C1 и C2 (срез смешанных C0, C1 и C2) или заголовок макроблока по отдельности мультиплексируется для каждого из компонентов C0, C1 и C2 (срез C0, срез C1 и срез C2) в единицах срезов, если эти две разновидности срезов смешиваются в одном изображении, срез C0, срез C1 и срез C2 всегда мультиплексируются в битовый поток в наборе в виде данных, полученных кодированием макроблоков в идентичной позиции на экране. Иными словами, значение first_mb_in_slice, включенное в заголовок среза и указывающее позицию в изображении переднего макроблока среза, всегда принимает идентичное значение в одном наборе среза C0, среза C1 и среза C2. Количества макроблоков, включенных в набор среза C0, среза C1 и среза C2, одинаковы. Это состояние показано на фиг.53. Обеспечивая такое ограничение для структуры битового потока, кодер может кодировать битовый поток путем адаптивного выбора метода кодирования, имеющего наибольшую эффективность кодирования между смешанным срезом C0, C1 и C2 и набором среза C0, среза C1 и среза C2 согласно характеристике локального сигнала в изображении. Декодер может принимать битовый поток, эффективно закодированный таким образом, и воспроизводить видеосигнал. Например, если битовый поток 22, введенный в декодер, показанный на фиг.31, имеет такую конфигурацию, блок 25 декодирования с переменной длиной слова декодирует информацию идентификации конфигурации срезов из битового потока каждый раз при вводе данных среза и устанавливает, какой из срезов, показанных на фиг.52, нужно декодировать. Когда на основании информации идентификации конфигурации срезов принимается решение, что кодированные данные сформированы в виде набора среза C0, среза C1 и среза C2, блок 25 декодирования с переменной длиной слова должен только осуществлять операцию декодирования, устанавливая, что состояние флага 123 идентификации общего использования режима интерпрогнозирования (или флага 123c идентификации общего использования заголовка макроблока) является "использовать отдельные режимы интерпрогнозирования или (заголовок макроблока) в C0, C1 и C2". Поскольку гарантируется, что значение first_mb_in_slice каждого среза и количество макроблоков в срезе одинаково, можно осуществлять обработку декодирования, не вызывая перекрытия и зазора на смешанном срезе C0, C1 и C2 и изображении на основании значения.The following method is possible. When the encoding type equivalent to the image type changes at the slice level, as in AVC, the macroblock header common use identification flag 123c is multiplexed for each slice. When the flag indicates “common to C0, C1, and C2,” a bitstream is formed so that the slice includes all pieces of coding information for the three color components. When the flag indicates “not common to C0, C1, and C2,” a bitstream is formed such that one slice includes information about one color component. The state of this method is shown in FIG. 52, the meaning of the slice configuration identification information indicating that “the current slice includes all pieces of encoding information for the three color components” or “the current slice includes encoding information for the specific color component” is given to the header common use identification flag 123c macroblock. It goes without saying that such slicing configuration identification information can be prepared individually from the macroblock header common use identification flag 123c. When a slice is identified as “the current slice includes coding information for a particular color component,” the identification includes an identification indicating “which of the color components is C0, C1, and C2.” When, therefore, a decision is made whether a single macroblock header is used together for components C0, C1 and C2 (mixed slice C0, C1 and C2), or if the macroblock header individually is multiplexed for each of components C0, C1 and C2 (slice C0, slice C1 and slice C2) in units of slices, if these two types of slices are mixed in one image, slice C0, slice C1 and slice C2 are always multiplexed into the bitstream in the set in the form of data obtained by encoding macroblocks at the same position on the screen. In other words, the value of first_mb_in_slice included in the slice header and indicating the position in the image of the front slice macroblock always takes the same value in the same set of slice C0, slice C1 and slice C2. The numbers of macroblocks included in the slice set C0, slice C1 and slice C2 are the same. This state is shown in FIG. Providing such a restriction on the structure of the bitstream, the encoder can encode the bitstream by adaptively choosing the encoding method that has the highest encoding efficiency between the mixed slice C0, C1 and C2 and the set of slice C0, slice C1 and slice C2 according to the characteristic of the local signal in the image. A decoder can receive a bitstream effectively encoded in this way and play a video signal. For example, if bitstream 22, input to the decoder shown in FIG. 31, has this configuration, variable-length decoding unit 25 decodes section identification information of slices from the bitstream each time slice data is input and determines which of the slices shown in Fig. 52, it is necessary to decode. When it is decided based on the identification information of the slicing configuration that the encoded data is in the form of a slice set C0, a slice C1, and a slice C2, the variable-length decoding unit 25 only needs to perform a decoding operation, establishing that the state of the identification flag 123 of the common use of the inter prediction mode (or macroblock header common use identification flag 123c) is “use separate inter prediction modes or (macroblock header) in C0, C1 and C2”. Since it is guaranteed that the first_mb_in_slice value of each slice and the number of macroblocks in the slice are the same, decoding processing can be performed without causing overlap and clearance in the mixed slice C0, C1 and C2 and the image based on the value.

Когда характеристики сигналов соответствующих срезов C0, C1 и C2 существенно различаются, во избежание снижения эффективности кодирования за счет обеспечения такого ограничения может быть предоставлена информация идентификации, позволяющая выбирать на уровне изображений или уровне последовательностей, можно ли допустить примешивание среза, имеющего другое значение информации идентификации конфигурации срезов в изображении.When the signal characteristics of the respective slices C0, C1, and C2 are significantly different, in order to avoid a reduction in coding efficiency by providing such a limitation, identification information can be provided to select at the image level or sequence level whether mixing of a slice having a different configuration identification information value can be allowed slices in the image.

Двенадцатый вариант осуществленияTwelfth Embodiment

Согласно двенадцатому варианту осуществления будут описаны примеры другого кодера и другого декодера, выведенных из кодера и декодера, описанных согласно одиннадцатому варианту осуществления. Кодер и декодер согласно двенадцатому варианту осуществления отличаются адаптивным заданием, при осуществлении кодирования соответствующих компонентов C0, C1 и C2 в макроблоке с использованием адаптивной системы арифметического кодирования, используются ли вероятность появления символа, используемая для арифметического кодирования, и процесс изучения для вероятности появления символа совместно всеми компонентами или отдельно каждым из компонентов согласно информации указания, мультиплексированной в битовый поток.According to a twelfth embodiment, examples of another encoder and another decoder derived from the encoder and decoder described according to the eleventh embodiment will be described. The encoder and decoder according to the twelfth embodiment are distinguished by an adaptive setting, when encoding the corresponding components C0, C1 and C2 in a macroblock using an adaptive arithmetic coding system, are the probability of occurrence of a character used for arithmetic coding and the study process used for the probability of occurrence of a character shared by all by components or separately by each of the components according to indication information multiplexed into a bitstream.

Согласно двенадцатому варианту осуществления в кодере только обработка в блоке 11 кодирования с переменной длиной слова, показанном на фиг.30, отличается от обработки согласно одиннадцатому варианту осуществления. В декодере только обработка в блоке 25 декодирования с переменной длиной слова на фиг.31 отличается от обработки согласно одиннадцатому варианту осуществления. Другие операции идентичны операциям согласно одиннадцатому варианту осуществления. В нижеследующем описании будут подробно объяснены обработки арифметического кодирования и декодирования, которые являются отличительными чертами двенадцатого варианта осуществления.According to the twelfth embodiment, in the encoder, only the processing in the variable-length encoding unit 11 shown in FIG. 30 is different from the processing according to the eleventh embodiment. In the decoder, only the processing in the variable-length decoding unit 25 in FIG. 31 is different from the processing according to the eleventh embodiment. Other operations are identical to those of the eleventh embodiment. In the following description, arithmetic encoding and decoding processing, which are the hallmarks of the twelfth embodiment, will be explained in detail.

1. Обработка кодирования1. Coding processing

Внутренняя структура, относящаяся к обработке арифметического кодирования в блоке 11 кодирования с переменной длиной слова, показана на фиг.54. Последовательность операций обработки арифметического кодирования показана на фиг.55 и 56.An internal structure related to arithmetic encoding processing in the variable-length encoding unit 11 is shown in FIG. 54. The flow of arithmetic coding processing is shown in FIGS. 55 and 56.

Блок 11 кодирования с переменной длиной слова согласно двенадцатому варианту осуществления включает в себя блок определения контекстуальной модели 11a, который устанавливает контекстуальные модели (описанные ниже), определенные для соответствующих типов данных, например, вектора движения 137, служащего данными объекта кодирования, идентификационного номера 132b опорного изображения, типа макроблока/типа субмакроблока 106, режима интрапрогнозирования 141 и квантованного коэффициента преобразования 10, блок 11b преобразования к двоичному виду, который преобразует многозначные данные в двоичные данные в соответствии с правилами преобразования к двоичному виду, установленными для соответствующих типов данных объекта кодирования, блок 11c генерации вероятности появления, который дает вероятности появления значений (0 или 1) соответствующих участков после преобразования к двоичному виду, блок кодирования 11d, который выполняет арифметическое кодирование на основании сгенерированных вероятностей появления, и память 11g, в которой хранится информация вероятности появления. На блок определения контекстуального режима 11a поступают различные данные, введенные в блок 11 кодирования с переменной длиной слова, в качестве данных объекта кодирования, например вектор движения 137, идентификационный номер 132b опорного изображения, тип макроблока/тип субмакроблока 106, режим интрапрогнозирования 141 и квантованный коэффициент преобразования 10. Выходные сигналы блока кодирования 11d эквивалентны информации, связанной с макроблоком видеопотока 22.The variable-length encoding unit 11 according to the twelfth embodiment includes a contextual model determination unit 11a that sets contextual models (described below) defined for respective data types, for example, motion vector 137 serving as encoding object data, reference identification number 132b image, macroblock type / submacroblock type 106, intra prediction mode 141 and quantized transform coefficient 10, binary conversion unit 11b, which converts the multi-valued data to binary data in accordance with the binary conversion rules established for the respective data types of the encoding object, an occurrence probability generating unit 11c that gives the probability of occurrence of values (0 or 1) of the respective sections after the binary conversion, the encoding unit 11d, which performs arithmetic coding based on the generated occurrence probabilities, and a memory 11g in which occurrence probability information is stored. The contextual mode determination unit 11a receives various data inputted into the variable-length encoding unit 11 as the data of the encoding object, for example, motion vector 137, reference image identification number 132b, macroblock type / sub-macroblock type 106, intra-prediction mode 141, and a quantized coefficient transformations 10. The output signals of the coding unit 11d are equivalent to the information associated with the macroblock of the video stream 22.

(1) Обработка определения контекстуальной модели (этап S160 на фиг.55)(1) Contextual Model Definition Processing (Step S160 in FIG. 55)

Контекстуальная модель - это модель причинно-следственной связи вероятности появления символа источника информации с другой информацией, которая приводит к флуктуации вероятности появления. Можно осуществлять кодирование, более адаптированное к фактической вероятности появления символа, путем изменения состояния вероятности появления в соответствии с этой причинно-следственной связью. Концепция контекстуальной модели (ctx) показана на фиг.57. Хотя, согласно фиг.57, символ источника информации является двоичным, символ источника информации может быть многозначным. Варианты от 0 до 2 для ctx на фиг.57 определяются, исходя из предположения, что состояние вероятности появления символа источника информации, который использует этот ctx, изменяется согласно ситуации. При кодировании видеосигнала согласно двенадцатому варианту осуществления значение ctx изменяется согласно причинно-следственной связи между кодированными данными в определенном макроблоке и кодированными данными макроблоков вокруг макроблока. Пример контекстуальной модели, относящейся к вектору движения макроблока, раскрытой в D. Marpe и др. "Video Compression Using Context-Based Adaptive Arithmetic Coding", International Conference on Image Processing 2001, показан на фиг.58. Согласно фиг.58 вектор движения блока C представляет собой объект кодирования (точнее, кодируется прогнозируемое значение разностиA contextual model is a causal relationship model of the probability of occurrence of an information source symbol with other information that leads to fluctuations in the probability of occurrence. It is possible to carry out coding more adapted to the actual probability of occurrence of a symbol by changing the state of the probability of occurrence in accordance with this causal relationship. The concept of a contextual model (ctx) is shown in Fig. 57. Although, according to FIG. 57, the symbol of the information source is binary, the symbol of the information source may be ambiguous. Options from 0 to 2 for ctx in Fig. 57 are determined on the basis of the assumption that the probability state of the appearance of the symbol of the information source that uses this ctx changes according to the situation. When encoding a video signal according to the twelfth embodiment, the ctx value changes according to a causal relationship between the encoded data in a particular macroblock and the encoded data of the macroblocks around the macroblock. An example of a contextual model related to the macroblock motion vector disclosed in D. Marpe et al. "Video Compression Using Context-Based Adaptive Arithmetic Coding", International Conference on Image Processing 2001, is shown in Fig. 58. According to Fig. 58, the motion vector of block C is an encoding object (more precisely, the predicted difference value is encoded

mvdk(C), полученное прогнозированием вектора движения блока C из его окружения), и ctx_mvd(C,k) указывает контекстуальную модель. mvdk(A) указывает прогнозируемое значение разности векторов движения в блоке A, и mvdk(B) указывает прогнозируемое значение разности векторов движения в блоке B. Значения mvdk(A) и mvdk(B) используются для определения оценочного значения ek(C) изменения контекстуальной модели. Оценочное значение ek(C) указывает степень флуктуации вектора движения в окружении. В целом, когда эта флуктуация мала, mvdk(C) мала. Напротив, когда ek(C) велико, mvdk(C) также увеличивается. Таким образом, желательно адаптировать вероятность появления символа для mvdk(C) на основании ek(C). Набором вариаций этой вероятности появления является контекстуальная модель. В этом случае можно сказать, что существует три разновидности вариаций вероятности появления.mvd k (C) obtained by predicting the motion vector of block C from its surroundings), and ctx_mvd (C, k) indicates the contextual model. mvd k (A) indicates the predicted value of the motion vector difference in block A, and mvd k (B) indicates the predicted value of the motion vector difference in block B. The values mvd k (A) and mvd k (B) are used to determine the estimated value of e k (C) changes to the contextual model. The estimated value of e k (C) indicates the degree of fluctuation of the motion vector in the environment. In general, when this fluctuation is small, mvd k (C) is small. In contrast, when e k (C) is large, mvd k (C) also increases. Thus, it is desirable to adapt the probability of occurrence of a symbol for mvd k (C) based on e k (C). A set of variations of this probability of occurrence is a contextual model. In this case, we can say that there are three varieties of variations in the probability of occurrence.

Кроме того, контекстуальные модели определяются заранее для данных объекта кодирования, например типа макроблока/типа субмакроблока 106, режима интрапрогнозирования 141 и квантованного коэффициента преобразования 10 соответственно, и совместно используются кодером и декодером. Блок 11a определения контекстуальной модели осуществляет обработку для выбора модели, заданной заранее на основании типа таких данных объекта кодирования (решение относительно того, какая вариация вероятности появления среди контекстуальных моделей соответствует обработке генерации вероятности появления в нижеследующем пункте (3)).In addition, contextual models are predetermined for coding object data, for example, macroblock type / submacroblock type 106, intra-prediction mode 141, and quantized transform coefficient 10, respectively, and are shared between the encoder and decoder. The contextual model determination unit 11a performs processing for selecting a model predetermined based on the type of such data of the encoding object (a decision as to which variation in the probability of occurrence among the contextual models corresponds to the processing for generating the probability of occurrence in the following paragraph (3)).

(2) Обработка преобразования к двоичному виду (этап S161 на фиг.55)(2) Binary Conversion Processing (Step S161 in FIG. 55)

Данные объекта кодирования преобразуются в двоичную последовательность блоком 11b преобразования к двоичному виду. Контекстуальные модели устанавливаются согласно соответствующим участкам (двоичным позициям) двоичной последовательности. Согласно правилу преобразования к двоичному виду данные объекта кодирования преобразуются в двоичную последовательность с переменой длиной слова в соответствии с грубым распределением значений, которые могут принимать соответствующие двоичные данные. Преобразование к двоичному виду имеет преимущество, позволяющее, например, сократить количество делений числовой шкалы вероятности путем кодирования данных объекта кодирования, которые первоначально могут принимать множественные значения, в единицах участков вместо непосредственного арифметического кодирования данных объекта кодирования и упростить арифметическую операцию, что дает возможность уменьшить контекстуальные модели.The data of the encoding object is converted into a binary sequence by the binary conversion unit 11b. Contextual models are set according to the corresponding sections (binary positions) of the binary sequence. According to the rule for converting to binary, the data of the encoding object is converted into a binary sequence with a variable word length in accordance with a rough distribution of values that the corresponding binary data can take. Conversion to binary has the advantage of, for example, reducing the number of divisions of the numerical probability scale by encoding the data of the encoding object, which can initially take multiple values, in units of sections instead of directly arithmetic encoding the data of the encoding object and simplifying the arithmetic operation, which makes it possible to reduce contextual models.

(3) Обработка генерации вероятности появления (этап S162 на фиг.55 (детали этапа S162 показаны на фиг.56))(3) Appearance probability generation processing (step S162 in FIG. 55 (details of step S162 are shown in FIG. 56))

В процессах, описанных выше в пунктах (1) и (2), преобразование к двоичному виду многозначных данных объекта кодирования и задание контекстуальных моделей, применяемых к соответствующим участкам, завершается, и подготовка к кодированию заканчивается. Затем блок 11c генерации вероятности появления осуществляет обработку генерации для состояния вероятности появления, используемого для арифметического кодирования. Поскольку вариации вероятности появления для соответствующих значений 0/1 включены в соответствующие контекстуальные модели, показанные на фиг.54, блок 11c генерации вероятности появления осуществляет обработку со ссылкой на контекстуальную модель 11f, определенную на этапе S160. Блок 11c генерации вероятности появления устанавливает оценочное значение для выбора вероятности появления, обозначенноеIn the processes described in paragraphs (1) and (2) above, the binary conversion of the multi-valued data of the encoding object and the setting of contextual models applied to the corresponding sections is completed, and the preparation for encoding is completed. Then, the occurrence probability generating unit 11c carries out generation processing for the occurrence probability state used for arithmetic coding. Since variations in the probability of occurrence for the corresponding values 0/1 are included in the respective contextual models shown in FIG. 54, the probability of occurrence generation unit 11c performs processing with reference to the contextual model 11f determined in step S160. An occurrence probability generating unit 11c sets an estimated value for selecting an occurrence probability indicated

ek(C) на фиг.58, и определяет в соответствии с оценочным значением, какая вариация вероятности появления используется для данного кодирования из вариантов, к которым относятся контекстуальные модели (этап S162a на фиг.56). Блок 11 кодирования с переменной длиной слова согласно двенадцатому варианту осуществления включает в себя память для хранения информации 11g вероятности появления и включает в себя механизм для сохранения состояния 11h вероятности появления, которое последовательно обновляется в процессе кодирования, для каждого из цветовых компонентов. Блок 11c генерации вероятности появления выбирает согласно значению флага 143 идентификации общего использования параметра состояния вероятности появления, выбирается ли состояние 11h вероятности появления, используемое для данного кодирования, из состояний вероятности появления, поддерживаемых для каждого из цветовых компонентов C0-C2, или же состояние вероятности появления для компонента C0 совместно используется компонентами C1 и C2, и определяет состояние 11h вероятности появления, фактически используемое для кодирования (этапы S162b-S162d на фиг.56).e k (C) in FIG. 58, and determines, according to the estimated value, which variation in the probability of occurrence is used for a given coding from the options to which contextual models belong (step S162a in FIG. 56). The variable word length encoding unit 11 according to the twelfth embodiment includes a memory for storing occurrence probability information 11g and includes a mechanism for storing the occurrence probability state 11h, which is sequentially updated during the encoding, for each of the color components. The occurrence probability generation unit 11c selects according to the value of the common use identification flag 143 of the occurrence probability state parameter whether the occurrence probability state 11h used for the coding is selected from the occurrence probability states supported for each of the color components C0-C2, or the occurrence probability state for component C0 is shared by components C1 and C2, and determines the occurrence probability state 11h actually used for encoding (steps S162b-S162d on ig.56).

Необходимо мультиплексировать флаг 143 идентификации общего использования параметра состояния вероятности появления в битовый поток, чтобы декодер мог осуществлять такой же выбор. В такой конфигурации реализуются следующие эффекты. Например, в случае, показанном на фиг.58, когда флаг 123c идентификации общего использования заголовка макроблока указывает, что информация 139a заголовка компонента C0 используется для других компонентов, если тип макроблока 128b указывает режим прогнозирования 16×16, для одного макроблока задается только один ek(C) согласно фиг.58. В этом случае состояние вероятности появления, подготовленное для компонента C0, всегда используется. С другой стороны, когда флаг 123c идентификации общего использования заголовка макроблока указывает, что используется информация заголовка (139a-139c), соответствующая соответствующим компонентам, если тип макроблока 128b указывает режим прогнозирования 16×16 во всех C0, C1 и C2, может существовать три вариации ek(C) согласно фиг.58 для одного макроблока. Блок кодирования 11d на более поздней стадии может брать два варианта, т.е. совместно ли состояние 11b вероятности появления, подготовленное для компонентов C0, используется и обновляется для соответствующих вариаций, или же состояния 11h вероятности появления, подготовленные для соответствующих цветовых компонентов, по отдельности используются и обновляются. В первом варианте, когда соответствующие компоненты C0, C1 и C2 имеют, по существу, одинаковые распределения векторов движения, кратность изучения увеличивается благодаря использованию и обновлению общего состояния 11h вероятности появления. Это дает возможность более удовлетворительно изучать вероятность появления вектора движения. В последнем варианте, наоборот, когда соответствующие компоненты C0, C1 и C2 имеют разные распределения векторов движения, можно сократить несоответствия из-за изучения посредством раздельного использования и обновления состояний 11h вероятности появления. Это дает возможность более удовлетворительно изучать вероятность появления вектора движения. Поскольку видеосигнал является нестационарным, когда такое адаптивное управление возможно, можно повысить эффективность арифметического кодирования.It is necessary to multiplex the flag 143 identifying the common use of the state parameter of the probability of occurrence in the bit stream so that the decoder can make the same choice. In this configuration, the following effects are realized. For example, in the case of FIG. 58, when the macroblock header common use identification flag 123c indicates that the component C0 header information 139a is used for other components, if the macroblock type 128b indicates a 16 × 16 prediction mode, only one e is set for one macroblock k (C) according to FIG. In this case, the state of the probability of occurrence prepared for the component C0 is always used. On the other hand, when the macroblock header common use identification flag 123c indicates that the header information (139a-139c) corresponding to the respective components is used, if the macroblock type 128b indicates the 16 × 16 prediction mode in all C0, C1 and C2, there may be three variations e k (C) according to Fig for one macroblock. The coding unit 11d at a later stage may take two options, i.e. jointly, the appearance probability state 11b prepared for the components C0 is used and updated for the corresponding variations, or the appearance probability states 11h prepared for the corresponding color components are individually used and updated. In the first embodiment, when the corresponding components C0, C1, and C2 have essentially the same distribution of motion vectors, the multiplicity of the study increases due to the use and updating of the general occurrence probability state 11h. This makes it possible to more satisfactorily study the probability of the appearance of a motion vector. In the latter case, on the contrary, when the corresponding components C0, C1, and C2 have different distributions of the motion vectors, it is possible to reduce inconsistencies due to the study of the probability of occurrence by using and updating state 11h separately. This makes it possible to more satisfactorily study the probability of the appearance of a motion vector. Since the video signal is non-stationary, when such adaptive control is possible, it is possible to increase the efficiency of arithmetic coding.

(4) Обработка кодирования(4) Coding processing

Поскольку вероятности появления соответствующих значений 0/1 на числовой шкале вероятности, необходимые для процесса арифметического кодирования, получаются согласно (3), блок кодирования 11d осуществляет арифметическое кодирование в соответствии с процессом, описанным в традиционном примере (этап S163 на фиг.55). Фактическое кодированное значение (0 или 1) 11e поступает обратно на блок 11c генерации вероятности появления. Блок 11c генерации вероятности появления отсчитывает частоты появления 0/1 для обновления используемого состояния 11h вероятности появления (этап S164). Например, предполагается, что в момент, когда обработка кодирования для 100 участков осуществляется с использованием конкретного состояния 11h вероятности появления, вероятности появления 0/1 при вариации вероятности появления составляют 0,25 и 0,75. Когда 1 кодируется с использованием одной и той же вариации вероятности появления, частота появления 1 обновляется, и вероятности появления 0/1 меняются на 0,247 и 0,752. Этот механизм позволяет осуществлять эффективное кодирование, адаптированное к фактическим вероятностям появления. Кодированное значение 11e меняется на выходной сигнал блока 11 кодирования с переменной длиной слова и выводится из кодера в качестве видеопотока 22.Since the probabilities of occurrence of the corresponding values 0/1 on the numerical probability scale necessary for the arithmetic coding process are obtained according to (3), the coding unit 11d performs arithmetic coding in accordance with the process described in the traditional example (step S163 in Fig. 55). The actual encoded value (0 or 1) 11e is fed back to the occurrence probability generation unit 11c. An occurrence probability generating unit 11c counts occurrence frequencies 0/1 to update the occurrence probability state 11h used (step S164). For example, it is assumed that at the moment when coding processing for 100 sections is performed using a specific occurrence probability state 11h, the occurrence probability 0/1 with variation in the occurrence probability is 0.25 and 0.75. When 1 is encoded using the same variation in the probability of occurrence, the frequency of occurrence of 1 is updated, and the probability of occurrence of 0/1 is changed to 0.247 and 0.752. This mechanism allows efficient coding adapted to the actual occurrence probabilities. The encoded value 11e changes to the output of the variable-length encoding unit 11 and is output from the encoder as a video stream 22.

Внутренняя структура, связанная с обработкой арифметического декодирования в блоке 25 декодирования с переменной длиной слова показана на фиг.59. Последовательность операций обработки арифметического декодирования показана на фиг.60.An internal structure associated with arithmetic decoding processing in the variable-length decoding unit 25 is shown in FIG. The sequence of operations for processing arithmetic decoding is shown in Fig. 60.

Блок 25 декодирования с переменной длиной слова согласно двенадцатому варианту осуществления включает в себя блок 11a определения контекстуальной модели, который указывает типы соответствующих данных объекта декодирования, например вектор движения 137, идентификационный номер 132b опорного изображения, тип макроблока/тип субмакроблока 106, режим интрапрогнозирования 141 и квантованный коэффициент преобразования 10, и устанавливает контекстуальные модели, заданные совместно для кодера для соответствующих типов, блок 11b преобразования к двоичному виду, который генерирует правила преобразования к двоичному виду, установленные на основании типов данных объекта декодирования, блок 11c генерации вероятности появления, который дает вероятности появления соответствующих участков (0 или 1) в соответствии с правилами преобразования к двоичному виду и контекстуальными моделями, блок декодирования 25a, который выполняет арифметическое декодирование на основании сгенерированной вероятности появления и декодирует данные, например вектор движения 137, идентификационный номер 132b опорного изображения, тип макроблока/тип субмакроблока 106, режим интрапрогнозирования 141 и квантованный коэффициент преобразования 10 согласно двоичной последовательности, полученной в результате арифметического декодирования, и правил преобразования к двоичному виду, и память 11g, в которой хранится информация вероятности появления. Компоненты 11a-11c и 11g идентичны внутренним компонентам блока 11 кодирования с переменной длиной слова, показанного на фиг.54.The variable-length word decoding unit 25 according to the twelfth embodiment includes a contextual model determining unit 11a that indicates types of corresponding decoding object data, for example, motion vector 137, reference picture identification number 132b, macroblock type / sub-macroblock type 106, intra prediction mode 141, and the quantized transform coefficient 10, and sets the contextual models specified jointly for the encoder for the respective types, the block-to-binary conversion unit 11b to a new kind that generates binary conversion rules established based on the data types of the decoding object, an occurrence probability generating unit 11c that gives the probability of occurrence of corresponding sections (0 or 1) in accordance with the binary conversion rules and contextual models, the decoding unit 25a, which performs arithmetic decoding based on the generated probability of occurrence and decodes data, for example, motion vector 137, reference identification number 132b image, macroblock type / submacroblock type 106, intra-prediction mode 141 and quantized transform coefficient 10 according to the binary sequence obtained by arithmetic decoding, and the rules for converting to binary, and a memory 11g in which occurrence probability information is stored. Components 11a-11c and 11g are identical to the internal components of the variable-length encoding unit 11 shown in FIG. 54.

(5) Обработка определения контекстуальной модели, обработка преобразования к двоичному виду и обработка генерации вероятности появления(5) Processing the definition of the contextual model, processing the conversion to binary, and processing the generation of the probability of occurrence

Эти процессы соответствуют процессам (1)-(3) на стороне кодера. Хотя это и не показано на фигурах, флаг 143 идентификации общего использования параметра состояния вероятности появления заранее извлекается из видеопотока 22.These processes correspond to processes (1) - (3) on the encoder side. Although not shown in the figures, the flag 143 identifying the common use of the state parameter of the probability of occurrence is pre-extracted from the video stream 22.

(6) Обработка арифметического декодирования(6) Arithmetic decoding processing

Поскольку вероятность появления участка, предназначенного для декодирования, задается в процессах до (6), блок декодирования 25a декодирует значение участка в соответствии с заранее определенной обработкой арифметического декодирования (этап S166 на фиг.60). Восстановленное значение 25b участка поступает обратно на блок 11c генерации вероятности появления. Блок 11c генерации вероятности появления отсчитывает частоты появления 0/1 для обновления используемого состояния 11h вероятности появления (этап S164). Блок декодирования 25a проверяет каждый раз при задании восстановленного значения каждого участка согласование восстановленного значения и шаблонов двоичной последовательности, заданных правилами преобразования к двоичному виду, и выводит значение данных, указанное согласованным шаблоном, в качестве значения данных декодирования (этап S167). Пока данные декодирования не заданы, блок декодирования 25a возвращается к этапу S166 и продолжает обработку декодирования.Since the probability of occurrence of a portion to be decoded is specified in the processes before (6), the decoding unit 25a decodes the value of the portion in accordance with the predetermined arithmetic decoding processing (step S166 in FIG. 60). The reconstructed portion value 25b is fed back to the occurrence probability generating unit 11c. An occurrence probability generating unit 11c counts occurrence frequencies 0/1 to update the occurrence probability state 11h used (step S164). The decoding unit 25a checks each time, when setting the restored value of each section, the matching of the restored value and the binary sequence patterns specified by the binary conversion rules, and outputs the data value indicated by the matched pattern as the value of the decoding data (step S167). Until decoding data is set, decoding unit 25a returns to step S166 and continues decoding processing.

Согласно кодеру и декодеру, включающим в себя обработку арифметического кодирования и обработку арифметического декодирования согласно вышеописанным конфигурациям, можно осуществлять более эффективное кодирование, когда кодируемая информация для каждого из цветовых компонентов адаптивно подвергается арифметическому кодированию согласно флагу 123c идентификации общего использования заголовка макроблока.According to an encoder and a decoder including arithmetic encoding processing and arithmetic decoding processing according to the above configurations, more efficient encoding can be performed when the encoded information for each of the color components is adaptively arithmetically encoded according to the macroblock header common use identification flag 123c.

Хотя это конкретно не показано на фигурах, единицей мультиплексирования флага 143 идентификации общего использования параметра состояния вероятности появления может быть единица макроблока, единица среза, единица изображения или единица последовательности. Когда возможно обеспечить достаточную эффективность кодирования с изменением на более высоком уровне, равном или более высоком, чем уровень среза, путем мультиплексирования флага 143 идентификации общего использования параметра состояния вероятности появления как флага, расположенного на более высоком уровне данных, например, на уровне среза, изображения или последовательности, можно сократить биты служебной информации без мультиплексирования флага 143 идентификации общего использования параметра состояния вероятности появления на уровне макроблоков каждый раз при осуществлении обработки.Although not specifically shown in the figures, the unit for multiplexing the flag 143 for identifying the general use of the appearance probability state parameter may be a macroblock unit, a slice unit, an image unit, or a sequence unit. When it is possible to ensure sufficient coding efficiency with a change at a higher level equal to or higher than the slice level, by multiplexing the flag 143 identifying the general use of the probability of occurrence state parameter as a flag located at a higher data level, for example, at the slice level, image or sequence, it is possible to reduce bits of overhead information without multiplexing the flag 143 identifying the common use of the state parameter of the probability of occurrence on exactly macroblocks each time processing is performed.

Флагом 143 идентификации общего использования параметра состояния вероятности появления может быть информация, заданная внутри декодера, на основании соответствующей информации, включенной в битовый поток, отдельной от флага 143 идентификации общего использования параметра состояния вероятности появления.The occurrence probability state parameter common use identification flag 143 may be information set inside the decoder based on corresponding information included in the bitstream separate from the occurrence probability state parameter common use identification flag 143.

Согласно двенадцатому варианту осуществления арифметическое кодирование флага 123c идентификации общего использования заголовка макроблока в единицах макроблоков, модель, показанная на фиг.61, используется для контекстуальной модели 11f. На фиг.61 значение флага 123c идентификации общего использования заголовка макроблока в макроблоке X обозначено IDCX. При осуществлении кодирования флага 123c идентификации общего использования заголовка макроблока в макроблоке C макроблоки принимают следующие три состояния на основании значения IDCA флага 123c идентификации общего использования заголовка макроблока для макроблока A и значения IDCB флага 123c идентификации общего использования заголовка макроблока для макроблока B согласно уравнению на фигуре.According to a twelfth embodiment, the arithmetic coding of the macroblock header common use identification flag 123c in macroblock units, the model shown in FIG. 61 is used for context model 11f. In FIG. 61, the value of the macroblock header common use identification flag 123c in macroblock X is indicated by IDC X. When carrying out a coding flag 123c common-use identification header of the macroblock in the macroblock C macro-blocks take the following three states based on the value IDC A flag 123c common-use identification macroblock header for the macroblock A and a value IDC B flag 123c common-use identification macroblock header for a macroblock B according to equation to figure.

Значение 0: A и B находятся в режиме "использования общего заголовка макроблока для C0, C1 и C2".Value 0: A and B are in the "use a common macroblock header for C0, C1 and C2" mode.

Значение 1: один из A и B находится в режиме "использования общего заголовка макроблока для C0, C1 и C2", а другой находится в режиме "использования отдельных заголовков макроблоков для C0, C1 и C2".Value 1: one of A and B is in the "use common macroblock header for C0, C1 and C2" mode, and the other is in the "use separate macroblock header for C0, C1 and C2" mode.

Значение 2: A и B находятся в режиме "использования отдельных заголовков макроблоков для C0, C1 и C2".Value 2: A and B are in the "use separate macroblock headers for C0, C1 and C2" mode.

Кодирование флага 123c идентификации общего использования заголовка макроблока таким образом позволяет осуществлять арифметическое кодирование согласно состоянию кодирования макроблоков в окружении и повышать эффективность кодирования. Из объяснения операций декодера согласно двенадцатому варианту осуществления очевидно, что контекстуальные модели задаются посредством одной и той же процедуры на стороне кодирования и на стороне декодирования для осуществления арифметического декодирования.The encoding of the macroblock header common use identification flag 123c in this way allows arithmetic coding according to the encoding state of the macroblocks in the environment and improves coding efficiency. From the explanation of the operations of the decoder according to the twelfth embodiment, it is obvious that contextual models are defined by the same procedure on the encoding side and on the decoding side to perform arithmetic decoding.

Согласно двенадцатому варианту осуществления в отношении информации заголовка, показанной на фиг.50, включенной в заголовок макроблока (тип макроблока, тип субмакроблока, режим интрапрогнозирования, идентификационный номер опорного изображения, вектор движения, информация индикации эффективности/неэффективности коэффициентов преобразования и параметр квантования), арифметическое кодирование осуществляется в контекстуальных моделях, заданных для соответствующих типов информации. Как показано на фиг.62, все контекстуальные модели задаются для текущего макроблока C со ссылкой на соответствующую информацию о макроблоках A и B. Здесь, как показано на фиг.62(a), когда макроблок C находится в режиме "использования общего заголовка макроблока для C0, C1 и C2", и макроблок B находится в режиме "использования отдельных заголовков макроблоков для C0, C1 и C2", информация о конкретном цветовом компоненте среди C0, C1 и C2 используется как опорная информация при задании контекстуальных моделей.According to a twelfth embodiment, with respect to the header information shown in FIG. 50 included in the macroblock header (macroblock type, sub-macroblock type, intra-prediction mode, reference image identification number, motion vector, conversion coefficient efficiency / inefficiency indication information and quantization parameter), arithmetic coding is carried out in contextual models defined for the corresponding types of information. As shown in FIG. 62, all contextual models are defined for the current macroblock C with reference to the corresponding information about macroblocks A and B. Here, as shown in FIG. 62 (a), when the macroblock C is in the “use a common macroblock header for C0, C1 and C2 ", and macroblock B is in the" use separate macroblock headers for C0, C1 and C2 "mode, information about a specific color component among C0, C1 and C2 is used as reference information when defining contextual models.

Например, можно принять метод выбора, когда C0, C1 и C2 соответствуют цветовым компонентам R, G и B, причем компонент G имеет компонент, ближайший к сигналу яркости, традиционно используемому для кодирования в качестве сигнала, хорошо представляющего структуру изображения. Дело в том, что даже в режиме "использования общего заголовка макроблока для C0, C1 и C2" информация о заголовке макроблока часто задается на основании компонента G для осуществления кодирования.For example, a selection method may be adopted when C0, C1, and C2 correspond to the color components R, G, and B, with component G having the component closest to the luminance signal traditionally used for encoding as a signal that well represents the image structure. The fact is that even in the "use a common macroblock header for C0, C1 and C2" mode, macroblock header information is often set based on component G for encoding.

С другой стороны, в противном случае, как показано на фиг.62(b), когда макроблок C находится в режиме "использования отдельных заголовков макроблоков для C0, C1 и C2", и макроблок B находится в режиме "использования общего заголовка макроблока для C0, C1 и C2", необходимо кодировать и декодировать информацию заголовка о трех цветовых компонентах в макроблоке C. В этом случае информация заголовка о соответствующих цветовых компонентах используется в качестве опорной информации при задании контекстуальных моделей. Что касается макроблока B, информация заголовка, общая для трех компонентов, используется в качестве значения, которое одинаково для трех компонентов. Хотя это очевидно, когда флаг 123c идентификации общего использования заголовка макроблока указывает одно и то же значение для всех макроблоков A, B и C, фрагменты опорной информации, соответствующие макроблокам, всегда присутствуют. Таким образом, используются фрагменты опорной информации.On the other hand, otherwise, as shown in FIG. 62 (b), when the macroblock C is in the "use separate macroblock headers for C0, C1 and C2" mode, and the macroblock B is in the "use the common macroblock header for C0 , C1 and C2 ", it is necessary to encode and decode the header information about the three color components in macroblock C. In this case, the header information about the corresponding color components is used as reference information when defining contextual models. As for macroblock B, header information common to the three components is used as a value that is the same for the three components. Although this is obvious when the macroblock header common use identification flag 123c indicates the same value for all macroblocks A, B and C, pieces of reference information corresponding to the macroblocks are always present. Thus, fragments of reference information are used.

Из объяснения операций декодера согласно двенадцатому варианту осуществления очевидно, что контекстуальные модели задаются посредством одной и той же процедуры на стороне кодирования и на стороне декодирования для осуществления арифметического декодирования. После определения, к информации какого компонента относится контекстуальная модель, подлежащая использованию, обновление состояния вероятности появления, связанного с контекстуальной моделью, выполняется на основании состояния флага 143 идентификации общего использования параметра состояния вероятности появления.From the explanation of the operations of the decoder according to the twelfth embodiment, it is obvious that contextual models are defined by the same procedure on the encoding side and on the decoding side to perform arithmetic decoding. After determining which component information the contextual model to be used belongs to, updating the appearance probability state associated with the contextual model is performed based on the state of the identification flag 143 of the general use of the appearance probability state parameter.

Согласно двенадцатому варианту осуществления арифметическое кодирование, соответствующее распределениям вероятности появления для соответствующих данных объекта кодирования, также осуществляется для соответствующих данных коэффициентов преобразования компонентов C0, C1 и C2. В качестве этих данных кодированные данные для трех компонентов всегда включаются в битовый поток независимо от того, используется ли заголовок макроблока совместно. Согласно двенадцатому варианту осуществления, поскольку интрапрогнозирование и интерпрогнозирование осуществляются на цветовых пространствах кодированного входного сигнала и получается разностный сигнал прогнозирования, считается, что распределение данных коэффициентов преобразования, полученное целочисленным преобразованием разностного сигнала прогнозирования, - это то же самое распределение вероятности появления независимо от периферийного состояния, например, используется ли заголовок макроблока, показанный на фиг.62, совместно. Таким образом, согласно двенадцатому варианту осуществления общая контекстуальная модель задается и используется для кодирования и декодирования независимо от того, используется ли заголовок макроблока совместно для соответствующих компонентов C0, C1 и C2.According to a twelfth embodiment, arithmetic coding corresponding to probability distributions of occurrence for the corresponding data of the encoding object is also performed for the corresponding data of transform coefficients of components C0, C1, and C2. As this data, encoded data for the three components is always included in the bitstream, regardless of whether the macroblock header is shared. According to a twelfth embodiment, since intra-prediction and inter-prediction are performed on the color spaces of the encoded input signal and a prediction difference signal is obtained, it is believed that the distribution of the transform coefficient data obtained by the integer transform of the prediction difference signal is the same probability distribution of occurrence regardless of the peripheral state, for example, is the macroblock header shown in FIG. 62 used spot. Thus, according to the twelfth embodiment, a common contextual model is defined and used for encoding and decoding, regardless of whether the macroblock header is shared between the respective components C0, C1, and C2.

Из объяснения операций декодера согласно двенадцатому варианту осуществления очевидно, что контекстуальные модели задаются посредством одной и той же процедуры на стороне кодирования и на стороне декодирования для осуществления арифметического декодирования. После определения, к информации какого компонента относится контекстуальная модель, подлежащая использованию, обновление состояния вероятности появления, связанного с контекстуальной моделью, выполняется на основании состояния флага 143 идентификации общего использования параметра состояния вероятности появления.From the explanation of the operations of the decoder according to the twelfth embodiment, it is obvious that contextual models are defined by the same procedure on the encoding side and on the decoding side to perform arithmetic decoding. After determining which component information the contextual model to be used belongs to, updating the appearance probability state associated with the contextual model is performed based on the state of the identification flag 143 of the general use of the appearance probability state parameter.

Тринадцатый вариант осуществленияThirteenth Embodiment

Согласно тринадцатому варианту осуществления будут описаны варианты осуществления другого кодера и другого декодера, выведенных из кодера и декодера, описанных согласно вариантам осуществления с седьмого по двенадцатый. Кодер и декодер согласно тринадцатому варианту осуществления отличаются тем, что кодер, который осуществляет обработку преобразования цветового пространства на входном каскаде кодера, описанного согласно вариантам осуществления с седьмого по двенадцатый, преобразует цветовые пространства видеосигнала, введенного в кодер после преобразования изображения к произвольным цветовым пространствам, пригодным для кодирования, и мультиплексирует в битовый поток информацию, указывающую обработку обратного преобразования для возвращения цветовых пространств к цветовым пространствам на момент преобразования изображения на стороне декодирования, и посредством конфигурации для извлечения информации, указывающей обработку обратного преобразования из битового потока, получает декодированное изображение с помощью декодера, описанного согласно вариантам осуществления с седьмого по двенадцатый, и затем осуществляет обратное пространственное преобразование на основании информации, указывающей обработку обратного преобразования.According to a thirteenth embodiment, embodiments of another encoder and another decoder derived from the encoder and decoder described according to the seventh through twelfth embodiments will be described. The encoder and decoder according to the thirteenth embodiment are characterized in that the encoder that performs color space conversion processing on the input stage of the encoder described according to the seventh through twelfth embodiments converts the color spaces of the video signal input to the encoder after converting the image to arbitrary color spaces suitable for encoding, and multiplexes into the bitstream information indicating inverse transform processing to return color spaces to color spaces at the time of converting the image on the decoding side, and by means of a configuration for extracting information indicating inverse transform processing from the bitstream, obtains a decoded image using the decoder described in the seventh through twelfth embodiments, and then performs the inverse spatial transform based on information indicating inverse transformation processing.

Структуры кодера и декодера согласно тринадцатому варианту осуществления показаны на фиг.63. Кодер и декодер согласно тринадцатому варианту осуществления будут объяснены со ссылкой на фиг.63.The structures of the encoder and decoder according to the thirteenth embodiment are shown in FIG. An encoder and a decoder according to a thirteenth embodiment will be explained with reference to FIG.

Кодер согласно тринадцатому варианту осуществления включает в себя, помимо кодера 303 согласно вариантам осуществления с седьмого по двенадцатый, блок 301 преобразования цветового пространства на предварительном каскаде кодера 303. Блок 301 преобразования цветового пространства включает в себя одну или совокупность разновидностей обработки преобразования цветового пространства. Блок 301 преобразования цветового пространства выбирает обработку преобразования цветового пространства, подлежащую использованию, согласно характеристикам входного видеосигнала, системных настроек и т.п. для осуществления обработки преобразования цветового пространства на входном видеосигнале и передает преобразованный видеосигнал 302, полученный в результате обработки преобразования цветового пространства, на кодер 303. Одновременно блок 301 преобразования цветового пространства выводит информацию для идентификации используемой обработки преобразования цветового пространства на кодер 303 в качестве информации 304 идентификации метода преобразования цветового пространства. Кодер 303 мультиплексирует информацию 304 идентификации метода преобразования цветового пространства в битовый поток 305, в котором преобразованный видеосигнал 302 кодирован со сжатием согласно методу, описанному согласно вариантам осуществления с седьмого по двенадцатый, в качестве сигнала объекта кодирования и передает информацию 304 идентификации метода преобразования цветового пространства по линии передачи или выводит информацию 304 идентификации метода преобразования цветового пространства на записывающее устройство, которое осуществляет запись на носитель записи.The encoder according to the thirteenth embodiment includes, in addition to the encoder 303 according to the seventh to twelfth embodiments, a color space conversion unit 301 at a preliminary stage of the encoder 303. The color space conversion unit 301 includes one or a plurality of varieties of color space conversion processing. The color space conversion unit 301 selects a color space conversion processing to be used according to characteristics of an input video signal, system settings, and the like. for performing color space conversion processing on the input video signal, and transmits the converted video signal 302 resulting from the color space conversion processing to the encoder 303. At the same time, the color space conversion unit 301 outputs information for identifying the color space conversion processing used to the encoder 303 as identification information 304 color space conversion method. The encoder 303 multiplexes the color space conversion method identification information 304 into a bitstream 305, in which the converted video signal 302 is compressed encoded according to the method described in the seventh to twelfth embodiments as an encoding object signal, and transmits the color space conversion method identification information 304 by a transmission line or outputs information 304 identifying a method for converting a color space to a recording device that implements Records to the recording medium.

В качестве подготовленного метода преобразования цветового пространства, например, существуют преобразования, например преобразование из RGB в YUV, традиционно используемое в качестве стандартаAs a prepared method for color space conversion, for example, there are transformations, for example, a conversion from RGB to YUV, traditionally used as a standard

Figure 00000052
,
Figure 00000052
,

прогнозирование между цветовыми компонентамиprediction between color components

C0=G'=GC0 = G '= G

C1=B'=B f(G) (f(G): результат обработки фильтрации для компонента G)C1 = B '= B f (G) (f (G): result of filtering processing for component G)

C2=R'=R f(G) иC2 = R '= R f (G) and

преобразование из RGB в YCoGgconversion from RGB to YCoGg

C0=Y=R/2+G/2+B/4C0 = Y = R / 2 + G / 2 + B / 4

C1=Co=R/2 B/2C1 = Co = R / 2 B / 2

C2=Cg=-R/4+G/2 B/4.C2 = Cg = -R / 4 + G / 2 B / 4.

Нет необходимости ограничивать входной сигнал блока 301 преобразования цветового пространства сигналом RGB. Обработка преобразования не ограничивается вышеописанными тремя разновидностями обработки.There is no need to limit the input of the color space conversion unit 301 to an RGB signal. Transformation processing is not limited to the above three types of processing.

Декодер согласно тринадцатому варианту осуществления включает в себя, помимо декодера 306 согласно вариантам осуществления с седьмого по двенадцатый, блок 308 обратного преобразования цветового пространства на последнем каскаде декодера 306. Декодер 306 принимает битовый поток 305 и извлекает информацию 304 идентификации метода преобразования цветового пространства из битового потока 305 и выводит информацию 304 идентификации метода преобразования цветового пространства. Кроме того, декодер 306 выводит декодированное изображение 307, полученное посредством операций декодера, описанного согласно вариантам осуществления с седьмого по двенадцатый. Блок 308 обратного преобразования цветового пространства включает в себя обработку обратного преобразования, соответствующую соответствующему методу преобразования цветовых пространств, выбираемых блоком 301 преобразования цветового пространства. Блок 308 обратного преобразования цветового пространства осуществляет обработку для указания преобразования, выполняемого блоком 301 преобразования цветового пространства, на основании информации 304 идентификации метода преобразования цветового пространства, выводимой декодером 306, применения обработки обратного преобразования к декодированному изображению 307 и возвращения декодированного изображения 307 к цветовым пространствам видеосигнала, введенным в кодер согласно тринадцатому варианту осуществления.The decoder according to the thirteenth embodiment includes, in addition to the decoder 306 according to the seventh to twelfth embodiments, a color space inverse transform unit 308 at the last stage of the decoder 306. The decoder 306 receives the bit stream 305 and extracts color space conversion method identification information 304 from the bit stream 305 and outputs identification information 304 of a color space conversion method. In addition, the decoder 306 outputs the decoded image 307 obtained through the operations of the decoder described according to the seventh through twelfth embodiments. The color space inverse transform unit 308 includes an inverse transform processing corresponding to a corresponding color space transform method selected by the color space transform unit 301. The color space inverse transform unit 308 performs processing for indicating the conversion performed by the color space transform unit 301 based on the color space conversion method identification information 304 output by the decoder 306, applying the inverse transform processing to the decoded image 307, and returning the decoded image 307 to the color spaces of the video signal inserted into the encoder according to the thirteenth embodiment.

Согласно кодеру и декодеру согласно тринадцатому варианту осуществления оптимальная обработка преобразования для цветовых пространств применяется к видеосигналу, подлежащему кодированию на предварительном каскаде кодирования и последнем каскаде обработки декодирования для удаления корреляции, включенной в сигнал изображения, включающий в себя три цветовых компонента, до кодирования. Таким образом, можно осуществлять кодирование в состоянии сниженной избыточности и повышать эффективность сжатия. В традиционной стандартной системе кодирования, например MPEG, цветовые пространства сигнала, подлежащего кодированию, ограничиваются только YUV. Однако, поскольку кодер и декодер включают в себя блок 301 преобразования цветового пространства и блок 308 обратного преобразования цветового пространства и информация 304 идентификации метода преобразования цветового пространства включена в битовый поток 305, можно исключить ограничение на цветовые пространства видеосигнала, введенного для кодирования. Кроме того, можно кодировать видеосигнал с использованием оптимального преобразования, выбранного из совокупности разновидностей средств удаления корреляции между цветовыми компонентами.According to an encoder and a decoder according to a thirteenth embodiment, the optimal conversion processing for color spaces is applied to a video signal to be encoded at a preliminary coding stage and a final decoding processing stage to remove a correlation included in an image signal including three color components before encoding. Thus, it is possible to carry out coding in a state of reduced redundancy and increase compression efficiency. In a conventional standard coding system, for example MPEG, the color spaces of a signal to be encoded are limited only to YUV. However, since the encoder and decoder include a color space conversion unit 301 and a color space inverse conversion unit 308 and color space conversion method identification information 304 is included in the bitstream 305, the color space limitation of the video signal input for encoding can be eliminated. In addition, you can encode a video signal using the optimal conversion selected from a set of varieties of means for removing correlation between color components.

Тринадцатый вариант осуществления описан при условии, что блок 301 преобразования цветового пространства и блок 308 обратного преобразования цветового пространства всегда активированы. Однако без активации этих блоков обработки можно также принять конфигурацию для кодирования на более высоком уровне, например последовательности, информации, указывающей обеспечение совместимости с традиционным стандартом.A thirteenth embodiment is described provided that the color space transform unit 301 and the color space inverse transform unit 308 are always activated. However, without activating these processing units, it is also possible to adopt a configuration for encoding at a higher level, for example, a sequence of information indicating compatibility with the traditional standard.

Можно также построить блок 301 преобразования цветового пространства и блок 308 обратного преобразования цветового пространства согласно тринадцатому варианту осуществления в кодере и декодере согласно вариантам осуществления с седьмого по двенадцатый для осуществления преобразования цветового пространства на уровне разностного сигнала прогнозирования. Построенные таким образом кодер и декодер показаны на фиг.64 и фиг.65 соответственно. В кодере, показанном на фиг.64, вместо блока преобразования 8 обеспечен блок преобразования 310, и вместо блока обратного преобразования 13 обеспечен блок обратного преобразования 312. В декодере, показанном на фиг.65, вместо блока обратного преобразования 13 обеспечен блок обратного преобразования 312.It is also possible to construct a color space transforming unit 301 and a color space inverse transforming unit 308 according to a thirteenth embodiment in an encoder and a decoder according to the seventh to twelfth embodiments for performing color space conversion at a prediction difference signal level. The encoder and decoder thus constructed are shown in FIG. 64 and FIG. 65, respectively. In the encoder shown in FIG. 64, a transform block 310 is provided instead of the transform block 8, and an inverse transform block 312 is provided instead of the inverse transform block 132. In the decoder shown in FIG. 65, an inverse transform block 312 is provided instead of the inverse transform block 13.

Прежде всего, как указано в виде обработки блока 301 преобразования цветового пространства, блок преобразования 310 выбирает оптимальную обработку преобразования из совокупности разновидностей обработки преобразования цветового пространства и выполняет преобразование цветового пространства на разностном сигнале прогнозирования 4 компонентов C0, C1 и C2, выводимом из блока 5 принятия решения относительно режима кодирования. После этого блок преобразования 310 выполняет преобразование, эквивалентное тому, которое выполняет блок преобразования 8, на результат преобразования цветового пространства. Блок преобразования 310 передает информацию идентификации метода преобразования цветового пространства 311, указывающую, какое преобразование выбрано, на блок 11 кодирования с переменной длиной слова, мультиплексирует информацию идентификации метода преобразования цветового пространства 311 в битовый поток и выводит битовый поток как видеопоток 22. Блок обратного преобразования 312 осуществляет обратное преобразование, эквивалентное тому, которое выполняет блок обратного ортогонального преобразования 13, и затем выполняет обработку обратного преобразования цветового пространства с использованием обработки преобразования цветового пространства, обозначенной информацией 311 идентификации метода преобразования цветового пространства.First of all, as indicated by the processing of the color space conversion unit 301, the conversion unit 310 selects the optimal conversion processing from the set of color space conversion processing types and performs color space conversion on the prediction difference signal 4 of the components C0, C1 and C2 output from the adoption unit 5 decisions regarding coding mode. After that, the conversion unit 310 performs a conversion equivalent to that of the conversion unit 8 to the result of the color space conversion. The conversion unit 310 transmits identification information of the color space conversion method 311 indicating which conversion is selected to the variable word length encoding unit 11, multiplexes the identification information of the method for converting the color space 311 to a bitstream and outputs the bitstream as a video stream 22. The inverse transformation unit 312 performs an inverse transformation equivalent to that performed by the inverse orthogonal transform unit 13, and then performs inverse processing th color space transform processing using color space transform, indicated by the identification information 311 color space transform method.

В декодере блок 25 декодирования с переменной длиной слова извлекает информацию 311 идентификации метода преобразования цветового пространства из битового потока и передает результат извлечения на блок обратного преобразования 312 для осуществления такой же обработки, как обработка блока обратного преобразования 312 в кодере. При такой конфигурации, когда можно в достаточной степени удалить, в области прогнозируемой разности, оставшуюся корреляцию между цветовыми компонентами, можно выполнять удаление как часть обработки кодирования. Таким образом, достигается повышение эффективности кодирования. Однако когда отдельные заголовки макроблоков используются для компонентов C0, C1 и C2, прежде всего, метод прогнозирования меняется для каждого из компонентов, например интрапрогнозирование для компонента C0 и интерпрогнозирование для компонента C1. Таким образом, корреляция может менее легко поддерживаться в области разностного сигнала прогнозирования 4. Таким образом, когда отдельные заголовки макроблоков используются для компонентов C0, C1 и C2, блоку преобразования 310 и блоку обратного преобразования 312 можно предписывать не выполнять преобразование цветового пространства. Указание, выполняется ли преобразование цветового пространства в области разностного сигнала прогнозирования 4, может мультиплексироваться в битовый поток в качестве информации идентификации. Информацию 311 идентификации метода преобразования цветового пространства можно изменять в единицах последовательности, изображения, среза и макроблока.At the decoder, the variable-length decoding unit 25 retrieves the color space conversion method identification information 311 from the bitstream and transmits the extraction result to the inverse transform unit 312 to perform the same processing as the processing of the inverse transform unit 312 in the encoder. With this configuration, when it is possible to sufficiently remove, in the area of the predicted difference, the remaining correlation between the color components, you can perform the removal as part of the encoding processing. Thus, an increase in coding efficiency is achieved. However, when separate macroblock headers are used for components C0, C1 and C2, first of all, the prediction method changes for each of the components, for example, intra-prediction for component C0 and inter-prediction for component C1. Thus, correlation may be less easily maintained in the region of the prediction differential signal 4. Thus, when separate macroblock headers are used for components C0, C1, and C2, the transform unit 310 and the inverse transform unit 312 may be instructed not to perform color space conversion. An indication of whether color space conversion is performed in the region of the prediction differential signal 4 may be multiplexed into the bitstream as identification information. Color space conversion method identification information 311 may be changed in units of sequence, image, slice, and macroblock.

В структурах кодера и декодера, показанных на фиг.64 и 65, соответствующие данные коэффициентов преобразования компонентов C0, C1 и C2 имеют разные области определения сигнала для сигнала объекта кодирования согласно информации 311 идентификации метода преобразования цветового пространства. Таким образом, считается, что в общем случае распределение данных коэффициентов преобразования является другим распределением вероятности появления согласно информации 311 идентификации метода преобразования цветового пространства. Таким образом, когда кодер и декодер построены, как показано на фиг.64 и 65, кодер и декодер осуществляют кодирование и декодирование с использованием контекстуальных моделей, с которыми связано отдельное состояние вероятности появления для каждого из компонентов C0, C1 и C2 и для каждого из состояний информации 311 идентификации метода преобразования цветового пространства.In the structures of the encoder and decoder shown in FIGS. 64 and 65, the corresponding data of the transform coefficients of the components C0, C1 and C2 have different signal definition areas for the signal of the encoding object according to the identification information of the color space conversion method identification 311. Thus, it is believed that in the general case, the distribution of the data of the conversion coefficients is another probability distribution of occurrence according to the identification information 311 of the color space conversion method. Thus, when the encoder and decoder are constructed, as shown in FIGS. 64 and 65, the encoder and decoder perform encoding and decoding using contextual models that are associated with a separate occurrence probability state for each of the components C0, C1 and C2 and for each of states of information 311 identifying a color space conversion method.

Из объяснения операций декодера, согласно двенадцатому варианту осуществления очевидно, что контекстуальные модели задаются посредством одной и той же процедуры на стороне кодирования и на стороне декодирования для осуществления арифметического декодирования. После определения, к информации какого компонента относится контекстуальная модель, подлежащая использованию, обновление состояния вероятности появления, связанного с контекстуальной моделью, выполняется на основании состояния флага 143 идентификации общего использования параметра состояния вероятности появления.From the explanation of the operations of the decoder according to the twelfth embodiment, it is obvious that contextual models are defined by the same procedure on the encoding side and on the decoding side to perform arithmetic decoding. After determining which component information the contextual model to be used belongs to, updating the appearance probability state associated with the contextual model is performed based on the state of the identification flag 143 of the general use of the appearance probability state parameter.

Четырнадцатый вариант осуществленияFourteenth Embodiment

Согласно четырнадцатому варианту осуществления будут описаны более конкретные структуры устройства, касающиеся кодера и декодера, описанных в вариантах осуществления.According to the fourteenth embodiment, more specific device structures regarding the encoder and decoder described in the embodiments will be described.

Согласно вариантам осуществления операции кодера и декодера объясняются с использованием чертежей на основании, например, фиг.1, 2, 30 и 31. В этих чертежах объясняются операции совместного ввода входного видеосигнала, включающего в себя три цветовых компонента, в кодер, осуществления в кодере кодирования и одновременно выбора, кодируются ли три цветовых компонента на основании общего режима прогнозирования или заголовка макроблока или кодируются на основании отдельных режимов прогнозирования или заголовков макроблока, ввода битового потока, полученного в результате кодирования, в декодер, и осуществления в декодере обработки декодирования и одновременно выбора на основании флага (например, флага 23 идентификации общего использования режима интрапрогнозирования или флага 123 идентификации общего использования режима интерпрогнозирования), декодированного или извлеченного из битового потока, кодируются ли три цветовых компонента на основании режима прогнозирования или заголовка макроблока или кодируются на основании отдельных режимов прогнозирования или заголовков макроблока для получения воспроизведенного видеосигнала. Ранее подробно описано, что флаг можно кодировать и декодировать в единицах данных произвольного уровня, например макроблока, среза, изображения или последовательности. Согласно четырнадцатому варианту осуществления настоящего изобретения, в частности, структура и принцип работы устройства для осуществления кодирования и декодирования с одновременным изменением кодирования трех сигналов цветовых компонентов посредством общего заголовка макроблока и кодирования трех сигналов цветовых компонентов посредством отдельных заголовков макроблоков в единицах одного кадра (или одного поля) будут объяснены на основании конкретных чертежей. В нижеследующем объяснении, если явно не указано обратное, описание "один кадр" относится к блоку данных одного кадра или одного поля.According to embodiments, the operations of the encoder and decoder are explained using drawings based on, for example, FIGS. 1, 2, 30, and 31. These drawings explain the operations of jointly inputting an input video signal including three color components into an encoder, implementing in an encoding encoder and at the same time choosing whether the three color components are encoded based on the general prediction mode or macroblock header, or encoded based on individual prediction modes or macroblock headers, bit-wise input the eye obtained by encoding to the decoder, and performing decoding processing in the decoder and simultaneously selecting based on a flag (for example, an intra prediction mode identification flag 23 or an inter prediction mode identification flag 123) decoded or extracted from a bitstream whether the three color components based on the prediction mode or the macroblock header are encoded based on the individual prediction modes or headers macroblock for receiving the reproduced video signal. It has been previously described in detail that a flag can be encoded and decoded in arbitrary level data units, for example, a macroblock, slice, image, or sequence. According to a fourteenth embodiment of the present invention, in particular, the structure and principle of operation of an apparatus for performing encoding and decoding while changing the encoding of three color component signals by means of a common macroblock header and encoding of three color component signals by separate macroblock headers in units of one frame (or one field ) will be explained based on the specific drawings. In the following explanation, unless expressly stated otherwise, the description "one frame" refers to a data block of one frame or one field.

Предполагается, что заголовок макроблока согласно четырнадцатому варианту осуществления включает в себя: флаг идентификации размера блока преобразования, показанный на фиг.15; информацию режима кодирования и прогнозирования, показанную на фиг.50, например тип макроблока, тип субмакроблока и режим интрапрогнозирования; информацию прогнозирования движения, например идентификационный номер опорного изображения и вектор движения; информацию индикации эффективности/неэффективности коэффициентов преобразования; и служебную информацию макроблока, отличную от данных коэффициентов преобразования, например параметр квантования для коэффициента преобразования.It is assumed that the macroblock header according to the fourteenth embodiment includes: a transform block size identification flag shown in FIG. 15; coding and prediction mode information shown in FIG. 50, for example, macroblock type, submacroblock type, and intra-prediction mode; motion prediction information, for example, a reference image identification number and a motion vector; information indicating the effectiveness / inefficiency of conversion factors; and macroblock overhead information other than the transform coefficient data, for example, a quantization parameter for the transform coefficient.

В нижеследующем объяснении обработка кодирования трех сигналов цветовых компонентов одного кадра с общим заголовком макроблока именуется "общей обработкой кодирования", и обработка кодирования трех сигналов цветовых компонентов одного кадра с отдельными независимыми заголовками макроблока именуется "независимой обработкой кодирования". Аналогично, обработка декодирования данных изображения кадра из битового потока, в котором три сигнала цветовых компонентов одного кадра закодированы посредством общего заголовка макроблока, именуется "общей обработкой декодирования", и обработка декодирования данных изображения кадра из битового потока, в котором три сигнала цветовых компонентов одного кадра закодированы посредством отдельных независимых заголовков макроблока, именуется "независимая обработка декодирования". В общей обработке кодирования согласно четырнадцатому варианту осуществления, как показано на фиг.66, входной видеосигнал для одного кадра делится на макроблоки в группе из трех цветовых компонентов. С другой стороны, в независимой обработке кодирования, как показано на фиг.67, входной видеосигнал для одного кадра делится на три цветовых компонента, и три цветовых компонента делятся на макроблоки, состоящие из единичных цветовых компонентов. Таким образом, соответствующие макроблоки подлежат независимой обработке кодирования для соответствующих компонента C0, компонента C1 и компонента C2. Макроблоки, подлежащие общей обработке кодирования, включают в себя выборки трех цветовых компонентов из C0, C1 и C2. Макроблоки, подлежащие независимой обработке кодирования, включают в себя выборки любого из компонентов C0, C1 и C2.In the following explanation, coding processing of three color component signals of one frame with a common macroblock header is referred to as “common coding processing”, and coding processing of three color component signals of one frame with separate macroblock headers is referred to as “independent coding processing”. Similarly, decoding processing of image data of a frame from a bit stream in which three color component signals of one frame are encoded by a common macroblock header is referred to as “general decoding processing” and decoding processing of image data of a frame from a bit stream in which three signals of color components of one frame encoded by separate independent macroblock headers, referred to as “independent decoding processing”. In the general encoding processing according to the fourteenth embodiment, as shown in FIG. 66, the input video signal for one frame is divided into macroblocks in a group of three color components. On the other hand, in independent coding processing, as shown in FIG. 67, the input video signal for one frame is divided into three color components, and the three color components are divided into macroblocks consisting of single color components. Thus, the corresponding macroblocks are subject to independent coding processing for the respective component C0, component C1, and component C2. Macroblocks subject to general coding processing include samples of three color components from C0, C1, and C2. Macroblocks subject to independent coding processing include samples of any of the components C0, C1, and C2.

На фиг.68 показана схема, поясняющая соотношение опорного прогнозирования движения во временном измерении между изображениями в кодере и декодере согласно четырнадцатому варианту осуществления. В этом примере блок данных, обозначенный толстой вертикальной линией, задается как изображение и соотношение между изображением и блоком доступа обозначено окружающей пунктирной линией. В случае общей обработки кодирования и декодирования одно изображение является данными, представляющими видеосигнал для одного кадра, в котором смешаны три цветовых компонента. В случае независимой обработки кодирования и декодирования одно изображение является видеосигналом для одного кадра любого из цветовых компонентов. Блок доступа - это минимальный блок данных, обеспечивающий метку времени для синхронизации с аудио/звуковой информацией и т.п. для видеосигнала. В случае общей обработки кодирования и декодирования данные для одного изображения включаются в один блок доступа (427a на фиг.68). С другой стороны, в случае независимой обработки кодирования и декодирования три изображения включаются в один блок доступа (427b на фиг.68). Дело в том, что в случае независимой обработки кодирования и декодирования видеосигнал воспроизведения для одного кадра не получается, пока не будут собраны изображения в идентичное время отображения для всех трех цветовых компонентов. Номера, указанные над соответствующими изображениями, указывают порядок обработки кодирования и декодирования во временном измерении изображения (frame_num для AVC). На фиг.68 стрелки между изображениями указывают опорное направление прогнозирования движения. В случае независимой обработки кодирования и декодирования опорное прогнозирование движения между изображениями, включенными в идентичный блок доступа, и опорное прогнозирование движения между разными цветовыми компонентами не осуществляется. Изображения соответствующих цветовых компонентов C0, C1 и C2 кодируются и декодируются с прогнозированием и опорой на движение только для сигналов идентичных цветовых компонентов. При такой структуре в случае независимой обработки кодирования и декодирования согласно четырнадцатому варианту осуществления можно выполнять кодирование и декодирование соответствующих цветовых компонентов, вовсе не опираясь на обработку кодирования и декодирования других цветовых компонентов. Таким образом, легко осуществлять параллельную обработку.On Fig shows a diagram explaining the relationship of the reference motion prediction in the time dimension between the images in the encoder and the decoder according to the fourteenth embodiment. In this example, a data block indicated by a thick vertical line is defined as an image and the relationship between the image and the access unit is indicated by the surrounding dashed line. In the case of general encoding and decoding processing, one image is data representing a video signal for one frame in which three color components are mixed. In the case of independent processing of encoding and decoding, one image is a video signal for one frame of any of the color components. An access unit is a minimal data unit that provides a time stamp for synchronization with audio / audio information, etc. for video signal. In the case of general encoding and decoding processing, data for one image is included in one access unit (427a in FIG. 68). On the other hand, in the case of independent encoding and decoding processing, three images are included in one access unit (427b in FIG. 68). The fact is that in the case of independent encoding and decoding processing, the playback video signal for one frame does not work until the images are collected at the same display time for all three color components. The numbers indicated above the corresponding images indicate the encoding and decoding processing order in the time dimension of the image (frame_num for AVC). 68, arrows between images indicate a reference direction of motion prediction. In the case of independent encoding and decoding processing, reference motion prediction between images included in an identical access unit and motion reference prediction between different color components is not performed. Images of the respective color components C0, C1, and C2 are encoded and decoded with prediction and motion support only for signals of identical color components. With this structure, in the case of independent encoding and decoding processing according to the fourteenth embodiment, it is possible to encode and decode the corresponding color components, not at all relying on the encoding and decoding processing of other color components. Thus, it is easy to carry out parallel processing.

В AVC определено изображение IDR (мгновенное обновление декодера), которое само осуществляет интракодирование и сбрасывает содержимое памяти опорного изображения, используемое для прогнозирования с компенсацией движения. Поскольку изображение IDR декодируемо без опоры на любые другие изображения, изображение IDR используется как точка произвольного доступа. В блоке доступа в случае общей обработки кодирования один блок доступа представляет собой одно изображение. Однако в блоке доступа в случае независимой обработки кодирования один блок доступа образован совокупностью изображений. Таким образом, когда определенное изображение цветового компонента представляет собой изображение IDR, исходя из того, что все остальные изображения цветового компонента также являются изображениями IDR, блок доступа IDR задается для обеспечения функции произвольного доступа.An AVR defines an IDR image (instant decoder update), which itself performs intra-coding and discards the contents of the reference image memory used for motion-compensated prediction. Since the IDR image is decoded without reliance on any other images, the IDR image is used as a random access point. In the access unit, in the case of general coding processing, one access unit is a single image. However, in the access unit, in the case of independent encoding processing, one access unit is constituted by a plurality of images. Thus, when a specific color component image is an IDR image, assuming that all other color component images are also IDR images, an IDR access unit is set to provide a random access function.

В нижеследующем объяснении информация идентификации, указывающая, осуществляется ли кодирование посредством общей обработки кодирования или посредством независимой обработки кодирования, называется сигналом идентификации общего кодирования/независимого кодирования.In the following explanation, identification information indicating whether encoding is performed by general encoding processing or by independent encoding processing is called a common encoding / independent encoding identification signal.

На фиг.69 показана схема, поясняющая структуру битового потока, который генерируется кодером согласно четырнадцатому варианту осуществления и поступает на вход декодера согласно четырнадцатому варианту осуществления для обработки декодирования. На фиг.69 показана структура битового потока от уровня последовательностей до уровня кадров. Прежде всего, сигнал 423 идентификации общего кодирования/независимого кодирования мультиплексируется с верхним заголовком уровня последовательностей (в случае AVC, набором параметров последовательности и т.д.). Соответствующие кадры кодируются в единицах блоков доступа. AUD указывает блок NAL разделителя блоков доступа, который является уникальным блоком NAL для идентификации разрыва блока доступа в AVC. Когда сигнал 423 идентификации общего кодирования/независимого кодирования указывает "кодирование изображения посредством общей обработки кодирования", кодированные данные для одного изображения включены в блок доступа. Предполагается, что изображение в этом случае является вышеописанными данными, представляющими видеосигнал для одного кадра, в котором смешаны три цветовых компонента. В этом случае кодированные данные i-го блока доступа образуют набор данных среза Slice(i,j), и "j" - это индекс данных среза в одном изображении.69 is a diagram for explaining a structure of a bitstream that is generated by an encoder according to a fourteenth embodiment and is input to a decoder according to a fourteenth embodiment for decoding processing. On Fig shows the structure of the bit stream from the sequence level to the frame level. First of all, the common encoding / independent encoding identification signal 423 is multiplexed with an upper sequence level header (in the case of AVC, a set of sequence parameters, etc.). Corresponding frames are encoded in units of access units. AUD indicates an access block separator NAL unit, which is a unique NAL unit for identifying an access unit gap in the AVC. When the common encoding / independent encoding identification signal 423 indicates “image encoding by general encoding processing”, encoded data for one image is included in the access unit. It is assumed that the image in this case is the above data representing the video signal for one frame in which three color components are mixed. In this case, the encoded data of the i-th access unit form the Slice slice data set (i, j), and “j” is the index of the slice data in one image.

С другой стороны, когда сигнал 423 идентификации общего кодирования/независимого кодирования указывает "кодирование изображения посредством независимой обработки кодирования", одно изображение представляет собой видеосигнал для одного кадра любого из цветовых компонентов. В этом случае кодированные данные p-го блока доступа образуют набор данных среза Slice(p,q,r) q-го изображения в блоке доступа, и "r" - это индекс данных среза в одном изображении. В случае видеосигнала, образованного тремя цветовыми компонентами, например RGB, количество значений, которые может принимать "q", равно трем. В случае, например, когда дополнительные данные, например информация проницаемости для альфа-смешивания, кодируются и декодируются как идентичный блок доступа помимо видеосигнала, включающего в себя три главных цвета, или в случае кодиравания и декодирования видеосигнала, образованного цветовыми компонентами (например, YMCK, используемыми в цветной печати), в количестве, большем или равном четырем, количество значений, которые может принимать "q", задается равным четырем или более. При выборе независимой обработки кодирования кодер и декодер согласно четырнадцатому варианту осуществления кодируют соответствующие цветовые компоненты, образующие видеосигнал, полностью независимо друг от друга. Таким образом, можно свободно изменять количество фрагментов цветовых компонентов, в принципе, не изменяя обработку кодирования и декодирования. Это приводит к тому, что, даже когда формат сигнала для осуществления цветового представления видеосигнала изменится в будущем, это изменение можно будет согласовать с независимой обработкой кодирования согласно четырнадцатому варианту осуществления.On the other hand, when the common encoding / independent encoding identification signal 423 indicates “image encoding by independent encoding processing”, one image is a video signal for one frame of any of the color components. In this case, the encoded data of the p-th access unit form the slice data set Slice (p, q, r) of the q-th image in the access unit, and “r” is the index of the slice data in one image. In the case of a video signal formed by three color components, for example RGB, the number of values that q can take is three. In the case, for example, when additional data, such as permeability information for alpha mixing, is encoded and decoded as an identical access unit in addition to a video signal that includes three primary colors, or in the case of encoding and decoding a video signal formed by color components (e.g., YMCK, used in color printing), in an amount greater than or equal to four, the number of values that q can take is set to four or more. When selecting independent coding processing, the encoder and decoder according to the fourteenth embodiment encode the corresponding color components forming the video signal, completely independent of each other. Thus, it is possible to freely change the number of fragments of color components, in principle, without changing the encoding and decoding processing. This leads to the fact that even when the signal format for implementing the color representation of the video signal changes in the future, this change can be coordinated with the independent encoding processing according to the fourteenth embodiment.

Для реализации структуры согласно четырнадцатому варианту осуществления сигнал 423 идентификации общего кодирования/независимого кодирования представляется в виде "количества изображений, включенных в один блок доступа и независимо кодируемых без подвергания друг друга опорному прогнозированию движения". В этом случае сигнал 423 идентификации общего кодирования/независимого кодирования можно представить количеством значений, которые может принимать параметр q, и количество значений, которые может принимать параметр, обозначается ниже как num_pictures_in_au. Иными словами, num_pictures_in_au=1 указывает "общую обработку кодирования" и num_pictures_in_au=3 указывает "независимую обработку кодирования" согласно четырнадцатому варианту осуществления. При наличии четырех или более цветовых компонентов num_pictures_in_au обязано иметь значение, большее 3. Благодаря осуществлению такой сигнализации, если декодер декодирует и обращается к num_pictures_in_au, декодер может не только различать данные, кодированные посредством общей обработки кодирования, и данные, кодированные посредством независимой обработки кодирования, но также одновременно изучать, сколько изображений одного цветового компонента присутствует в одном блоке доступа. Таким образом, можно осуществлять общую обработку кодирования и независимую обработка кодирования гладко в битовом потоке, что позволяет обеспечить совместимость с расширением цветового представления видеосигнала в будущем.To implement the structure according to the fourteenth embodiment, the common encoding / independent encoding identification signal 423 is represented as “the number of images included in one access unit and independently encoded without subjecting each other to motion prediction reference”. In this case, the general encoding / independent encoding identification signal 423 can be represented by the number of values that the parameter q can take, and the number of values that the parameter can take is denoted below as num_pictures_in_au. In other words, num_pictures_in_au = 1 indicates “general encoding processing” and num_pictures_in_au = 3 indicates “independent encoding processing” according to the fourteenth embodiment. If there are four or more color components, num_pictures_in_au must have a value greater than 3. Due to this signaling, if the decoder decodes and accesses num_pictures_in_au, the decoder can not only distinguish between data encoded by general encoding processing and data encoded by independent encoding processing, but also simultaneously examine how many images of one color component are present in one access unit. Thus, it is possible to carry out general encoding processing and independent encoding processing smoothly in the bit stream, which allows for compatibility with the expansion of the color representation of the video signal in the future.

На фиг.70 показана схема, поясняющая структуры битового потока данных среза в случае общей обработки кодирования и независимой обработки кодирования. В битовом потоке, закодированном посредством независимой обработки кодирования, для достижения описанных ниже эффектов флаг идентификации цветового компонента (color_channel_idc) сообщается области заголовка в верхней части данных среза, принятых декодером, что позволяет определить, какому изображению цветового компонента в блоке доступа принадлежат данные среза. Color_channel_idc группирует срезы, имеющие одинаковое значение color_channel_idc. Иными словами, между срезами, имеющими разные значения color_channel_idc, не возникает никакой зависимости кодирования и декодирования (например, опорное прогнозирование движения, контекстуальное моделирование/изучение вероятности появления и т.д.) от CABAC. При таком предписании обеспечивается независимость соответствующих изображений в блоке доступа в случае независимой обработки кодирования. Frame_num (порядок обработки кодирования и декодирования изображения, которому принадлежит срез), мультиплексированный с соответствующим заголовком среза, задается равным идентичному значению во всех изображениях цветового компонента в одном блоке доступа.70 is a diagram for explaining the structure of a slice data bitstream in the case of general encoding processing and independent encoding processing. In the bitstream encoded by independent coding processing, to achieve the effects described below, the color component identification flag (color_channel_idc) is reported to the header area at the top of the slice data received by the decoder, which allows to determine which image of the color component in the access unit the slice data belongs to. Color_channel_idc groups slices that have the same color_channel_idc value. In other words, between slices with different color_channel_idc values, there is no dependence of encoding and decoding (for example, motion prediction, contextual modeling / study of the probability of occurrence, etc.) on CABAC. With this requirement, the independence of the corresponding images in the access unit in the case of independent encoding processing is ensured. Frame_num (the encoding and decoding processing order of the image to which the slice belongs), multiplexed with the corresponding slice header, is set to the same value in all images of the color component in one access unit.

На фиг.71 показана схема, поясняющая схематическую структуру кодера согласно четырнадцатому варианту осуществления. Согласно фиг.71 общая обработка кодирования выполняется в первом блоке 503a кодирования изображения и независимая обработка кодирования выполняется во вторых блоках 503b0, 503b1 и 503b2 кодирования изображения (подготовленных для трех цветовых компонентов). Видеосигнал 1 поступает на первый блок 503a кодирования изображения или блок 502 разделения цветовых компонентов и любой из вторых блоков 503b0-503b2 кодирования изображения для каждого цветового компонента посредством переключателя (SW) 501. Переключатель 501 активируется сигналом 423 идентификации общего кодирования/независимого кодирования и подает входной видеосигнал 1 на указанный путь. Далее следует описание случая, когда сигнал идентификации общего кодирования/независимого кодирования (num_pictures_in_au) 423 представляет собой сигнал, мультиплексированный с набором параметров последовательности, когда входной видеосигнал является сигналом в формате 4:4:4 и используется для выбора общей обработки кодирования и независимой обработки кодирования в единицах последовательностей. Этот случай отражает ту же концепцию, что и случаи флага 123 идентификации общего использования режима интерпрогнозирования, описанного согласно седьмому варианту осуществления, и флага 123c идентификации общего использования заголовка макроблока, описанного согласно одиннадцатому варианту осуществления. Когда используется общая обработка кодирования, необходимо выполнять общую обработку декодирования на стороне декодера. Когда используется независимая обработка кодирования, необходимо выполнять независимую обработку декодирования на стороне декодера. Таким образом, необходимо мультиплексировать сигнал 423 идентификации общего кодирования/независимого кодирования с битовым потоком в качестве информации, указывающей обработку. Таким образом, сигнал 423 идентификации общего кодирования/независимого кодирования вводится в блок мультиплексирования 504. Единицей мультиплексирования сигнала 423 идентификации общего кодирования/независимого кодирования может быть любая единица, например единица GOP (группы изображений), состоящая из нескольких групп изображений в последовательности, т.е. единица находится на более высоком уровне, чем уровень изображений.71 is a diagram for explaining a schematic structure of an encoder according to a fourteenth embodiment. Referring to FIG. 71, general encoding processing is performed in the first image encoding unit 503a and independent encoding processing is performed in the second image encoding units 503b0, 503b1 and 503b2 (prepared for the three color components). The video signal 1 is supplied to the first image encoding unit 503a or the color component separation unit 502 and any of the second image encoding units 503b0-503b2 for each color component via the switch (SW) 501. The switch 501 is activated by the common encoding / independent encoding identification signal 423 and provides an input video signal 1 to the specified path. The following is a description of the case where the common encoding / independent encoding identification signal (num_pictures_in_au) 423 is a signal multiplexed with a set of sequence parameters when the input video signal is a 4: 4: 4 signal and is used to select general encoding processing and independent encoding processing in units of sequences. This case reflects the same concept as the cases of the common use identification flag 123 of the inter prediction mode described according to the seventh embodiment and the common use identification flag 123c of the macroblock header described according to the eleventh embodiment. When general encoding processing is used, it is necessary to perform general decoding processing on the decoder side. When independent encoding processing is used, it is necessary to perform independent decoding processing on the decoder side. Thus, it is necessary to multiplex the common encoding / independent encoding identification signal 423 with the bitstream as information indicating processing. Thus, the common encoding / independent encoding identification signal 423 is input to the multiplexing unit 504. The multiplexing unit of the common encoding / independent encoding identification signal 423 can be any unit, for example, a GOP unit (group of images) consisting of several image groups in a sequence, i.e. e. unit is at a higher level than the level of images.

Для выполнения общей обработки кодирования первый блок 503a кодирования изображения делит входной видеосигнал 1 на макроблоки в группе выборок трех цветовых компонентов, как показано на фиг.66, и продвигает обработку кодирования в этой единице. Обработка кодирования в первом блоке 503a кодирования изображения будет описана ниже. При выборе независимой обработки кодирования входной видеосигнал 1 делится на данные для одного кадра C0, C1 и C2 в блоке 502 разделения цветовых компонентов и поступает на соответствующие вторые блоки 503b0-503b2 кодирования изображения соответственно. Вторые блоки 503b0-503b2 кодирования изображения делят сигнал для одного кадра, разделенного для каждого цветового компонента, на макроблоки в формате, показанном на фиг.67, и продвигают обработку кодирования в этой единице. Обработка кодирования во вторых блоках кодирования изображения будет описана ниже.To perform general encoding processing, the first image encoding unit 503a divides the input video signal 1 into macroblocks in a group of samples of three color components, as shown in FIG. 66, and advances the encoding processing in this unit. The encoding processing in the first image encoding unit 503a will be described below. When you select the independent encoding processing, the input video signal 1 is divided into data for one frame C0, C1, and C2 in the color component separation unit 502 and is supplied to the corresponding second image encoding units 503b0-503b2, respectively. The second image encoding units 503b0-503b2 divide the signal for one frame divided for each color component into macroblocks in the format shown in FIG. 67, and advance encoding processing in this unit. Coding processing in the second image coding units will be described below.

Видеосигнал для одного изображения, состоящий из трех цветовых компонентов, вводится в первый блок 503a кодирования изображения. Кодированные данные выводятся как видеопоток 422a. Видеосигнал для одного изображения, состоящий из одного цветового компонента, вводится во вторые блоки 503b0-503b2 кодирования изображения. Кодированные данные выводятся как видеопотоки 420b0-422b2. Эти видеопотоки мультиплексируются в формат видеопотока 422c в блоке мультиплексирования 504 на основании состояния сигнала 423 идентификации общего кодирования/независимого кодирования и выводятся.A video signal for one image, consisting of three color components, is input into the first image encoding unit 503a. The encoded data is output as a video stream 422a. A video signal for one image, consisting of one color component, is input to the second image encoding units 503b0-503b2. The encoded data is output as video streams 420b0-422b2. These video streams are multiplexed into the video stream format 422c in the multiplexing unit 504 based on the state of the common encoding / independent encoding identification signal 423 and output.

При мультиплексировании видеопотока 422c в блоке доступа в случае, когда осуществляется независимая обработка кодирования, можно перемежать данные среза, мультиплексируемые и передаваемые в битовом потоке между изображениями (соответствующими цветовыми компонентами) в блоке доступа (фиг.72). В этом случае на стороне декодера необходимо решать, какому цветовому компоненту в блоке доступа принадлежат принятые данные среза. Таким образом, используется флаг идентификации цветового компонента, мультиплексированный с областью заголовка в верхней части данных среза, как показано на фиг.70.When multiplexing the video stream 422c in the access unit in the case when independent encoding processing is performed, it is possible to interleave the slice data multiplexed and transmitted in the bit stream between the images (corresponding color components) in the access unit (Fig. 72). In this case, on the decoder side, it is necessary to decide which color component in the access unit the received slice data belongs to. Thus, the color component identification flag is multiplexed with the header area at the top of the slice data, as shown in FIG.

Благодаря структуре наподобие структуры кодера, показанного на фиг.71, когда кодер кодирует изображения трех цветовых компонентов согласно параллельной обработке с использованием трех наборов каждого из вторых блоков 503b0-503b2 кодирования изображения, независимых друг от друга, можно передавать кодированные данные, не ожидая завершения кодированных данных других изображений цветового компонента, как только данные среза собственного изображения. В AVC можно делить одно изображение на совокупность данных среза и кодировать данные среза. Можно гибко изменять длину данных среза и количество макроблоков, включенных в срез, согласно условиям кодирования. Между срезами, соседствующими друг с другом в пространстве изображения, поскольку обеспечена независимость обработки декодирования для срезов, невозможно использовать близкие контексты, например интрапрогнозирование и арифметическое кодирование. Таким образом, чем больше длина данных среза, тем выше эффективность кодирования. С другой стороны, когда ошибка примешивается в битовый поток в ходе передачи и записи, возврат из ошибки происходит тем раньше, чем меньше длина данных среза, и тем легче подавлять снижение качества. Когда длина и структура среза, порядок цветовых компонентов и т.п. фиксированы без мультиплексирования флага идентификации цветового компонента, условия генерации битового потока фиксируются в кодере. Таким образом, можно гибко приспосабливаться к различным условиям, необходимым для кодирования.Due to a structure similar to that of the encoder shown in FIG. 71, when the encoder encodes images of three color components according to parallel processing using three sets of each of the image encoding units 503b0-503b2 independent of each other, encoded data can be transmitted without waiting for the completion of the encoded data of other images of the color component, as soon as the slicing data of the own image. In AVC, you can divide a single image into a set of slice data and encode the slice data. You can flexibly change the length of the slice data and the number of macroblocks included in the slice according to the encoding conditions. Between slices adjacent to each other in the image space, since decoding processing independence for slices is ensured, it is impossible to use close contexts, such as intra-prediction and arithmetic coding. Thus, the longer the length of the slice data, the higher the coding efficiency. On the other hand, when an error is mixed into the bitstream during transmission and recording, the return from the error occurs the earlier, the shorter the length of the slice data, and the easier it is to suppress a decrease in quality. When the length and structure of the cut, the order of color components, etc. fixed without multiplexing the identification flag of the color component, the conditions for generating the bit stream are fixed in the encoder. Thus, it is possible to flexibly adapt to various conditions necessary for coding.

Если можно формировать битовый поток, как показано на фиг.72, в кодере, можно сократить размер буфера передачи, необходимого для передачи, т.е. задержку обработки на стороне кодера. Состояние снижения задержки обработки показано на фиг.71. Если мультиплексирование данных среза между изображениями не разрешено, пока не завершено кодирование изображения определенного цветового компонента, кодеру приходится буферизовать кодированные данные других изображений. Это означает, что происходит задержка на уровне изображений. С другой стороны, как показанный в самой нижней части фиг.72, если можно осуществлять перемежение на уровне срезов, блок кодирования изображения определенного цветового компонента может выводить кодированные данные на блок мультиплексирования в единицах данных среза и может подавлять задержку.If it is possible to form a bitstream, as shown in FIG. 72, in an encoder, it is possible to reduce the size of the transmission buffer necessary for transmission, i.e. processing delay on the encoder side. The processing delay reduction state is shown in FIG. If the multiplexing of slice data between images is not allowed until the encoding of the image of a certain color component is completed, the encoder has to buffer the encoded data of other images. This means that there is a delay at the image level. On the other hand, as shown in the lower part of FIG. 72, if it is possible to perform interleaving at the slice level, the image encoding unit of the specific color component can output encoded data to the multiplexing unit in slice data units and can suppress the delay.

В одном изображении цветового компонента данные среза, включенные в изображение, можно передавать в порядке развертки макроблоков или можно строить так, чтобы иметь возможность осуществлять перемежающуюся передачу даже в одном изображении.In one image of the color component, the slice data included in the image can be transmitted in the macroblock scan order or can be constructed so as to be able to interleave transmission even in one image.

Операции первого и вторых блоков кодирования изображения будут подробно описаны ниже.The operations of the first and second image coding units will be described in detail below.

Описание работы первого блока кодирования изображенияDescription of the operation of the first block coding image

Внутренняя структура первого блока кодирования изображения 503a показана на фиг.73. Согласно фиг.73 входной видеосигнал 1 вводится в формате 4:4:4 и в единицах макроблоков в группе трех цветовых компонентов в формате, показанном на фиг.66.The internal structure of the first image encoding unit 503a is shown in FIG. According to FIG. 73, the input video signal 1 is input in a 4: 4: 4 format and in units of macroblocks in a group of three color components in the format shown in FIG.

Прежде всего, блок прогнозирования 461 выбирает опорное изображение из данных опорного изображения для прогнозирования компенсации движения, хранящихся в памяти 16a, и осуществляет обработку прогнозирования для компенсации движения в единицах макроблоков. В памяти 16a хранится совокупность фрагментов данных опорного изображения, образованных тремя цветовыми компонентами на протяжении совокупности интервалов времени. Блок прогнозирования 461 выбирает оптимальное опорное изображение в единицах макроблоков из данных опорного изображения и осуществляет прогнозирование движения. В порядке размещения данных опорного изображения в памяти 16a данные опорного изображения можно по отдельности сохранять для каждого из цветовых компонентов в режиме последовательных плоскостей, или выборки соответствующих цветовых компонентов можно сохранять в режиме последовательных точек. Семь типов подготавливаются в качестве размеров блока для осуществления прогнозирования с компенсацией движения. Сначала можно выбрать любой размер из 16×16, 16×8, 8×16 и 8×8 в единицах макроблоков, как показано на фиг.32A-фиг.32D. Кроме того, при выборе 8×8, можно выбрать любой размер из 8×8, 8×4, 4×8 и 4×4 для каждого блока 8×8, как показано на фиг.32E-фиг.32H.First of all, the prediction unit 461 selects a reference image from the reference image data for predicting motion compensation stored in the memory 16a, and performs prediction processing for motion compensation in units of macroblocks. Memory 16a stores a plurality of pieces of reference image data formed by three color components over a plurality of time intervals. Prediction block 461 selects the optimal reference image in units of macroblocks from the reference image data and predicts motion. In order to place the reference image data in the memory 16a, the reference image data can be individually stored for each of the color components in the sequential plane mode, or samples of the corresponding color components can be stored in the sequence of point modes. Seven types are prepared as block sizes for predicting motion compensation. First, any size can be selected from 16 × 16, 16 × 8, 8 × 16 and 8 × 8 in units of macroblocks, as shown in FIG. 32A-FIG. 32D. In addition, when selecting 8 × 8, any size of 8 × 8, 8 × 4, 4 × 8 and 4 × 4 can be selected for each 8 × 8 block, as shown in FIG. 32E-FIG. 32H.

Блок прогнозирования 461 выполняет для каждого размера макроблока обработку прогнозирования для компенсации движения на всех или части размеров блока, размеров подблока, векторов движения в заранее определенном диапазоне поиска и одном или нескольких используемых опорных изображений. Блок прогнозирования 461 получает дифференциальный сигнал прогнозирования для каждого блока, служащего блоком прогнозирования компенсации движения с использованием векторов движения, и идентификационный номер опорного изображения 463 и вычитатель 3, используемый для прогнозирования. Эффективность прогнозирования дифференциального сигнала прогнозирования 4 оценивается в блоке 5 принятия решения относительно режима кодирования. Блок 5 принятия решения относительно режима кодирования выводит тип макроблока/тип субмакроблока 106 и вектор движения/информацию 463 идентификации опорного изображения, при которых достигается оптимальная эффективность прогнозирования для макроблока, подлежащего прогнозированию, из обработки прогнозирования, выполняемой в блоке прогнозирования 461. Все фрагменты информации заголовка макроблока, например типы макроблока, типы субмакроблока, индексы опорного изображения и векторы движения, определяются как информация заголовка, общая для трех цветовых компонентов, используемая для кодирования, и мультиплексируются с битовым потоком. При оценке оптимальности эффективности прогнозирования в целях управления объемом арифметической операции можно оценивать величину ошибки прогнозирования для заранее определенного цветового компонента (например, компонента G сигнала RGB или Y компонента сигнала YUV). Альтернативно, хотя объем арифметической операции возрастает, для получения оптимальной производительности прогнозирования, величину ошибки прогнозирования для всех цветовых компонентов можно полностью оценить. При окончательном выборе типа макроблока/типа субмакроблока 106 можно учитывать весовой коэффициент 20 для каждого типа, определенного при принятии решения блоком 19 управления кодированием.Prediction block 461 performs prediction processing for each macroblock size to compensate for movement on all or part of the block sizes, subblock sizes, motion vectors in a predetermined search range and one or more reference images used. Prediction block 461 receives a differential prediction signal for each block serving as a motion compensation prediction block using motion vectors, and a reference image identification number 463 and a subtractor 3 used for prediction. The prediction efficiency of the differential prediction signal 4 is evaluated in block 5 of the decision regarding the encoding mode. The decision block 5 regarding the coding mode derives the macroblock type / sub-macroblock type 106 and the motion vector / reference image identification information 463, at which the optimal prediction efficiency for the macroblock to be predicted is achieved from the prediction processing performed in the prediction block 461. All pieces of header information macroblocks, for example, macroblock types, submacroblock types, reference image indices and motion vectors, are defined as header information, total For three color components used for coding, and are multiplexed with a bit stream. When evaluating the optimality of prediction efficiency in order to control the volume of an arithmetic operation, it is possible to estimate the magnitude of the prediction error for a predetermined color component (for example, component G of the RGB signal or Y component of the signal YUV). Alternatively, although the volume of the arithmetic operation is increasing, to obtain optimal prediction performance, the magnitude of the prediction error for all color components can be fully estimated. In the final selection of the macroblock type / sub-macroblock type 106, a weighting factor of 20 for each type determined when deciding by the encoding control unit 19 can be taken into account.

Аналогично, блок прогнозирования 461 также выполняет интрапрогнозирование. При выполнении интрапрогнозирования информация режима интрапрогнозирования выводится в виде выходного сигнала 463. В нижеследующем объяснении, когда интрапрогнозирование и прогнозирование с компенсацией движения конкретно не различаются, в качестве выходного сигнала 463, информация режима интрапрогнозирования, информация вектора движения, идентификационный номер опорного изображения совместно называются служебной информацией прогнозирования. Что касается интрапрогнозирования, можно оценить величину ошибки прогнозирования только для заранее определенного цветового компонента или можно полностью оценить величину ошибки прогнозирования для всех цветовых компонентов. Наконец, блок прогнозирования 461 выбирает интрапрогнозирование или интерпрогнозирование типа макроблока, оценивая тип макроблока согласно эффективности прогнозирования или эффективности кодирования в блоке 5 принятия решения относительно режима кодирования.Similarly, prediction block 461 also performs intra-prediction. When performing intra-prediction, intra-prediction mode information is output as output signal 463. In the following explanation, when intra-prediction and prediction with motion compensation do not specifically differ, as output signal 463, intra-prediction mode information, motion vector information, reference image identification number are collectively referred to as overhead information forecasting. With regard to intra-prediction, it is possible to estimate the magnitude of the prediction error only for a predetermined color component, or it is possible to fully estimate the magnitude of the prediction error for all color components. Finally, prediction block 461 selects macroblock type intra-prediction or inter-prediction, judging the macroblock type according to the prediction efficiency or coding efficiency in decision block 5 regarding the coding mode.

Блок прогнозирования 461 выводит выбранный тип макроблока/тип субмакроблока 106 и дифференциальный сигнал прогнозирования 4, полученный путем интрапрогнозирования и прогнозирования с компенсацией движения на основании служебной информации прогнозирования 463, на блок преобразования 310. Блок преобразования 310 преобразует введенный дифференциальный сигнал прогнозирования 4 и выводит дифференциальный сигнал прогнозирования 4 на блок квантования 9 как коэффициент преобразования. В этом случае размер блока, служащего входным сигналом для преобразования, можно выбирать из 4×4 и 8×8. Когда имеется возможность выбирать размер блока преобразования, размер блока, выбранный во время кодирования, отражается в значении флага 464 указания размера блока преобразования, и флаг мультиплексируется с битовым потоком. Блок квантования 9 квантует коэффициент преобразования, введенный на основании параметра квантования 21, определенного блоком 19 управления кодированием, и выводит коэффициент преобразования на блок 11 кодирования с переменной длиной слова в качестве квантованного коэффициента преобразования 10. Квантованный коэффициент преобразования 10 включает в себя информацию для трех цветовых компонентов и энтропийно кодируется посредством кодирования Хаффмана, арифметического кодирования и т.п. в блоке 11 кодирования с переменной длиной слова. Квантованный коэффициент преобразования 10 восстанавливается до дифференциального сигнала прогнозирования локального декодирования 14 посредством блока обратного квантования 12 и блока обратного преобразования 312. Квантованный коэффициент преобразования 10 суммируется с прогнозируемым изображением 7, генерируемым на основании выбранного типа макроблока/типа субмакроблока 106 и служебной информации прогнозирования 463, сумматором 18. Таким образом, генерируется локально декодированное изображение 15. Будучи подвергнуто обработке удаления блочного искажения в разблокирующем фильтре 462, локально декодированное изображение 15 сохраняется в памяти 16a для использования в следующей обработке прогнозирования для компенсации движения. Флаг 24 управления разблокирующим фильтром, указывающий, применяется ли разблокирующий фильтр к макроблоку, также вводится в блок 11 кодирования с переменной длиной слова.The prediction unit 461 outputs the selected macroblock type / sub-macroblock type 106 and the differential prediction signal 4 obtained by intra-prediction and motion compensation prediction based on the prediction overhead information 463 to the conversion unit 310. The conversion unit 310 converts the inputted differential prediction signal 4 and outputs the differential signal prediction 4 per quantization block 9 as a transform coefficient. In this case, the size of the block serving as the input signal for the conversion can be selected from 4 × 4 and 8 × 8. When it is possible to select a transform block size, the block size selected during encoding is reflected in the value of the transform block size flag 464 and the flag is multiplexed with the bitstream. The quantization unit 9 quantizes the transform coefficient introduced based on the quantization parameter 21 determined by the encoding control unit 19 and outputs the transform coefficient to the variable-length encoding unit 11 as the quantized transform coefficient 10. The quantized transform coefficient 10 includes information for three color components and is entropy encoded by Huffman coding, arithmetic coding, etc. in block 11 encoding with a variable word length. The quantized transform coefficient 10 is reconstructed to the local prediction differential prediction signal 14 by the inverse quantization unit 12 and the inverse transform unit 312. The quantized transform coefficient 10 is added to the predicted image 7 generated based on the selected macroblock type / sub-macroblock type 106 and prediction overhead information 463, by the adder 18. Thus, a locally decoded image is generated 15. Being subjected to deletion processing block distortion in the de-blocking filter 462, the local decoded image 15 is stored in memory 16a for use in the next prediction processing for motion compensation. An enable filter control flag 24 indicating whether the enable filter is applied to the macroblock is also input to the variable-length encoding unit 11.

Квантованный коэффициент преобразования 10, тип макроблока/тип субмакроблока 106, служебная информация прогнозирования 463 и параметр квантования 21, введенные в блок 11 кодирования с переменной длиной слова, упорядочиваются и формируются в виде битового потока в соответствии с заранее определенным правилом (синтаксисом) и выводятся в буфер передачи 17 в качестве кодированных данных блока NAL в единицах данных среза в одной или группе из совокупности макроблоков в формате, показанном на фиг.66. Буфер передачи 17 сглаживает битовый поток согласно полосе линии передачи, к которой подключен кодер, и скорости чтения носителя записи и выводит битовый поток в качестве видеопотока 422a. Буфер передачи 17 применяет обратную связь к блоку 19 управления кодированием согласно состоянию накопления битовых потоков в буфере передачи 17 и регулирует объем генерируемых кодов при следующем кодировании видеокадров.The quantized transform coefficient 10, the macroblock type / sub-macroblock type 106, the prediction overhead 463 and the quantization parameter 21 entered into the variable-length encoding unit 11 are ordered and formed as a bit stream in accordance with a predetermined rule (syntax) and are output to transmission buffer 17 as encoded data of a NAL unit in slice data units in one or a group of a plurality of macroblocks in the format shown in FIG. The transmission buffer 17 smooths the bit stream according to the band of the transmission line to which the encoder is connected and the read speed of the recording medium, and outputs the bit stream as the video stream 422a. The transmission buffer 17 applies feedback to the encoding control unit 19 according to the state of accumulation of bit streams in the transmission buffer 17 and adjusts the amount of generated codes at the next encoding of the video frames.

Выходной сигнал первого блока 503a кодирования изображения представляет собой срез единицы трех компонентов и эквивалентен объему кодов в единицах группы блоков доступа. Таким образом, буфер передачи 17 можно размещать в блоке мультиплексирования 504 как есть.The output of the first image encoding unit 503a is a slice of a unit of three components and is equivalent to the amount of codes in units of a group of access units. Thus, the transmission buffer 17 can be placed in the multiplexing unit 504 as is.

В первом блоке 503a кодирования изображения согласно четырнадцатому варианту осуществления можно принимать решение, что все данные среза в последовательности представляют собой срез, в котором C0, C1 и C2 смешаны (т.е. срез, в котором фрагменты информации трех цветовых компонентов смешаны) согласно сигналу 423 идентификации общего кодирования/независимого кодирования. Таким образом, флаг идентификации цветового компонента не мультиплексируется с заголовком среза.In the first image encoding unit 503a according to the fourteenth embodiment, it can be decided that all the slice data in the sequence is a slice in which C0, C1 and C2 are mixed (i.e., a slice in which pieces of information of the three color components are mixed) according to the signal 423 identification of common coding / independent coding. Thus, the color component identification flag is not multiplexed with the slice header.

Описание работы второго блока кодирования изображенияDescription of the operation of the second block coding image

Внутренняя структура второго блока кодирования изображения 503b0 (503b1, 503b2) показана на фиг.74. Согласно фиг.74 предполагается, что входной видеосигнал 1a вводится в единицах макроблоков, состоящих из выборки одного цветового компонента в формате, показанном на фиг.67.The internal structure of the second image encoding unit 503b0 (503b1, 503b2) is shown in FIG. According to Fig. 74, it is assumed that the input video signal 1a is input in units of macroblocks consisting of a sample of one color component in the format shown in Fig. 67.

Прежде всего, блок прогнозирования 461 выбирает опорное изображение из данных опорного изображения для прогнозирования компенсации движения, хранящихся в памяти 16b, и осуществляет обработку прогнозирования для компенсации движения в единицах макроблоков. В памяти 16 может храниться совокупность фрагментов данных опорного изображения, образованных одним цветовым компонентом, в течение совокупности интервалов времени. Блок прогнозирования 461 выбирает оптимальное опорное изображение в единицах макроблоков из данных опорного изображения и осуществляет прогнозирование движения. Память 16b в единицах группы из трех цветовых компонентов можно использовать совместно с памятью 16a. Семь типов подготавливаются в качестве размеров блока для осуществления прогнозирования с компенсацией движения. Сначала можно выбрать любой размер из 16×16, 16×8, 8×16 и 8×8 в единицах макроблоков, как показано на фиг.32A-фиг.32D. Кроме того, при выборе 8×8, можно выбрать любой размер из 8×8, 8×4, 4×8 и 4×4 для каждого блока 8×8, как показано на фиг.32E-фиг.32H.First of all, the prediction unit 461 selects a reference image from the reference image data for predicting motion compensation stored in the memory 16b, and performs prediction processing for motion compensation in units of macroblocks. In memory 16, a plurality of pieces of reference image data formed by one color component can be stored for a plurality of time intervals. Prediction block 461 selects the optimal reference image in units of macroblocks from the reference image data and predicts motion. The memory 16b in units of a group of three color components can be used in conjunction with the memory 16a. Seven types are prepared as block sizes for predicting motion compensation. First, any size can be selected from 16 × 16, 16 × 8, 8 × 16 and 8 × 8 in units of macroblocks, as shown in FIG. 32A-FIG. 32D. In addition, when selecting 8 × 8, any size of 8 × 8, 8 × 4, 4 × 8 and 4 × 4 can be selected for each 8 × 8 block, as shown in FIG. 32E-FIG. 32H.

Блок прогнозирования 461 выполняет для каждого размера макроблока обработку прогнозирования для компенсации движения на всех или части размеров блока, размеров подблока, векторов движения в заранее определенном диапазоне поиска и одном или нескольких используемых опорных изображений. Блок прогнозирования 461 получает дифференциальный сигнал прогнозирования 4 для каждого блока, служащего блоком прогнозирования компенсации движения с использованием векторов движения, и идентификационный номер опорного изображения 463 и вычитатель 3, используемый для прогнозирования. Эффективность прогнозирования дифференциального сигнала прогнозирования 4 оценивается в блоке 5 принятия решения относительно режима кодирования. Блок 5 принятия решения относительно режима кодирования выводит тип макроблока/тип субмакроблока 106 и информацию вектора движения/идентификационный номер 463 опорного изображения, при которых достигается оптимальная эффективность прогнозирования для макроблока, подлежащего прогнозированию, из обработки прогнозирования, выполняемой в блоке прогнозирования 461. Все фрагменты информации заголовка макроблока, например типы макроблока, типы субмакроблока, индексы опорного изображения и векторы движения, определяются как информация заголовка в отношении одного цветового компонента входного видеосигнала 1, используемая для кодирования, и мультиплексируются с битовым потоком. При оценке оптимальности эффективности прогнозирования оценивается только величина ошибки прогнозирования для одного цветового компонента, подлежащего обработке кодирования. При окончательном выборе типа макроблока/типа субмакроблока 106 можно учитывать весовой коэффициент 20 для каждого типа, определенного при принятии решения блоком 19 управления кодированием.Prediction block 461 performs prediction processing for each macroblock size to compensate for movement on all or part of the block sizes, subblock sizes, motion vectors in a predetermined search range and one or more reference images used. Prediction block 461 receives a differential prediction signal 4 for each block serving as a motion compensation prediction block using motion vectors, and a reference image identification number 463 and a subtractor 3 used for prediction. The prediction efficiency of the differential prediction signal 4 is evaluated in block 5 of the decision regarding the encoding mode. The decision block 5 regarding the coding mode outputs the macroblock type / submacroblock type 106 and the motion vector information / reference image identification number 463, at which the optimal prediction efficiency for the macroblock to be predicted is achieved from the prediction processing performed in the prediction block 461. All pieces of information macroblock header, for example, macroblock types, submacroblock types, reference image indices and motion vectors, are defined as header information in relation to one color component of the input video signal 1 used for encoding, and are multiplexed with a bit stream. When evaluating the optimality of forecasting efficiency, only the magnitude of the prediction error is estimated for one color component to be encoded. In the final selection of the macroblock type / sub-macroblock type 106, a weighting factor of 20 for each type determined when deciding by the encoding control unit 19 can be taken into account.

Аналогично, блок прогнозирования 461 также выполняет интрапрогнозирование. Во время выполнения интрапрогнозирования информация режима интрапрогнозирования выводится в виде выходного сигнала 463. В нижеследующем объяснении, когда интрапрогнозирование и прогнозирование с компенсацией движения конкретно не различаются, выходной сигнал 463 называется служебной информацией прогнозирования, включающей в себя информацию режима интрапрогнозирования, векторы движения и идентификационный номер опорного изображения. Кроме того, в отношении интрапрогнозирования оценивается только величина ошибки прогнозирования для одного цветового компонента, подлежащего обработке кодирования. Наконец, блок прогнозирования 461 выбирает интрапрогнозирование или интерпрогнозирование типа макроблока, оценивая тип макроблока согласно эффективности прогнозирования или эффективности кодирования.Similarly, prediction block 461 also performs intra-prediction. During intra-prediction, the intra-prediction mode information is output as an output signal 463. In the following explanation, when intra-prediction and motion-compensated prediction are not specifically distinguished, the output signal 463 is called prediction overhead information including intra-prediction mode information, motion vectors and a reference identification number Images. In addition, with respect to intra-prediction, only the magnitude of the prediction error is estimated for one color component to be encoded. Finally, prediction block 461 selects macroblock type intra-prediction or inter-prediction, judging the macroblock type according to prediction efficiency or coding efficiency.

Блок прогнозирования 461 выводит выбранный тип макроблока/тип субмакроблока 106 и дифференциальный сигнал прогнозирования 4, полученный посредством служебной информации прогнозирования 463, на блок преобразования 310. Блок преобразования 310 преобразует введенный дифференциальный сигнал прогнозирования 4 одного цветового компонента и выводит дифференциальный сигнал прогнозирования 4 на блок квантования 9 как коэффициент преобразования. В этом случае размер блока, служащего входным сигналом для преобразования, можно выбирать из 4×4 и 8×8. Когда возможен выбор, размер блока, выбранный во время кодирования, отражается в значении флага 464 указания размера блока преобразования, и флаг мультиплексируется с битовым потоком. Блок квантования 9 квантует коэффициент преобразования, введенный на основании параметра квантования 21, определенного блоком 19 управления кодированием, и выводит коэффициент преобразования на блок 11 кодирования с переменной длиной слова в качестве квантованного коэффициента преобразования 10. Квантованный коэффициент преобразования 10 включает в себя информацию для одного цветового компонента и энтропийно кодируется посредством кодирования Хаффмана, арифметического кодирования и т.п. в блоке 11 кодирования с переменной длиной слова. Квантованный коэффициент преобразования 10 восстанавливается до дифференциального сигнала прогнозирования локального декодирования 14 посредством блока обратного квантования 12 и блока обратного преобразования 312. Квантованный коэффициент преобразования 10 суммируется с прогнозируемым изображением 7, генерируемым на основании выбранного типа макроблока/типа субмакроблока 106 и служебной информации прогнозирования 463, сумматором 18. Таким образом, генерируется локально декодированное изображение 15. Будучи подвергнуто обработке удаления блочного искажения в разблокирующем фильтре 462, локально декодированное изображение 15 сохраняется в памяти 16b для использования в следующей обработке прогнозирования для компенсации движения. Флаг 24 управления разблокирующим фильтром, указывающий, применяется ли разблокирующий фильтр к макроблоку, также вводится в блок 11 кодирования с переменной длиной слова.The prediction unit 461 outputs the selected macroblock type / sub-macroblock type 106 and the differential prediction signal 4 obtained by the prediction service information 463 to the conversion unit 310. The conversion unit 310 converts the input differential prediction signal 4 of one color component and outputs the differential prediction signal 4 to the quantization unit 9 as a conversion factor. In this case, the size of the block serving as the input signal for the conversion can be selected from 4 × 4 and 8 × 8. When a choice is possible, the block size selected during encoding is reflected in the value of the conversion block size flag 464, and the flag is multiplexed with the bitstream. The quantization unit 9 quantizes the transform coefficient introduced based on the quantization parameter 21 determined by the encoding control unit 19 and outputs the transform coefficient to the variable-length encoding unit 11 as the quantized transform coefficient 10. The quantized transform coefficient 10 includes information for one color component and is entropy encoded by Huffman coding, arithmetic coding, etc. in block 11 encoding with a variable word length. The quantized transform coefficient 10 is reconstructed to the local prediction differential prediction signal 14 by the inverse quantization unit 12 and the inverse transform unit 312. The quantized transform coefficient 10 is added to the predicted image 7 generated based on the selected macroblock type / sub-macroblock type 106 and prediction overhead information 463, by the adder 18. Thus, a locally decoded image is generated 15. Being subjected to deletion processing block distortion in the de-blocking filter 462, the local decoded image 15 is stored in the memory 16b to be used in the following processing for motion compensation prediction. An enable filter control flag 24 indicating whether the enable filter is applied to the macroblock is also input to the variable-length encoding unit 11.

Квантованный коэффициент преобразования 10, тип макроблока/тип субмакроблока 106, служебная информация прогнозирования 463 и параметр квантования 21, введенные в блок 11 кодирования с переменной длиной слова, упорядочиваются и формируются в виде битового потока в соответствии с заранее определенным правилом (синтаксисом) и выводятся в буфер передачи 17 в качестве кодированных данных блока NAL в единицах данных среза в одной или группе из совокупности макроблоков в формате, показанном на фиг.67. Буфер передачи 17 сглаживает битовый поток согласно полосе линии передачи, к которой подключен кодер, и скорости чтения носителя записи и выводит битовый поток в качестве видеопотока 422b0 (422b1, 422b2). Буфер передачи 17 применяет обратную связь к блоку 19 управления кодированием согласно состоянию накопления битовых потоков в буфере передачи 17 и регулирует объем генерируемых кодов при следующем кодировании видеокадров.The quantized transform coefficient 10, the macroblock type / sub-macroblock type 106, the prediction overhead 463 and the quantization parameter 21 entered into the variable-length encoding unit 11 are ordered and formed as a bit stream in accordance with a predetermined rule (syntax) and are output to transmission buffer 17 as encoded data of a NAL unit in slice data units in one or a group of a plurality of macroblocks in the format shown in FIG. The transmission buffer 17 smooths the bit stream according to the band of the transmission line to which the encoder is connected, and the read speed of the recording medium, and outputs the bit stream as a video stream 422b0 (422b1, 422b2). The transmission buffer 17 applies feedback to the encoding control unit 19 according to the state of accumulation of bit streams in the transmission buffer 17 and adjusts the amount of generated codes at the next encoding of the video frames.

Выход каждого из вторых блоков 503b0-503b2 кодирования изображения представляет собой срез, состоящий только из данных одного цветового компонента. Когда необходима регулировка объема кодов в единицах группы блоков доступа, общий буфер передачи в единицах мультиплексированных срезов всех цветовых компонентов можно обеспечить в блоке 504 мультиплексирования для подачи обратной связи на блок 19 управления кодированием соответствующих цветовых компонентов на основании занятого объема буфера. В этом случае управление кодированием можно осуществлять с использованием только объема информации о генерации всех цветовых компонентов, а также можно осуществлять с учетом состояния буфера передачи 17 каждого из цветовых компонентов. Когда управление кодированием осуществляется с использованием только объема информации о генерации всех цветовых компонентов, также можно реализовать функцию, эквивалентную буферу передачи 17 с общим буфером передачи в блоке мультиплексирования 504 и упразднить буфер передачи 17.The output of each of the second image encoding units 503b0-503b2 is a slice consisting of only one color component data. When it is necessary to adjust the amount of codes in units of the group of access units, a common transmission buffer in units of multiplexed slices of all color components can be provided in the multiplexing unit 504 to provide feedback to the encoding control unit 19 of the corresponding color components based on the occupied buffer volume. In this case, coding control can be carried out using only the amount of information about the generation of all color components, and can also be carried out taking into account the status of the transmission buffer 17 of each of the color components. When encoding is controlled using only the amount of information about the generation of all color components, it is also possible to implement a function equivalent to the transmission buffer 17 with a common transmission buffer in the multiplexing unit 504 and to delete the transmission buffer 17.

Во вторых блоках 503b0-503b2 кодирования изображения согласно четырнадцатому варианту осуществления можно принимать решение, что все данные среза в последовательности представляют собой срез одного цветового компонента (т.е. срез C0, срез C1 или срез C2) согласно сигналу 423 идентификации общего кодирования/независимого кодирования. Таким образом, флаг идентификации цветового компонента всегда мультиплексируется с заголовком среза, чтобы можно было принимать решение на стороне декодера, какой срез соответствует каким данным изображения в блоке доступа. Таким образом, соответствующие вторые блоки 503b0-503b2 кодирования изображения могут передавать выходные сигналы из соответствующих буферов передачи 17 в момент, когда накоплены данные для одного среза, не накапливая выходные сигналы для одного изображения.In the second image encoding units 503b0-503b2 according to the fourteenth embodiment, it can be decided that all the slice data in the sequence is a slice of one color component (i.e., slice C0, slice C1 or slice C2) according to the common encoding / independent identification signal 423 coding. Thus, the color component identification flag is always multiplexed with the slice header so that it can be decided on the decoder side which slice corresponds to which image data in the access unit. Thus, the respective second image encoding units 503b0-503b2 can transmit output signals from the respective transmission buffers 17 at a time when data for one slice is accumulated without accumulating output signals for one image.

Сигнал идентификации общего кодирования/независимого кодирования (num_pictures_in_au) может одновременно представлять информацию для отличения данных, кодированных посредством общей обработки кодирования, от данных, кодированных посредством независимой обработки кодирования (информацию идентификации общего кодирования), и информацию, указывающую, сколько изображений одного цветового компонента присутствует в одном блоке доступа (количество цветовых компонентов). Однако две разновидности информации можно кодировать как независимые фрагменты информации.The common encoding / independent encoding identification signal (num_pictures_in_au) may simultaneously provide information for distinguishing data encoded by general encoding processing from data encoded by independent encoding processing (general encoding identification information), and information indicating how many images of one color component are present in one access unit (number of color components). However, two kinds of information can be encoded as independent pieces of information.

Первый блок 503a кодирования изображения и вторые блоки 503b0-503b2 кодирования изображения отличаются только тем, обрабатывается ли информация макрозаголовка как информация, общая для трех компонентов, или как информация одного цветового компонента, и структурой битового потока данных среза. Можно реализовать большинство основных блоков обработки, например блоки прогнозирования, блоки преобразования и блоки обратного преобразования, блоки квантования и блоки обратного квантования, и разблокирующие фильтры, показанные на фиг.73 и 74, можно реализовать в функциональных блоках, общих для первого блока кодирования изображения 503a и вторых блоков 503b0-503b2 кодирования изображения, с одной лишь разницей, обрабатывается ли информация трех цветовых компонентов совместно или обрабатывается только информация одного цветового компонента. Таким образом, можно реализовать не только полностью независимый блок обработки кодирования, показанный на фиг.71, но и различные кодеры, надлежащим образом комбинируя основные компоненты, показанные на фиг.73 и 74. Если конфигурация памяти 16a в первом блоке 503a кодирования изображения обеспечена в режиме последовательных плоскостей, можно совместно использовать структуру памяти для хранения опорного изображения между первым блоком 503a кодирования изображения и вторыми блоками 503b0-503b2 кодирования изображения.The first image encoding unit 503a and the second image encoding units 503b0-503b2 differ only in whether macro heading information is processed as information common to the three components, or as information of one color component, and the structure of the slice data bitstream. You can implement most of the basic processing blocks, for example, prediction blocks, transform blocks and inverse transform blocks, quantization blocks and inverse quantization blocks, and enable filters shown in FIGS. 73 and 74, can be implemented in function blocks common to the first image encoding block 503a and second image encoding units 503b0-503b2, with the only difference being whether the information of the three color components is processed together or only the information of one color component is being processed . Thus, it is possible to implement not only the completely independent encoding processing unit shown in FIG. 71, but also various encoders by properly combining the main components shown in FIGS. 73 and 74. If the configuration of the memory 16a in the first image encoding unit 503a is provided in in the serial plane mode, it is possible to share a memory structure for storing a reference image between the first image encoding unit 503a and the second image encoding units 503b0-503b2.

Хотя на фигуре это не показано, в кодере согласно четырнадцатому варианту осуществления, предполагая наличие буфера мнимого потока (буфера изображения для кодирования), который буферизует видеопоток 422c, согласующийся с массивами, показанными на фиг.69 и 70, и памяти мнимых кадров (буфера изображения для декодирования), которая буферизует декодированные изображения 427a и 427b, видеопоток 422c генерируется во избежание переполнения или недонаполнения буфера изображения для кодирования и отказа буфера изображения для декодирования. Это управление, в основном, осуществляется блоком 19 управления кодированием. Следовательно, когда видеопоток 422c декодируется в соответствии с операциями (моделями мнимого буфера) буфера изображения для кодирования и буфера изображения для декодирования в декодере, гарантируется, что в декодере не произойдет сбой. Модели мнимого буфера определены ниже.Although not shown in the figure, in the encoder according to the fourteenth embodiment, assuming there is an imaginary stream buffer (an image buffer for encoding) that buffers the video stream 422c, consistent with the arrays shown in Figs. 69 and 70, and imaginary frame memory (image buffer for decoding), which buffers the decoded images 427a and 427b, the video stream 422c is generated to avoid overflow or underfill of the image buffer for encoding and failure of the image buffer for decoding. This control is mainly carried out by the encoding control unit 19. Therefore, when the video stream 422c is decoded in accordance with the operations (imaginary buffer models) of the image buffer for encoding and the image buffer for decoding in the decoder, it is guaranteed that the decoder does not fail. Imaginary buffer models are defined below.

Операции буфера изображения для кодирования осуществляются в единицах блоков доступа. Как описано выше, при осуществлении общей обработки декодирования кодированные данные одного изображения включаются в один блок доступа. При осуществлении независимой обработки декодирования кодированные данные изображения для количества цветовых компонентов (для трех изображений в случае трех компонентов) включаются в один блок доступа. Операции, заданные для буфера изображения для кодирования, - это время, когда первый бит и последний бит блока доступа вводятся в буфер изображения для кодирования, и время, когда бит блока доступа считывается из буфера изображения для кодирования. По определению, считывание из буфера изображения для кодирования осуществляется мгновенно. Предполагается, что все биты блока доступа считываются из буфера изображения для кодирования одновременно. Когда бит блока доступа считывается из буфера изображения для кодирования, бит вводится в блок анализа верхнего заголовка. Как описано выше, бит подвергается обработке декодирования в первом блоке декодирования изображения или втором блоке декодирования изображения и выводится как цветовой видеокадр, связанный в единицах блока доступа. Обработка от считывания бита из буфера изображения для кодирования и вывода изображения в качестве цветового видеокадра в единицах блоков доступа осуществляется мгновенно согласно определению модели мнимого буфера. Цветовой видеокадр, построенный в единицах блоков доступа, вводится в буфер изображения для декодирования, и вычисляется время вывода цветового видеокадра из буфера изображения для декодирования. Время вывода из буфера изображения для декодирования - это значение, вычисленное путем сложения заранее определенного времени задержки со временем чтения из буфера изображения для кодирования. Это время задержки можно мультиплексировать с битовым потоком для управления декодером. Когда время задержки равно 0, т.е. когда время вывода из буфера изображения для декодирования равно времени чтения из буфера изображения для кодирования, цветовой видеокадр вводится в буфер изображения для декодирования и одновременно выводится из буфера изображения для декодирования. В других случаях, т.е. когда время вывода из буфера изображения для декодирования больше времени чтения из буфера изображения для кодирования, цветовой видеокадр сохраняется в буфере изображения для декодирования, пока не наступит время вывода из буфера изображения для декодирования. Как описано выше, операции из буфера изображения для декодирования заданы в единицах блоков доступа.The operations of the image buffer for encoding are carried out in units of access units. As described above, when performing general decoding processing, the encoded data of one image is included in one access unit. When performing independent decoding processing, encoded image data for the number of color components (for three images in the case of three components) are included in one access unit. The operations specified for the image buffer for encoding are the time when the first bit and the last bit of the access unit are entered into the image buffer for encoding, and the time when the bit of the access unit is read from the image buffer for encoding. By definition, reading from the image buffer for encoding is instantaneous. It is assumed that all bits of the access unit are read from the image buffer for encoding at the same time. When a bit of the access block is read from the image buffer for encoding, the bit is entered into the analysis block of the top header. As described above, the bit undergoes decoding processing in a first image decoding unit or a second image decoding unit and is output as a color video frame coupled in units of an access unit. Processing from reading bits from the image buffer for encoding and outputting the image as a color video frame in units of access units is carried out instantly according to the definition of the imaginary buffer model. A color video frame constructed in units of access units is entered into the image buffer for decoding, and the time of output of the color video frame from the image buffer for decoding is calculated. The output time from the image buffer for decoding is the value calculated by adding the predetermined delay time to the reading time from the image buffer for encoding. This delay time can be multiplexed with a bit stream to control the decoder. When the delay time is 0, i.e. when the output time from the image buffer for decoding is equal to the reading time from the image buffer for encoding, the color video frame is entered into the image buffer for decoding and simultaneously output from the image buffer for decoding. In other cases, i.e. when the output time from the image buffer for decoding is longer than the reading time from the image buffer for encoding, the color video frame is stored in the image buffer for decoding until the time comes to output from the image buffer for decoding. As described above, operations from the image buffer for decoding are specified in units of access units.

На фиг.75 показана схема, поясняющая схематическую структуру декодера согласно четырнадцатому варианту осуществления. Согласно фиг.75 общая обработка декодирования выполняется в первом блоке 603a декодирования изображения. Независимая обработка декодирования выполняется в блоке 602 принятия решения относительно цветового компонента и вторых блоках 603b0 декодирования изображения (подготовленных для трех цветовых компонентов).75 is a diagram for explaining a schematic structure of a decoder according to a fourteenth embodiment. Referring to FIG. 75, general decoding processing is performed in the first image decoding unit 603a. Independent decoding processing is performed in decision block 602 regarding the color component and second image decoding blocks 603b0 (prepared for the three color components).

Видеопоток 422c делится на единицы блоков NAL в блоке 610 анализа верхнего заголовка. Информация верхнего заголовка, например набор параметров последовательности и набор параметров изображения, декодируется как есть и сохраняется в заранее определенной области памяти, к которой первый блок 603a декодирования изображения, блок 602 принятия решения относительно цветового компонента и вторые блоки 603b0-603b2 декодирования изображения способны обращаться за информацией верхнего заголовка. Сигнал 423 идентификации общего кодирования/независимого кодирования (num_pictures_in_au), мультиплексированный в единицах последовательностей, декодируется и поддерживается как часть информации верхнего заголовка.The video stream 422c is divided into units of NAL units in block 610 analysis of the upper header. Top header information, such as a sequence parameter set and an image parameter set, is decoded as is and stored in a predetermined memory area to which the first image decoding unit 603a, the color component decision block 602, and the second image decoding units 603b0-603b2 are able to access top header information. The common coding / independent coding identification signal (num_pictures_in_au) 423, multiplexed in sequence units, is decoded and maintained as part of the header information.

Декодированный num_pictures_in_au поступает на переключатель (SW) 601. Если num_pictures_in_au=1, переключатель 601 подает блок NAL среза для каждого изображения на первый блок 603a декодирования изображения. Если num_pictures_in_au=3, переключатель 601 подает блок NAL среза на блок 602 принятия решения относительно цветового компонента. Иными словами, если num_pictures_in_au=1, первый блок 603a декодирования изображения осуществляет общую обработку декодирования. Если num_pictures_in_au=3, три вторых блока 603b0-603b2 декодирования изображения осуществляют независимую обработку декодирования. Подробное описание операций первого и вторых блоков декодирования изображения приведено ниже.The decoded num_pictures_in_au is supplied to the switch (SW) 601. If num_pictures_in_au = 1, the switch 601 supplies the slice NAL unit for each image to the first image decoding unit 603a. If num_pictures_in_au = 3, the switch 601 supplies the slice NAL block to the decision block 602 regarding the color component. In other words, if num_pictures_in_au = 1, the first image decoding unit 603a performs general decoding processing. If num_pictures_in_au = 3, the three second image decoding blocks 603b0-603b2 carry out independent decoding processing. A detailed description of the operations of the first and second image decoding blocks is given below.

Блок 602 принятия решения относительно цветового компонента принимает решение, какому изображению цветового компонента в текущем блоке доступа соответствует блок NAL среза, согласно значению флага идентификации цветового компонента, показанного на фиг.70, и распределяет и подает блок NAL среза на соответствующие вторые блоки 603b0-603b2 декодирования изображения. При такой структуре декодера получается, что, даже если принимается битовый поток, полученный перемежением и кодированием среза в блоке доступа, как показано на фиг.72, можно легко принять решение, какой срез принадлежит какому изображению цветового компонента, и правильно декодировать битовый поток.The decision block 602 regarding the color component decides which image of the color component in the current access unit corresponds to the slice NAL block according to the value of the color component identification flag shown in FIG. 70, and distributes and supplies the slice NAL block to the corresponding second blocks 603b0-603b2 image decoding. With such a structure of the decoder, it turns out that even if a bit stream is received obtained by interleaving and coding a slice in an access unit, as shown in Fig. 72, it is easy to decide which slice belongs to which image of the color component and correctly decode the bit stream.

Описание работы первого блока декодирования изображенияDescription of the operation of the first block image decoding

Внутренняя структура первого блока 603a декодирования изображения показана на фиг.76. Первый блок 603a декодирования изображения принимает видеопоток 442c, согласующийся с массивами, показанными на фиг.69 и 70, который выводится из кодера, показанного на фиг.71, в единицах смешанного среза C0, C1 и C2, после деления видеопотока в единицах блока NAL. Первый блок декодирования изображения 603a осуществляет обработку декодирования, когда макроблок состоит из выборок трех цветовых компонентов, показанных на фиг.66, и восстанавливает выходной видеокадр.The internal structure of the first image decoding unit 603a is shown in FIG. The first image decoding unit 603a receives the video stream 442c consistent with the arrays shown in FIGS. 69 and 70, which is output from the encoder shown in FIG. 71, in mixed slice units C0, C1 and C2, after dividing the video stream in units of the NAL unit. The first image decoding unit 603a performs decoding processing when the macroblock consists of samples of the three color components shown in FIG. 66 and restores the output video frame.

Видеопоток 442c вводится в блок 25 декодирования с переменной длиной слова. Блок 25 декодирования с переменной длиной слова интерпретирует видеопоток 442c в соответствии с заранее определенным правилом (синтаксисом) и извлекает квантованный коэффициент преобразования 10 для трех компонентов и информацию заголовка макроблока (тип макроблока/тип субмакроблока 106, служебную информацию прогнозирования 463, флаг 464 указания размера блока преобразования и параметр квантования 21), совместно используемую для трех компонентов. Квантованный коэффициент преобразования 10 вводится в блок обратного квантования 12, который осуществляет такую же обработку, которую осуществляет первый блок 503a кодирования изображения, совместно с параметром квантования 21 и подвергается обработке обратного квантования. Затем выходной сигнал блока обратного квантования 12 вводится в блок обратного преобразования 312, который осуществляет такую же обработку, которую осуществляет первый блок 503a кодирования изображения, и восстанавливается до дифференциального сигнала прогнозирования локального декодирования 14 (если флаг 464 указания размера блока преобразования присутствует в видеопотоке 422c, к которому обращается флаг 464 указания размера блока преобразования на этапе обратного квантования и на этапе обработки обратного преобразования). С другой стороны, только обработка обращения к служебной информации прогнозирования 463 для генерации прогнозируемого изображения 7 в блоке прогнозирования 461 в первом блоке 503a кодирования изображения включена в блок прогнозирования 461. Тип макроблока/тип субмакроблока 106 и служебная информация прогнозирования 463 вводятся в блок прогнозирования 461 для получения прогнозируемого изображения 7 для трех компонентов. Когда тип макроблока указывает интрапрогнозирование, прогнозируемое изображение 7 для трех компонентов получается из служебной информации прогнозирования 463 в соответствии с информацией режима интрапрогнозирования. Когда тип макроблока указывает интерпрогнозирование, прогнозируемое изображение 7 для трех компонентов получается из служебной информации прогнозирования 463 в соответствии с вектором движения и индексом опорного изображения. Дифференциальный сигнал прогнозирования локального декодирования 14 и прогнозируемое изображение 7 суммируются сумматором 18 для получения внутренне декодированного изображения 15 для трех компонентов. Поскольку внутренне декодированное изображение (локально декодированное изображение) 15 используется для прогнозирования с компенсацией движения следующих макроблоков, после применения обработки удаления блочного искажения к выборкам внутренне декодированного изображения для трех компонентов в разблокирующем фильтре 462, который осуществляет такую же обработку, которую осуществляет первый блок 503a кодирования изображения, внутренне декодированное изображение 15 выводится как декодированное изображение 427a и сохранятеся в памяти 16a. В этом случае обработка разблокирующего фильтра применяется к внутренне декодированному изображению 15 на основании инструкции флага 24 управления разблокирующим фильтром, интерпретируемой блоком 25 декодирования с переменной длиной слова. Совокупность фрагментов данных опорного изображения, образованных тремя цветовыми компонентами на протяжении совокупности интервалов времени, сохраняется в памяти 16a. Блок прогнозирования 461 выбирает опорное изображение, указанное индексом опорного изображения, извлеченным из битового потока в единицах макроблоков, из данных опорного изображения и генерирует прогнозируемое изображение. В порядке размещения данных опорного изображения в памяти 16a данные опорного изображения можно по отдельности сохранять для каждого из цветовых компонентов в режиме последовательных плоскостей, или выборки соответствующих цветовых компонентов можно сохранять в режиме последовательных точек. Декодированное изображение 427a включает в себя три цветовых компонента и непосредственно преобразуется в цветовой видеокадр, образующий блок доступа 427a0 при общей обработке декодирования.The video stream 442c is input to a variable word length decoding unit 25. The variable-length decoding unit 25 interprets the video stream 442c in accordance with a predetermined rule (syntax) and extracts the quantized transform coefficient 10 for the three components and macroblock header information (macroblock type / sub-macroblock type 106, prediction overhead information 463, block size indication flag 464 transforms and quantization parameter 21), shared between the three components. The quantized transform coefficient 10 is input to the inverse quantization unit 12, which performs the same processing as the first image encoding unit 503a performs, together with the quantization parameter 21, and undergoes inverse quantization processing. Then, the output signal of the inverse quantization unit 12 is input to the inverse transform unit 312, which performs the same processing as the first image encoding unit 503a performs, and is restored to the local prediction differential prediction signal 14 (if the transform block size flag 464 is present in the video stream 422c, which is addressed by the flag 464 indicating the size of the transform block in the inverse quantization step and in the inverse transform processing step). On the other hand, only the processing of accessing the prediction overhead information 463 to generate the prediction image 7 in the prediction block 461 in the first image encoding unit 503a is included in the prediction block 461. The macroblock type / sub-macroblock type 106 and the prediction overhead information 463 are input to the prediction block 461 for obtaining the predicted image 7 for the three components. When the macroblock type indicates intra-prediction, the predicted image 7 for the three components is obtained from the prediction overhead 463 in accordance with the intra-prediction mode information. When the macroblock type indicates inter-prediction, the predicted image 7 for the three components is obtained from the prediction overhead 463 in accordance with the motion vector and the reference image index. The local prediction differential prediction signal 14 and the prediction image 7 are added by an adder 18 to obtain an internally decoded image 15 for the three components. Since the internally decoded image (locally decoded image) 15 is used to predict the motion compensation of the following macroblocks, after applying block distortion removal processing to samples of the internally decoded image for the three components in the enable filter 462, which performs the same processing as the first encoding unit 503a performs image, the internally decoded image 15 is displayed as the decoded image 427a and stored in the memory 16a. In this case, the unlock filter processing is applied to the internally decoded image 15 based on the instruction of the unlock filter control flag 24, interpreted by the variable-length decoding unit 25. A plurality of pieces of reference image data formed by three color components over a plurality of time intervals is stored in the memory 16a. The prediction unit 461 selects a reference image indicated by the reference image index extracted from the bitstream in units of macroblocks from the reference image data and generates a predicted image. In order to place the reference image data in the memory 16a, the reference image data can be individually stored for each of the color components in the sequential plane mode, or samples of the corresponding color components can be stored in the sequence of point modes. The decoded image 427a includes three color components and is directly converted to a color video frame forming an access unit 427a0 in the general decoding processing.

Описание работы второго блока декодирования изображенияDescription of the operation of the second block image decoding

Внутренняя структура каждого из вторых блоков 603b0-603b2 декодирования изображения показана на фиг.17. Каждый из вторых блоков 603b0-603b2 декодирования изображения принимает видеопоток 442c, согласующийся с массивами, показанными на фиг.69 и 70, выводимый из декодера, показанного на фиг.71, в единицах блоков NAL среза C0, C1 или C2, выделенных блоком 602 принятия решения относительно цветового компонента, после того как видеопоток делится в единицах блоков NAL в блоке 610 анализа верхнего заголовка, осуществляет обработку декодирования с макроблоком, состоящим из выборки одного цветового компонента, показанным на фиг.67, в качестве единицы, и восстанавливает выходной видеокадр.The internal structure of each of the second image decoding blocks 603b0-603b2 is shown in FIG. Each of the second image decoding units 603b0-603b2 receives a video stream 442c consistent with the arrays shown in FIGS. 69 and 70 output from the decoder shown in FIG. 71, in units of the slice NAL units C0, C1 or C2 allocated by the acceptance unit 602 decisions regarding the color component, after the video stream is divided in units of NAL units in the header block 610, performs decoding processing with a macroblock consisting of a sample of one color component shown in Fig. 67 as a unit and restores to output video frame.

Видеопоток 422c вводится в блок 25 декодирования с переменной длиной слова. Блок 25 декодирования с переменной длиной слова интерпретирует битовый поток 422c в соответствии с заранее определенным правилом (синтаксисом) и извлекает квантованный коэффициент преобразования 10 для одного цветового компонента и информацию заголовка макроблока (тип макроблока/тип субмакроблока 106, служебную информацию прогнозирования 463, флаг 464 указания размера блока преобразования и параметр квантования 21), совместно используемую для одного цветового компонента. Квантованный коэффициент преобразования 10 вводится в блок обратного квантования 12, который осуществляет такую же обработку, которую осуществляет второй 503b0 (503b1, 503b2) блок кодирования изображения, совместно с параметром квантования 21 и подвергается обработке обратного квантования. Затем выходной сигнал блока обратного квантования 12 вводится в блок обратного преобразования 312, который осуществляет такую же обработку, которую осуществляет второй блок 503b0 (503b1, 503b2) кодирования изображения, и восстанавливается до дифференциального сигнала прогнозирования локального декодирования 14 (если флаг 464 указания размера блока преобразования присутствует в видеопотоке 422c, к которому обращается флаг 464 указания размера блока преобразования на этапе обратного квантования и на этапе обработки обратного преобразования). С другой стороны, только обработка обращения к служебной информации прогнозирования 463 для генерации прогнозируемого изображения 7 в блоке прогнозирования 461 во втором блоке 503b0 (503b1, 503b2) кодирования изображения включена в блок прогнозирования 461. Тип макроблока/тип субмакроблока 106 и служебная информация прогнозирования 463 вводятся в блок прогнозирования 461 для получения прогнозируемого изображения 7 для одного цветового компонента. Когда тип макроблока указывает интрапрогнозирование, прогнозируемое изображение 7 для одного цветового компонента получается из служебной информации прогнозирования 463 в соответствии с информацией режима интрапрогнозирования. Когда тип макроблока указывает интерпрогнозирование, прогнозируемое изображение 7 для одного цветового компонента получается из служебной информации прогнозирования 463 в соответствии с вектором движения и индексом опорного изображения. Дифференциальный сигнал прогнозирования локального декодирования 14 и прогнозируемое изображение 7 суммируются сумматором 18 для получения внутренне декодированного изображения 15 для макроблока одного цветового компонента. Поскольку внутренне декодированное изображение 15 используется для прогнозирования с компенсацией движения следующих макроблоков, после применения обработки удаления блочного искажения к выборкам внутренне декодированного изображения для одного цветового компонента в разблокирующем фильтре 26, который осуществляет такую же обработку, которую осуществляет второй блок 503b0 (503b1, 503b2) кодирования изображения, внутренне декодированное изображение 15 выводится как декодированное изображение 427b и сохраняется в памяти 16b. В этом случае обработка разблокирующего фильтра применяется к внутренне декодированному изображению 15 на основании инструкции флага 24 управления разблокирующим фильтром, интерпретируемой блоком 25 декодирования с переменной длиной слова. Декодированное изображение 427b включает в себя только выборку одного цветового компонента и построено как цветовой видеокадр путем связывания, в единицах блоков доступа 427b0, декодированного изображения 427b в качестве выходных сигналов других соответствующих вторых блоков 603b0-603b2 декодирования изображения, подлежащих параллельной обработке, показанной на фиг.75.The video stream 422c is input to a variable word length decoding unit 25. The variable-length decoding unit 25 interprets the bitstream 422c in accordance with a predetermined rule (syntax) and extracts the quantized transform coefficient 10 for one color component and macroblock header information (macroblock type / sub-macroblock type 106, prediction overhead information 463, indication flag 464 transform block size and quantization parameter 21), shared for one color component. The quantized transform coefficient 10 is input to the inverse quantization unit 12, which performs the same processing as the second image encoding unit 503b0 (503b1, 503b2) performs, together with the quantization parameter 21, and undergoes inverse quantization processing. Then, the output signal of the inverse quantization unit 12 is input to the inverse transform unit 312, which performs the same processing as the second image encoding unit 503b0 (503b1, 503b2), and is restored to the differential local decoding prediction signal 14 (if the conversion unit size flag 464 indicates is present in the video stream 422c, which is addressed by the flag 464 indicating the size of the transform block in the inverse quantization step and in the inverse transform processing step). On the other hand, only the processing of accessing the prediction overhead information 463 to generate the prediction image 7 in the prediction block 461 in the second image encoding unit 503b0 (503b1, 503b2) is included in the prediction block 461. The macroblock type / sub-macroblock type 106 and the prediction overhead information 463 are input to the prediction block 461 to obtain a predicted image 7 for one color component. When the macroblock type indicates intra-prediction, the predicted image 7 for one color component is obtained from prediction overhead information 463 in accordance with the intra-prediction mode information. When the macroblock type indicates inter-prediction, the predicted image 7 for one color component is obtained from the prediction overhead 463 in accordance with the motion vector and the reference image index. The local prediction differential prediction signal 14 and the prediction image 7 are added by an adder 18 to obtain an internally decoded image 15 for a macroblock of one color component. Since the internally decoded image 15 is used for motion-compensated prediction of the following macroblocks, after applying block distortion removal processing to the samples of the internally decoded image for one color component in the enable filter 26, which performs the same processing as the second block 503b0 (503b1, 503b2) encoding the image, the internally decoded image 15 is output as the decoded image 427b and stored in the memory 16b. In this case, the unlock filter processing is applied to the internally decoded image 15 based on the instruction of the unlock filter control flag 24, interpreted by the variable-length decoding unit 25. The decoded image 427b includes only a sample of one color component and is constructed as a color video frame by linking, in units of access units 427b0, a decoded image 427b as outputs of other corresponding second image decoding units 603b0-603b2 to be processed in parallel, shown in FIG. 75.

Как следует из вышесказанного, первый блок 603a декодирования изображения и вторые блоки 603b0-603b2 декодирования изображения отличаются только тем, обрабатывается ли информация заголовка макроблока как информация, общая для трех компонентов или как информация одного цветового компонента, и структурой битового потока данных среза. Можно реализовать большинство основных блоков обработки декодирования, например обработку прогнозирования для компенсации движения, обратного преобразования и обратного квантования, показанные на фиг.73 и 74, в функциональных блоках, общих для первого блока 503a кодирования изображения и вторых блоков 503b0-503b2 кодирования изображения. Таким образом, можно реализовать не только полностью независимый блок обработки декодирования, показанный на фиг.75, но и различные декодеры, надлежащим образом комбинируя основные компоненты, показанные на фиг.76 и 77. Кроме того, если конфигурация памяти 16a в первом блоке 503a кодирования изображения обеспечена в режиме последовательных плоскостей, можно совместно использовать структуры блоков памяти 16a и 16b между первым блоком 603a декодирования изображения и вторыми блоками 603b0-603b2 декодирования изображения.As follows from the above, the first image decoding unit 603a and the second image decoding units 603b0-603b2 differ only in whether the macroblock header information is processed as information common to the three components or as information of one color component and the structure of the slice data stream. You can implement most of the basic decoding processing units, for example, motion compensation, inverse transform, and inverse quantization prediction processing shown in FIGS. 73 and 74, in function blocks common to the first image encoding unit 503a and the second image encoding units 503b0-503b2. Thus, it is possible to implement not only the completely independent decoding processing unit shown in FIG. 75, but also the various decoders, appropriately combining the main components shown in FIGS. 76 and 77. Furthermore, if the memory configuration is 16a in the first encoding unit 503a the image is provided in serial plane mode, the structures of the memory units 16a and 16b between the first image decoding unit 603a and the second image decoding units 603b0-603b2 can be shared.

Очевидно, что декодер, показанный на фиг.75, способен принимать и декодировать битовый поток, выводимый из кодера, способен всегда фиксировать сигнал 423 идентификации общего кодирования/независимого кодирования на "независимую обработку кодирования" и независимо кодировать все кадры вовсе без использования первого блока 503a кодирования изображения в качестве другой разновидности кодера, показанного на фиг.71. В качестве другой разновидности декодера, показанного на фиг.75, в форме использования при условии, что сигнал 423 идентификации общего кодирования/независимого кодирования всегда фиксирован на "независимую обработку кодирования", декодер может быть построен как декодер, который не включает в себя переключатель 601 и первый блок 603a декодирования изображения и осуществляет только независимую обработку декодирования.It is obvious that the decoder shown in FIG. 75 is capable of receiving and decoding a bitstream output from the encoder, is capable of always fixing the common encoding / independent encoding identification signal 423 to “independent encoding processing” and independently encoding all frames without using the first block 503a encoding an image as another variation of the encoder shown in FIG. As another variation of the decoder shown in FIG. 75, in the form of use, provided that the common encoding / independent encoding identification signal 423 is always fixed to “independent encoding processing”, the decoder can be constructed as a decoder that does not include a switch 601 and a first image decoding unit 603a and performs only independent decoding processing.

Сигнал идентификации общего кодирования/независимого кодирования (num_pictures_in_au) включает в себя информацию для отличения данных, кодированных посредством общей обработки кодирования, от данных, кодированных посредством независимой обработки кодирования (информацию идентификации общего кодирования), и информацию, указывающую, сколько изображений одного цветового компонента присутствует в одном блоке доступа (количество цветовых компонентов). Однако две разновидности информации можно кодировать как независимые фрагменты информации.The common encoding / independent encoding identification signal (num_pictures_in_au) includes information for distinguishing data encoded by general encoding processing from data encoded by independent encoding processing (common encoding identification information), and information indicating how many images of one color component are present in one access unit (number of color components). However, two kinds of information can be encoded as independent pieces of information.

Если первый блок 603a декодирования изображения включает в себя функцию для декодирования битового потока согласно высокому профилю AVC, в котором три компонента совместно кодируются в традиционном формате YUV 4:2:0 в качестве объекта, и блок 610 анализа верхнего заголовка принимает решение, в каком формате закодирован битовый поток, со ссылкой на идентификатор профиля, декодированный из битового потока 422c, и передает результат принятия решения на переключатель 601 и первый блок декодирования изображения 603a как часть информации линии сигнала для сигнала 423 идентификации общего кодирования/независимого кодирования, также можно построить декодер, который обеспечивает совместимость традиционного формата YUV 4:2:0 с битовым потоком.If the first image decoding unit 603a includes a function for decoding a bitstream according to the high AVC profile, in which the three components are coded in the traditional YUV 4: 2: 0 format as an object, and the upper header analysis unit 610 decides in which format the bitstream is encoded, with reference to the profile identifier decoded from the bitstream 422c, and transmits the decision result to the switch 601 and the first image decoding unit 603a as part of the signal line information for a common encoding / independent encoding identification signal 423, it is also possible to construct a decoder that provides compatibility of the conventional YUV 4: 2: 0 format with the bitstream.

В первом блоке 503a кодирования изображения согласно четырнадцатому варианту осуществления фрагменты информации трех цветовых компонентов смешиваются в данных среза, и полностью идентичная обработка интра/интерпрогнозирования применяется к трем цветовым компонентам. Соответственно, корреляция сигнала между цветовыми компонентами может оставаться в пространстве сигнала ошибки прогнозирования. В качестве средства удаления корреляции сигнала к сигналу ошибки прогнозирования может применяться, например, обработка преобразования цветового пространства, описанная согласно тринадцатому варианту осуществления. Примеры первого блока 503a кодирования изображения, имеющего такую структуру, показаны на фиг.78 и 79. На фиг.78 показан пример, в котором обработка преобразования цветового пространства осуществляется на пиксельном уровне до осуществления обработки преобразования. Блок 465 преобразования цветового пространства размещен до блока преобразования 310, и блок 466 обратного преобразования цветового пространства размещен после блока обратного преобразования 312. На фиг.79 показан пример, в котором обработка преобразования цветового пространства осуществляется, в то время как частотный компонент, подлежащий обработке, надлежащим образом выбирается в отношении данных коэффициентов, полученных после осуществления обработки преобразования. Блок 465 преобразования цветового пространства расположен после блока преобразования 310, и блок 466 обратного преобразования цветового пространства расположен до блока обратного преобразования 312. Это позволяет регулировать высокочастотный шумовой компонент, включенный в конкретный цветовой компонент, чтобы он не распространялся на другие цветовые компоненты, вряд ли включающие в себя шум. Когда частотный компонент, подлежащий обработке преобразования цветового пространства, сделан адаптивно выбираемым, фрагменты информации сигнализации 467 для принятия решения относительно выбора времени кодирования мультиплексируются с битовым потоком на стороне декодирования.In the first image encoding unit 503a according to the fourteenth embodiment, pieces of information of the three color components are mixed in the slice data, and completely identical intra / inter prediction processing is applied to the three color components. Accordingly, the signal correlation between the color components can remain in the space of the prediction error signal. As a means of removing correlation of a signal to a prediction error signal, for example, the color space conversion processing described in accordance with the thirteenth embodiment can be used. Examples of the first image encoding unit 503a having such a structure are shown in FIGS. 78 and 79. FIG. 78 shows an example in which color space conversion processing is performed at the pixel level before conversion processing is performed. A color space converting unit 465 is placed before the transform unit 310, and a color space inverse transforming unit 466 is placed after the inverse transforming unit 312. FIG. 79 shows an example in which color space conversion processing is performed while the frequency component to be processed, appropriately selected in relation to the coefficient data obtained after the conversion processing has been performed. A color space conversion unit 465 is located after the conversion unit 310, and a color space inverse conversion unit 466 is located before the inverse conversion unit 312. This allows you to adjust the high-frequency noise component included in the specific color component so that it does not extend to other color components, hardly including noise in itself. When the frequency component to be processed by the color space conversion is made adaptively selectable, pieces of signaling information 467 to decide on the choice of encoding time are multiplexed with the bitstream on the decoding side.

При обработке преобразования цветового пространства совокупность системных преобразований, описанных согласно тринадцатому варианту осуществления, может переключаться в единицах макроблоков и использоваться согласно характеристике сигнала изображения, подлежащего кодированию, или принятие решения относительно наличия или отсутствия преобразования может осуществляться в единицах макроблоков. Можно также заранее указывать типы выбираемых систем преобразования на уровне последовательностей и указывать систему преобразования, подлежащую выбору, в единицах изображения, среза, макроблока и т.п. Можно выбирать, осуществляется ли обработка преобразования цветового пространства до преобразования или после преобразования. При осуществлении этих разновидностей адаптивной обработки кодирования можно осуществлять оценку эффективности кодирования для всех вариантов выбора с помощью блока 5 принятия решения относительно режима кодирования для выбора варианта с наивысшей эффективностью кодирования. При выполнении этих разновидностей адаптивной обработки кодирования фрагменты информации сигнализации 467 для принятия решения относительно выбора времени кодирования мультиплексируются с битовым потоком на стороне декодирования. Сигнализацию можно указывать на уровне, отличном от уровня макроблоков, например на уровне среза, изображения, GOP или последовательности.In the color space transform processing, the set of system transforms described according to the thirteenth embodiment may be switched in units of macroblocks and used according to the characteristic of the image signal to be encoded, or a decision regarding the presence or absence of conversion may be carried out in units of macroblocks. You can also specify in advance the types of selectable conversion systems at the sequence level and indicate the conversion system to be selected in units of image, slice, macroblock, etc. You can choose whether color space conversion processing is performed before conversion or after conversion. When implementing these varieties of adaptive coding processing, it is possible to evaluate the coding efficiency for all choices using decision block 5 regarding the coding mode to select the option with the highest coding efficiency. When performing these varieties of adaptive coding processing, fragments of signaling information 467 for deciding on the timing of coding are multiplexed with the bitstream on the decoding side. Signaling can be indicated at a level other than the macroblock level, for example, at the slice, image, GOP or sequence level.

Декодеры, соответствующие кодерам, показанным на фиг.78 и 79, изображены на фиг.80 и 81. На фиг.80 показан декодер, который декодирует битовый поток, кодированный кодером, показанным на фиг.78, путем осуществления преобразования цветового пространства до обработки преобразования. Блок 25 декодирования с переменной длиной слова декодирует из битового потока информацию сигнализации 467 в качестве информации о наличии или отсутствии преобразования для выбора, осуществляется ли преобразование в блоке 466 обратного преобразования цветового пространства, и информации для выбора системы преобразования, выполняемой в блоке 466 обратного преобразования цветового пространства, и выдает информацию на блок 466 обратного преобразования цветового пространства. Декодер, показанный на фиг.80, выполняет в блоке 466 обратного преобразования цветового пространства обработку преобразования цветового пространства для сигнала ошибки прогнозирования после обратного преобразования на основании этих разновидностей информации. На фиг.81 показан декодер, который декодирует битовый поток, закодированный кодером, показанным на фиг.79, выбирая частотный компонент, подлежащий обработке, после обработки преобразования и осуществляя преобразование цветового пространства. Блок декодирования с переменной длиной слова декодирует из битового потока информацию сигнализации 467 в качестве информации идентификации, включающей в себя информацию о наличии или отсутствии преобразования, для выбора, осуществляется ли преобразование в блоке 466 обратного преобразования цветового пространства, информацию для выбора системы преобразования, выполняемой в блоке обратного преобразования цветового пространства, информацию для выбора частотного компонента, в котором осуществляется преобразование цветового пространства, и т.п. и выдает информацию на блок 466 обратного преобразования цветового пространства. Декодер, показанный на фиг.81, выполняет в блоке 466 обратного преобразования цветового пространства обработку преобразования цветового пространства для данных коэффициентов преобразования после обратного квантования на основании этих разновидностей информации.The decoders corresponding to the encoders shown in Figs. 78 and 79 are shown in Figs. 80 and 81. Fig. 80 shows a decoder that decodes a bitstream encoded by the encoder shown in Fig. 78 by performing color space conversion before conversion processing . The variable-length decoding unit 25 decodes signaling information 467 from the bitstream as information about the presence or absence of conversion for selecting whether the conversion is performed in block 466 of the inverse color space conversion and information for selecting a conversion system performed in block 466 of the inverse color conversion space, and provides information to block 466 inverse color space conversion. The decoder shown in FIG. 80 executes, in a color space inverse transform unit 466, color space transform processing for the prediction error signal after the inverse transform based on these varieties of information. On Fig shows a decoder that decodes the bitstream encoded by the encoder shown in Fig, selecting the frequency component to be processed, after processing the conversion and converting the color space. The variable-length decoding unit decodes signaling information 467 from the bitstream as identification information including information about the presence or absence of a conversion, to select whether the conversion is performed in the inverse color space conversion unit 466, and information to select a conversion system performed in a color space inverse transform unit, information for selecting a frequency component in which color space is converted and, etc. and provides information to block 466 inverse color space conversion. The decoder shown in FIG. 81 executes, in an inverse color space transforming unit 466, color space transform processing for these transform coefficients after inverse quantization based on these varieties of information.

В декодерах, показанных на фиг.80 и 81, как и в декодере, показанном на фиг.75, если первый блок 603a декодирования изображения включает в себя функцию для декодирования битового потока согласно высокому профилю AVC, в котором три компонента совместно кодируются в традиционном формате YUV 4:2:0 в качестве объекта, и блок 610 анализа верхнего заголовка принимает решение, в каком формате закодирован битовый поток, со ссылкой на идентификатор профиля, декодированный из битового потока 422c, и передает результат принятия решения на переключатель 601 и первый блок декодирования изображения 603a как часть информации линии сигнала для сигнала 423 идентификации общего кодирования/независимого кодирования, также можно построить декодер, который обеспечивает совместимость традиционного формата YUV 4:2:0 с битовым потоком.In the decoders shown in FIGS. 80 and 81, as in the decoder shown in FIG. 75, if the first image decoding unit 603a includes a function for decoding a bitstream according to a high AVC profile in which the three components are jointly encoded in the traditional format YUV 4: 2: 0 as an object, and the upper header analysis unit 610 decides in which format the bitstream is encoded, with reference to the profile identifier decoded from bitstream 422c, and passes the decision result to switch 601 and the first image decoding lok 603a as part of the information signal to signal line 423 identifying the common encoding / independent encoding, also possible to construct a decoder that secures compatibility of the traditional format YUV 4: 2: 0 format with the bit stream.

Структура кодированных данных информации заголовка макроблока, включенной в битовый поток в традиционном формате YUV 4:2:0, показана на фиг.82. Данные отличаются от информации заголовка компонента Cn, показанной на фиг.50, тем, что, когда типом макроблока является интрапрогнозирование, кодированные данные режима 144 интрапрогнозирования цветоразностного сигнала включаются. Когда типом макроблока является интерпрогнозирование, хотя структура кодированных данных информации заголовка макроблока такая же, как в информации заголовка компонента Cn, показанной на фиг.50, вектор движения цветоразностного компонента генерируется методом, отличным от метода генерации компонента яркости, с использованием идентификационного номера опорного изображения и информации вектора движения, включенных в информацию заголовка макроблока.The structure of the encoded data of the macroblock header information included in the bitstream in the traditional YUV 4: 2: 0 format is shown in FIG. 82. The data differs from the Cn component header information shown in FIG. 50 in that when the macroblock type is intra prediction, the encoded data of the color difference intra prediction mode 144 is turned on. When the macroblock type is inter prediction, although the structure of the encoded macroblock header information data is the same as that of the Cn component header information shown in FIG. 50, the motion vector of the color difference component is generated by a method other than the luminance component generation method using the reference image identification number and motion vector information included in macroblock header information.

Ниже объяснены операции декодера для обеспечения совместимости традиционного формата YUV 4:2:0 с битовым потоком. Как описано выше, первый блок 603a декодирования изображения имеет функцию для декодирования битового потока в традиционном формате YUV 4:2:0. Внутренняя структура первого блока декодирования изображения такая же, как показана на фиг.76.The operations of the decoder are explained below to ensure compatibility of the traditional YUV 4: 2: 0 format with the bitstream. As described above, the first image decoding unit 603a has a function for decoding a bitstream in the traditional YUV 4: 2: 0 format. The internal structure of the first image decoding unit is the same as shown in FIG.

Ниже объяснены операции первого блока декодирования изображения и блока 25 декодирования с переменной длиной слова, имеющего функцию для декодирования битового потока в традиционном формате YUV 4:2:0. Когда видеопоток 422c поступает в блок декодирования с переменной длиной слова, блок декодирования с переменной длиной слова декодирует флаг индикации формата цветоразностного сигнала. Флаг индикации формата цветоразностного сигнала - это флаг, включенный в заголовок параметра последовательности видеопотока 422c и указывающий, является ли форматом входного видеосигнала 4:4:4, 4:2:2, 4:2:0 или 4:0:0. Обработка декодирования для информации заголовка макроблока видеопотока 422c переключается согласно значению флага индикации формата цветоразностного сигнала. Когда тип макроблока указывает интрапрогнозирование и флаг указания цветоразностного сигнала указывает 4:2:0 или 4:2:2, режим интрапрогнозирования цветоразностного сигнала 144 декодируется из битового потока. Когда флаг индикации формата цветоразностного сигнала указывает 4:4:4, декодирование режима интрапрогнозирования цветоразностного сигнала 144 пропускается. Когда флаг индикации формата цветоразностного сигнала указывает 4:0:0, поскольку входной видеосигнал имеет формат (формат 4:0:0), образованный только сигналом яркости, декодирование режима интрапрогнозирования цветоразностного сигнала 144 пропускается. Обработка декодирования для информации заголовка макроблока, отличной от режима 144 интрапрогнозирования цветоразностного сигнала, такая же, как в блоке декодирования с переменной длиной слова первого блока 603a декодирования изображения, и не включает в себя функцию для декодирования битового потока в традиционном формате YUV 4:2:0. Следовательно, когда видеопоток 422c вводится в блок 25 декодирования с переменной длиной слова, блок 603a декодирования с переменной длиной слова извлекает флаг индикации формата цветоразностного сигнала (не показан), квантованный коэффициент преобразования для трех компонентов 10 и информацию заголовка макроблока (тип макроблока/тип субмакроблока 106, служебную информацию прогнозирования 463, флаг 464 указания размера блока преобразования и параметр квантования 21). Флаг индикации формата цветоразностного сигнала (не показан) и служебная информация прогнозирования 463 вводятся в блок прогнозирования 461 для получения прогнозируемого изображения 7 для трех компонентов.The operations of the first image decoding unit and the variable word length decoding unit 25 having a function for decoding a bit stream in the traditional YUV 4: 2: 0 format are explained below. When the video stream 422c enters the variable-length decoding unit, the variable-word decoding unit decodes the color difference format indication flag. The color-difference signal format indication flag is a flag included in the header of the sequence parameter of the video stream 422c and indicating whether the input video signal format is 4: 4: 4, 4: 2: 2, 4: 2: 0 or 4: 0: 0. The decoding processing for the macroblock header information of the video stream 422c is switched according to the value of the color difference format indication flag. When the macroblock type indicates intra-prediction and the color difference indication flag indicates 4: 2: 0 or 4: 2: 2, the intra-prediction mode of the color difference signal 144 is decoded from the bitstream. When the color difference format format indication flag indicates 4: 4: 4, decoding of the color difference intra prediction mode 144 is skipped. When the color format format indication flag indicates 4: 0: 0, since the input video signal has a format (4: 0: 0 format) formed only by the luminance signal, decoding of the color-difference intra prediction mode 144 is skipped. The decoding processing for macroblock header information other than the color difference intra prediction mode 144 is the same as in the variable word length decoding unit of the first image decoding unit 603a, and does not include a function for decoding a bitstream in the traditional YUV 4: 2 format: 0. Therefore, when the video stream 422c is input to the variable word length decoding unit 25, the variable word length decoding unit 603a extracts a color difference format indication flag (not shown), a quantized transform coefficient for the three components 10, and macroblock header information (macroblock type / submacroblock type 106, prediction overhead 463, transform block size flag 464 and quantization parameter 21). The color-difference signal format indication flag (not shown) and prediction overhead information 463 are input to the prediction block 461 to obtain a predicted image 7 for three components.

Внутренняя структура блока прогнозирования 461 первого блока декодирования изображения, которая обеспечивает совместимость традиционного формата YUV 4:2:0 с битовым потоком, показана на фиг.83. Ниже объяснены операции блока прогнозирования.The internal structure of the prediction block 461 of the first image decoding block, which ensures compatibility of the conventional YUV 4: 2: 0 format with the bitstream, is shown in FIG. The operations of the prediction unit are explained below.

Блок переключения 4611a принимает решение относительно типа макроблока. Когда тип макроблока указывает интрапрогнозирование, блок переключения 4611b принимает решение относительно значения флага индикации формата цветоразностного сигнала. Когда значение флага индикации формата цветоразностного сигнала указывает 4:2:0 или 4:2:2, блок прогнозирования получает прогнозируемое изображение 7 для трех компонентов из служебной информации прогнозирования в соответствии с информацией режима интрапрогнозирования и информацией режима интрапрогнозирования цветоразностного сигнала. Прогнозируемое изображение сигнала яркости среди трех компонентов генерируется в блоке 4612 интрапрогнозирования сигнала яркости в соответствии с информацией режима интрапрогнозирования. Прогнозируемое изображение цветоразностного сигнала двух компонентов генерируется в блоке 4613 интрапрогнозирования цветоразностного сигнала, который осуществляет обработку, отличную от обработки компонента яркости, в соответствии с информацией режима интрапрогнозирования цветоразностного сигнала. Когда значение флага индикации формата цветоразностного сигнала указывает 4:4:4, прогнозируемые изображения всех трех компонентов генерируются в блоке 4612 интрапрогнозирования сигнала яркости в соответствии с информацией режима интрапрогнозирования. Когда значение флага индикации формата цветоразностного сигнала указывает 4:0:0, поскольку формат 4:0:0 образован только сигналом яркости (одним компонентом), только прогнозируемое изображение сигнала яркости генерируется в блоке 4612 интрапрогнозирования сигнала яркости в соответствии с информацией режима интрапрогнозирования.The switching unit 4611a decides on the type of macroblock. When the macroblock type indicates intra-prediction, the switching unit 4611b decides on the value of the color difference format indication flag. When the value of the color format format indication flag indicates 4: 2: 0 or 4: 2: 2, the prediction unit obtains the predicted image 7 for the three components from the prediction overhead information in accordance with the intra prediction mode information and the intra difference prediction mode information. A predicted image of the luminance signal among the three components is generated in the luminance signal intra prediction block 4612 in accordance with the intra prediction mode information. A predicted image of the color difference signal of the two components is generated in block 4613 for predicting the color difference signal, which performs processing other than processing the luminance component in accordance with the information of the intra prediction mode of the color difference signal. When the value of the color-format signal format indication flag indicates 4: 4: 4, predicted images of all three components are generated in the luminance signal intra-prediction unit 4612 in accordance with the intra-prediction mode information. When the value of the color format indicator indication flag indicates 4: 0: 0, since the 4: 0: 0 format is formed only by the luminance signal (one component), only the predicted image of the luminance signal is generated in the luminance signal intra prediction block 4612 in accordance with the intra prediction mode information.

Когда тип макроблока указывает интерпрогнозирование в блоке переключения 4611a, блок переключения 4611c принимает решение относительно значения флага индикации формата цветоразностного сигнала. Когда значение флага индикации формата цветоразностного сигнала указывает 4:2:0 или 4:2:2, в отношении сигнала яркости, прогнозируемое изображение генерируется из служебной информации прогнозирования 463 в блоке 4614 интерпрогнозирования сигнала яркости в соответствии с вектором движения и индексом опорного изображения и в соответствии с методом генерации прогнозируемого изображения для сигнала яркости, отвечающим стандарту AVC. Что касается прогнозируемого изображения цветоразностного сигнала двух компонентов, в блоке 4615 интерпрогнозирования цветоразностного сигнала вектор движения, полученный из служебной информации прогнозирования 463, подвергается масштабированию на основании формата цветоразностного сигнала для генерации цветоразностного вектора движения. Прогнозируемое изображение генерируется из опорного изображения, указанного индексом опорного изображения, который получен из служебной информации прогнозирования 463, на основании цветоразностного вектора движения в соответствии с методом, отвечающим стандарту AVC. Когда значение флага индикации формата цветоразностного сигнала указывает 4:0:0, поскольку формат 4:0:0 образован только сигналом яркости (одним компонентом), прогнозируемое изображение сигнала яркости генерируется в блоке 4614 интерпрогнозирования сигнала яркости в соответствии с вектором движения и индексом опорного изображения.When the macroblock type indicates inter prediction in the switching unit 4611a, the switching unit 4611c decides on the value of the color difference format indication flag. When the value of the color-format signal format indication flag indicates 4: 2: 0 or 4: 2: 2, with respect to the luminance signal, the predicted image is generated from the prediction overhead information 463 in the luminance signal prediction unit 4614 in accordance with the motion vector and the reference image index and in accordance with the method for generating a predicted image for a luminance signal that meets the AVC standard. As for the predicted image of the color difference signal of the two components, in the color difference signal inter prediction unit 4615, the motion vector obtained from the prediction overhead information 463 is scaled based on the color difference signal format to generate the color difference motion vector. The predicted image is generated from the reference image indicated by the reference image index, which is obtained from the prediction overhead information 463, based on the color-difference motion vector in accordance with the method that meets the AVC standard. When the value of the color-format signal format indication flag indicates 4: 0: 0, since the 4: 0: 0 format is constituted only by the luminance signal (one component), a predicted image of the luminance signal is generated in the luminance signal prediction unit 4614 in accordance with the motion vector and the reference image index .

Как описано выше, обеспечено средство генерации прогнозируемого изображения цветоразностного сигнала в традиционном формате YUV 4:2:0, и средство генерации прогнозируемых изображений трех компонентов переключается согласно значению флага индикации формата цветоразностного сигнала, декодированному из битового потока. Таким образом, можно построить декодер, который обеспечивает совместимость традиционного формата YUV 4:2:0 с битовым потоком.As described above, means for generating a predicted image of a color difference signal in a conventional YUV 4: 2: 0 format are provided, and means for generating predicted images of the three components is switched according to a flag value of a color difference format indication flag decoded from the bitstream. Thus, it is possible to build a decoder that provides compatibility of the traditional YUV 4: 2: 0 format with the bitstream.

Если информация, указывающая битовый поток, который можно декодировать даже в декодере, не поддерживающем обработку преобразования цветового пространства, например декодере, показанном на фиг.75, обеспечена в видеопотоке 422c, поступающем на декодеры, показанные на фиг.80 и 81, в единицах параметров последовательности и т.п., во всех декодерах, показанных на фиг.80, 81 и 75, можно осуществлять декодирование битового потока, соответствующее производительности декодирования каждого из декодеров. Соответственно, можно легко обеспечить совместимость битового потока.If information indicating a bitstream that can be decoded even in a decoder that does not support color space conversion processing, for example the decoder shown in FIG. 75, is provided in the video stream 422c supplied to the decoders shown in FIGS. 80 and 81, in units of parameters sequences and the like, in all decoders shown in FIGS. 80, 81 and 75, it is possible to decode the bitstream corresponding to the decoding performance of each of the decoders. Accordingly, bitstream compatibility can be easily ensured.

Пятнадцатый вариант осуществленияFifteenth Embodiment

Согласно пятнадцатому варианту осуществления настоящего изобретения будет описан другой вариант осуществления, отличающийся от кодера и декодера согласно четырнадцатому варианту осуществления, показанных на фиг.71, 75 и т.п., только структурой битового потока, подлежащего вводу и выводу. Кодер согласно пятнадцатому варианту осуществления осуществляет мультиплексирование кодированных данных со структурой битового потока, показанной на фиг.84.According to a fifteenth embodiment of the present invention, another embodiment different from the encoder and decoder according to the fourteenth embodiment shown in FIGS. 71, 75 and the like, only by the structure of the bit stream to be input and output will be described. An encoder according to a fifteenth embodiment performs multiplexing of encoded data with the bitstream structure shown in FIG. 84.

В битовом потоке, структура которого показана на фиг.69, блок NAL AUD включает в себя информацию primary_pic_type в качестве своего элемента. В таблице на фиг.85 приведена информация о типе кодирования изображения во время кодирования данных изображения в блоке доступа, начиная с блока NAL AUD.In the bitstream whose structure is shown in FIG. 69, the NAL AUD block includes primary_pic_type information as its element. The table in FIG. 85 provides information on the type of image encoding during encoding of image data in the access unit, starting from the NAL AUD unit.

Например, когда primary_pic_type=0, это указывает, что изображение полностью интракодировано. Когда primary_pic_type=1, это указывает, что срез, подлежащий интракодированию, и срез, для которого прогнозирование с компенсацией движения можно осуществлять с использованием только одного списка опорных изображений, можно смешивать в изображении. Поскольку primary_pic_type - это информация, задающая режим кодирования, в котором можно кодировать одно изображение, на стороне кодера, можно осуществлять кодирование, пригодное для различных условий, например, характеристики входного видеосигнала и функции произвольного доступа, оперируя этой информацией. Согласно четырнадцатому варианту осуществления, поскольку существует только один primary_pic_type для одного блока доступа, при осуществлении независимой обработки кодирования primary_pic_type является общим для трех изображений цветового компонента в блоке доступа. Согласно пятнадцатому варианту осуществления при осуществлении независимого кодирования каждого из изображений цветового компонента primary_pic_type для двух остальных изображений цветового компонента дополнительно вставляется в блок NAL AUD, показанный на фиг.69, согласно значению num_piсtures_in_au. Альтернативно, как в структуре битового потока, показанной на фиг.84, кодированные данные каждого изображения цветового компонента начинаются с блока NAL (разделителя каналов цветности), указывающего начало изображения цветового компонента, и в этот блок NAL CCD включена соответствующая информация primary_pic_type. В этой структуре, поскольку кодированные данные соответствующих изображений цветового компонента для одного изображения совместно мультиплексируются, флаг идентификации цветового компонента (color_channel_idc), описанный согласно четырнадцатому варианту осуществления, включен в блок NAL CCD, а не в заголовок среза. Следовательно, возможно консолидировать информацию флага идентификации цветового компонента, подлежащую мультиплексированию с соответствующими срезами, в данные в единицах изображений. Таким образом, можно сократить служебную информацию. Поскольку блок NAL CCD, построенный только как строка байтов, подлежит детектированию для подтверждения color_channel_idc только один раз для каждого изображения цветового компонента, можно быстро найти верхнюю часть изображения цветового компонента, не осуществляя обработку декодирования с переменной длиной слова. Таким образом, на стороне декодера color_channel_idc в заголовке среза не нужно подтверждать каждый раз для отделения блока NAL, подлежащего декодированию, для каждого цветового компонента. Можно гладко осуществлять подачу данных на второй блок декодирования изображения.For example, when primary_pic_type = 0, this indicates that the image is fully intra-encoded. When primary_pic_type = 1, this indicates that the slice to be intra-encoded and the slice for which motion-compensated prediction can be performed using only one list of reference images can be mixed in the image. Since primary_pic_type is information that specifies the encoding mode in which one image can be encoded, on the encoder side, encoding suitable for various conditions, for example, the characteristics of the input video signal and the random access function, can be performed using this information. According to the fourteenth embodiment, since there is only one primary_pic_type for one access unit, when performing independent encoding processing, primary_pic_type is common to three color component images in the access unit. According to the fifteenth embodiment, when independently encoding each of the images of the color component, primary_pic_type for the remaining two images of the color component is additionally inserted into the NAL AUD block shown in FIG. 69 according to the value num_pictures_in_au. Alternatively, as in the bitstream structure shown in FIG. 84, the encoded data of each image of the color component begins with a NAL unit (color channel separator) indicating the start of the image of the color component, and corresponding primary_pic_type information is included in this NAL CCD unit. In this structure, since the encoded data of the respective color component images for a single image is jointly multiplexed, the color component identification flag (color_channel_idc) described according to the fourteenth embodiment is included in the NAL CCD block, and not in the slice header. Therefore, it is possible to consolidate the color component identification flag information to be multiplexed with corresponding slices into data in image units. Thus, overhead information can be reduced. Since the NAL CCD block, constructed only as a string of bytes, needs to be detected only once for each color component image to confirm color_channel_idc, you can quickly find the top of the color component image without performing variable-length decoding processing. Thus, on the decoder side, the color_channel_idc in the slice header does not need to be confirmed each time to separate the NAL block to be decoded for each color component. It is possible to smoothly feed data to a second image decoding unit.

С другой стороны, при такой структуре эффект сокращения размера буфера и задержки обработки кодера, описанного со ссылкой на фиг.72, согласно четырнадцатому варианту осуществления ослабевает. Таким образом, флаг идентификации цветового компонента можно построить для указания на более высоком уровне (последовательности или GOP), мультиплексируются ли кодированные данные в единицах срезов или в единицах изображений цветового компонента. Принимая такую структуру битового потока, можно осуществлять гибкую реализацию кодера согласно форме использования кодера.On the other hand, with this structure, the effect of reducing the buffer size and processing delay of the encoder described with reference to FIG. 72 according to the fourteenth embodiment is weakened. Thus, a color component identification flag can be constructed to indicate at a higher level (sequence or GOP) whether the encoded data is multiplexed in slice units or in image units of the color component. By adopting such a structure of the bitstream, it is possible to implement a flexible implementation of the encoder according to the form of using the encoder.

Кроме того, согласно еще одному варианту осуществления мультиплексирование кодированных данных можно осуществлять с помощью структуры битового потока, показанной на фиг.86. Согласно фиг.86 color_channel_idc и primary_pic_type, включенные в блок NAL CCD, показанные на фиг.84, включены в соответствующие AUD. В структуре битового потока согласно пятнадцатому варианту осуществления настоящего изобретения также в случае независимой обработки кодирования одно изображение (цветового компонента) включается в один блок доступа. При такой структуре, как и в структурах, описанных выше, существует эффект сокращения служебной информации благодаря возможности консолидации информации флага идентификации цветового компонента в данные в единицах изображения. Кроме того, поскольку блок NAL AUD, построенный только как строка байтов, подлежит детектированию для подтверждения color_channel_idc только один раз для одного изображения, можно быстро найти верхнюю часть изображения цветового компонента, не осуществляя обработку декодирования с переменной длиной слова. Таким образом, на стороне декодера color_channel_idc в заголовке среза не нужно подтверждать каждый раз для отделения блока NAL, подлежащего декодированию, для каждого цветового компонента. Соответственно, можно гладко осуществлять подачу данных на второй блок декодирования изображения. С другой стороны, поскольку изображение одного кадра или одного поля образовано тремя блоками доступа, необходимо одновременно указывать три блока доступа в качестве данных изображения. Таким образом, в структуре битового потока, показанной на фиг.86, AUD можно присваивать порядковые номера (порядки кодирования и декодирования во временном измерении и т.д.) соответствующих изображений. При такой структуре на стороне декодера можно проверять порядки декодирования и отображения соответствующих изображений, атрибуты цветовых компонентов, принадлежность IDR и т.п., вовсе не осуществляя декодирование данных среза. Можно эффективно осуществлять редактирование и особое воспроизведение на уровне битового потока.In addition, according to another embodiment, the multiplexing of the encoded data can be accomplished using the bitstream structure shown in FIG. 86, the color_channel_idc and primary_pic_type included in the CCD NAL unit shown in FIG. 84 are included in the corresponding AUD. In the structure of the bitstream according to the fifteenth embodiment of the present invention, also in the case of independent encoding processing, one image (color component) is included in one access unit. With such a structure, as in the structures described above, there is an effect of reducing overhead information due to the possibility of consolidating the information of the identification flag of the color component into data in image units. In addition, since the NAL AUD block, constructed only as a string of bytes, needs to be detected to confirm color_channel_idc only once for one image, it is possible to quickly find the upper part of the image of the color component without performing variable-length decoding processing. Thus, on the decoder side, the color_channel_idc in the slice header does not need to be confirmed each time to separate the NAL block to be decoded for each color component. Accordingly, it is possible to smoothly supply data to a second image decoding unit. On the other hand, since the image of one frame or one field is formed by three access units, it is necessary to simultaneously indicate three access units as image data. Thus, in the bitstream structure shown in FIG. 86, AUD can be assigned sequence numbers (encoding and decoding orders in the time dimension, etc.) of the respective images. With this structure, on the decoder side, it is possible to check the decoding and display orders of the corresponding images, the attributes of the color components, the IDR affiliation, and the like, without decoding the slice data at all. It is possible to effectively carry out editing and special reproduction at the bitstream level.

В структуре битового потока, показанной на фиг.69, 84 или 86, информация, указывающая количество блоков NAL среза, включенных в одно изображение цветового компонента, может храниться в областях AUD или CCD.In the bitstream structure shown in FIGS. 69, 84 or 86, information indicating the number of slice NAL units included in a single color component image may be stored in the AUD or CCD regions.

Что касается всех вариантов осуществления, обработка преобразования и обработка обратного преобразования могут представлять собой преобразование, позволяющее гарантировать ортогональность, например DCT, или могут представлять собой преобразование, например AVC, в сочетании с обработкой квантования и обратного квантования для аппроксимации ортогональности, а не строгое преобразование, например DCT. Кроме того, сигнал ошибки прогнозирования можно кодировать как информацию на пиксельном уровне без осуществления преобразования.For all embodiments, the transform processing and the inverse transform processing may be a transform that guarantees orthogonality, such as DCT, or may be a transform, such as AVC, combined with quantization and inverse quantization processing to approximate orthogonality, rather than a strict transform. e.g. DCT. In addition, the prediction error signal can be encoded as information at the pixel level without conversion.

Промышленная применимостьIndustrial applicability

Настоящее изобретение применимо к кодеру цифрового сигнала изображения и к декодеру цифрового сигнала изображения, используемым для кодирования изображения со сжатием, передачи сжатых данных изображения и т.п.The present invention is applicable to a digital image signal encoder and a digital image signal decoder used for encoding a compressed image, transmitting compressed image data, and the like.

Claims (63)

1. Кодер изображения, содержащий
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих методы генерации прогнозируемого изображения,
блок принятия решения относительно режима прогнозирования, который оценивает эффективность прогнозирования прогнозируемого изображения, выводимого из блока генерации прогнозируемого изображения, для принятия решения относительно заранее определенного режима прогнозирования, и
блок кодирования, который подвергает выходной сигнал блока принятия решения относительно режима прогнозирования кодированию с переменной длиной слова, в котором
блок принятия решения относительно режима прогнозирования принимает решение, на основании заранее определенного сигнала управления, какой из общего режима прогнозирования и отдельного режима прогнозирования используется для соответствующих цветовых компонентов, образующих входной сигнал изображения, и мультиплексирует информацию о сигнале управления в битовый поток, мультиплексирует, когда используется общий режим прогнозирования, информацию общего режима прогнозирования в битовый поток и мультиплексирует, когда общий режим прогнозирования не используется, информацию режима прогнозирования для каждого из цветовых компонентов в битовый поток.
1. An image encoder containing
a predicted image generating unit that generates a predicted image in accordance with a set of prediction modes indicating methods for generating a predicted image,
a decision unit for the prediction mode that evaluates the prediction efficiency of the predicted image output from the predicted image generation unit for deciding on a predetermined prediction mode, and
a coding unit that subjects the output of the decision unit regarding the prediction mode to coding with a variable word length in which
the decision unit regarding the prediction mode makes a decision, based on a predetermined control signal, which of the general prediction mode and the individual prediction mode are used for the respective color components forming the input image signal, and multiplexes the information about the control signal into a bit stream, multiplexes when used general prediction mode, information of the general prediction mode into the bitstream and multiplexes when the general mode is pro nozirovaniya not used, prediction mode information for each of the color components on the bit stream.
2. Кодер изображения по п.1, в котором блок принятия решения относительно режима прогнозирования осуществляет принятие решения относительно режима прогнозирования в единицах макроблоков и обрабатывает режим прогнозирования на основании сигнала управления, который изменяется в единицах макроблоков.2. The image encoder according to claim 1, wherein the decision block regarding the prediction mode makes a decision regarding the prediction mode in units of macroblocks and processes the prediction mode based on a control signal that changes in units of macroblocks. 3. Кодер изображения по п.1, в котором блок принятия решения относительно режима прогнозирования осуществляет принятие решения относительно режима прогнозирования в единицах макроблоков и обрабатывает режим прогнозирования на основании сигнала управления, который изменяется в единицах последовательности, включающей в себя совокупность кадров.3. The image encoder according to claim 1, wherein the decision block regarding the prediction mode makes a decision regarding the prediction mode in units of macroblocks and processes the prediction mode based on a control signal that changes in units of a sequence including a plurality of frames. 4. Кодер изображения по п.1, в котором блок принятия решения относительно режима прогнозирования мультиплексирует, когда используется общий режим прогнозирования, информацию общего режима прогнозирования в битовый поток в качестве информации идентификации режима прогнозирования общего использования, и мультиплексирует, когда общий режим прогнозирования не используется, информацию режима прогнозирования для каждого из цветовых компонентов в битовый поток в качестве информации идентификации режима прогнозирования общего использования.4. The image encoder according to claim 1, wherein the decision block regarding the prediction mode multiplexes when the general prediction mode is used, information of the general prediction mode into a bit stream as identification information of the general prediction mode, and multiplexes when the general prediction mode is not used , prediction mode information for each of the color components in the bitstream as general prediction mode identification information used and I. 5. Декодер изображения, содержащий
блок декодирования, который декодирует информацию идентификации режима прогнозирования общего использования, указывающую, какой из общего режима прогнозирования и отдельного режима прогнозирования используется для соответствующих цветовых компонентов, образующих входной сигнал изображения, и декодирует режимы прогнозирования соответствующих цветовых компонентов на основании значения информации идентификации режима прогнозирования общего использования, и
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение на основании режимов прогнозирования, декодированных блоком декодирования, причем
блок декодирования осуществляет декодирование данных изображения на основании прогнозируемого изображения, сгенерированного блоком генерации прогнозируемого изображения.
5. An image decoder containing
a decoding unit that decodes the identification information of the common prediction mode indicating which of the general prediction mode and the individual prediction mode is used for the respective color components constituting the input image signal, and decodes the prediction modes of the corresponding color components based on the value of the common use prediction mode identification information , and
a predicted image generating unit that generates a predicted image based on the prediction modes decoded by the decoding unit, wherein
the decoding unit performs decoding of the image data based on the predicted image generated by the predicted image generation unit.
6. Декодер изображения по п.5, в котором блок декодирования осуществляет декодирование в единицах макроблоков и декодирует и использует информацию идентификации режима прогнозирования общего использования в единицах макроблоков.6. The image decoder according to claim 5, in which the decoding unit performs decoding in units of macroblocks and decodes and uses the identification information of the prediction mode of common use in units of macroblocks. 7. Декодер изображения по п.5, в котором блок декодирования осуществляет декодирование в единицах макроблоков и декодирует и использует информацию идентификации режима прогнозирования общего использования в единицах последовательности, включающей в себя совокупность кадров.7. The image decoder according to claim 5, in which the decoding unit performs decoding in units of macroblocks and decodes and uses the identification information of the prediction mode of general use in units of a sequence including a plurality of frames. 8. Декодер изображения по п.5, в котором блок декодирования осуществляет декодирование в единицах макроблоков и декодирует и использует информацию идентификации режима прогнозирования общего использования в единицах макроблоков.8. The image decoder according to claim 5, in which the decoding unit performs decoding in units of macroblocks and decodes and uses the identification information of the prediction mode of common use in units of macroblocks. 9. Способ кодирования изображения, содержащий этапы, на которых
генерируют прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения,
оценивают эффективность прогнозирования сгенерированного прогнозируемого изображения для принятия решения относительно заранее определенного режима прогнозирования, принимают решение, на основании заранее определенного сигнала, какой из общего режима прогнозирования и отдельного режима прогнозирования используется для соответствующих цветовых компонентов, образующих входной сигнал изображения,
и мультиплексируют информацию о сигнале управления в битовый поток, мультиплексируют, когда используется общий режим прогнозирования, информацию общего режима прогнозирования в битовый поток и мультиплексируют, когда общий режим прогнозирования не используется, информацию режима прогнозирования для каждого из цветовых компонентов в битовый поток, и
подвергают выходной сигнал, полученный на этапе принятия решения и мультиплексирования, кодированию с переменной длиной слова.
9. A method of encoding an image comprising the steps of:
generating a predicted image in accordance with a set of prediction modes indicating a method for generating a predicted image,
evaluating the prediction efficiency of the generated predicted image to make a decision regarding a predetermined prediction mode, decide, based on a predetermined signal, which of the general prediction mode and the individual prediction mode are used for the respective color components forming the input image signal,
and multiplexing the control signal information into the bitstream, multiplexing when the common prediction mode is used, general prediction mode information into the bitstream and multiplexing when not using the common prediction mode, prediction mode information for each of the color components into the bitstream, and
subjected to the output signal obtained at the stage of decision making and multiplexing, encoding with a variable word length.
10. Компьютерно-считываемый носитель записи, на котором записана программа кодирования изображения, предписывающая компьютеру выполнять этапы, на которых
генерируют прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения,
оценивают эффективность прогнозирования сгенерированного прогнозируемого изображения для принятия решения относительно заранее определенного режима прогнозирования, принимают решение, на основании заранее определенного сигнала, какой из общего режима прогнозирования и отдельного режима прогнозирования используется для соответствующих цветовых компонентов, образующих входной сигнал изображения, и мультиплексируют информацию о сигнале управления в битовый поток, мультиплексируют, когда используется общий режим прогнозирования, информацию общего режима прогнозирования в битовый поток и мультиплексируют, когда общий режим прогнозирования не используется, информацию режима прогнозирования для каждого из цветовых компонентов в битовый поток, и
подвергают выходной сигнал, полученный на этапе принятия решения и мультиплексирования, кодированию с переменной длиной слова.
10. A computer-readable recording medium on which an image encoding program is recorded instructing a computer to perform steps in which
generating a predicted image in accordance with a set of prediction modes indicating a method for generating a predicted image,
evaluate the forecasting efficiency of the generated predicted image to make a decision regarding a predetermined prediction mode, make a decision, based on a predetermined signal, which of the general prediction mode and the individual prediction mode are used for the respective color components that form the input image signal, and information about the control signal is multiplexed into the bitstream, multiplex when a common prediction mode is used, general prediction mode information into a bitstream and multiplexed when the common prediction mode is not used, prediction mode information for each of the color components in the bitstream, and
subjected to the output signal obtained at the stage of decision making and multiplexing, encoding with a variable word length.
11. Способ декодирования изображения, содержащий этапы, на которых
декодируют информацию идентификации режима прогнозирования общего использования, указывающую, какой из общего режима прогнозирования и отдельного режима прогнозирования используется для соответствующих цветовых компонентов, образующих входной сигнал изображения, и декодируют режимы прогнозирования соответствующих цветовых компонентов на основании значения информации идентификации режима прогнозирования общего использования,
генерируют прогнозируемое изображение на основании декодированных режимов прогнозирования и
осуществляют декодирование данных изображения на основании сгенерированного прогнозируемого изображения.
11. A method of decoding an image comprising the steps of:
decoding general-use prediction mode identification information indicating which of the general prediction mode and the individual prediction mode are used for the respective color components constituting the input image signal, and predicting prediction modes of the respective color components based on the value of the general-use prediction mode identification information,
generating a predicted image based on the decoded prediction modes and
decode image data based on the generated predicted image.
12. Компьютерно-считываемый носитель записи, на котором записана программа декодирования изображения, предписывающая компьютеру выполнять этапы, на которых
декодируют информацию идентификации режима прогнозирования общего использования, указывающую, какой из общего режима прогнозирования и отдельного режима прогнозирования используется для соответствующих цветовых компонентов, образующих входной сигнал изображения, и декодируют режимы прогнозирования соответствующих цветовых компонентов на основании значения информации идентификации режима прогнозирования общего использования,
генерируют прогнозируемое изображение на основании декодированных режимов прогнозирования и осуществляют декодирование данных изображения на основании сгенерированного прогнозируемого изображения.
12. A computer-readable recording medium on which an image decoding program is recorded instructing the computer to perform the steps in which
decoding general-use prediction mode identification information indicating which of the general prediction mode and the individual prediction mode are used for the respective color components constituting the input image signal, and predicting prediction modes of the respective color components based on the value of the general-use prediction mode identification information,
generating a predicted image based on the decoded prediction modes and decoding the image data based on the generated predicted image.
13. Кодер изображения, содержащий
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих методы генерации прогнозируемого изображения,
блок принятия решения относительно режима прогнозирования, который оценивает эффективность прогнозирования прогнозируемого изображения, выводимого из блока генерации прогнозируемого изображения, для принятия решения относительно заранее определенного режима прогнозирования, и блок кодирования режима прогнозирования, который подвергает выходной сигнал блока принятия решения относительно режима прогнозирования кодированию с переменной длиной слова, причем
блок принятия решения относительно режима прогнозирования по отдельности осуществляет принятие решения относительно режима прогнозирования для каждого из цветовых компонентов в единицах областей изображения объекта прогнозирования, и
блок кодирования режима прогнозирования выбирает информацию режима прогнозирования вблизи области изображения для идентичного цветового компонента или информацию режима прогнозирования в позиции на экране, идентичной области изображения в других цветовых компонентах для задания прогнозируемых значений режимов прогнозирования и осуществления кодирования информации режима прогнозирования.
13. An image encoder containing
a predicted image generating unit that generates a predicted image in accordance with a set of prediction modes indicating methods for generating a predicted image,
a decision block regarding the prediction mode, which evaluates the prediction efficiency of the predicted image output from the predicted image generation block, for deciding on a predetermined prediction mode, and a prediction mode encoding block that subjects the output of the decision block to the prediction mode to variable-length coding words, moreover
the decision unit regarding the prediction mode individually makes a decision regarding the prediction mode for each of the color components in units of image areas of the prediction object, and
the prediction mode encoding unit selects the prediction mode information near the image area for the same color component or the prediction mode information at a position on the screen that is identical to the image area in other color components to specify the predicted values of the prediction modes and encode the prediction mode information.
14. Кодер изображения по п.13, в котором блок кодирования режима прогнозирования мультиплексирует, в битовый поток, информацию идентификации, указывающую, какая из информации режима прогнозирования вблизи области изображения для идентичного цветового компонента и информации режима прогнозирования в позиции на экране, идентичной области изображения в других цветовых компонентах, используется в качестве прогнозируемого значения.14. The image encoder of claim 13, wherein the prediction mode encoding unit multiplexes, into a bit stream, identification information indicating which of the prediction mode information is near the image area for the same color component and the prediction mode information at a position on the screen that is identical to the image area in other color components, used as a predicted value. 15. Декодер изображения, содержащий
блок декодирования режима прогнозирования, который декодирует режимы прогнозирования, по отдельности закодированные для соответствующих цветовых компонентов, образующих входной сигнал изображения,
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения, и
блок декодирования, который генерирует, на основании режимов прогнозирования соответствующих цветовых компонентов, установленных блоком декодирования режима прогнозирования, прогнозируемое изображение с помощью блока генерации прогнозируемого изображения для осуществления декодирования данных изображения, причем
блок декодирования режима прогнозирования выбирает, при декодировании режима прогнозирования, выделенного определенному блоку прогнозирования, информацию режима прогнозирования вблизи идентичного цветового компонента или информацию режима прогнозирования, выделенную блокам прогнозирования в идентичной позиции на экране, разных цветовых компонентов и устанавливает прогнозируемое значение режима прогнозирования для осуществления декодирования.
15. An image decoder containing
a prediction mode decoding unit that decodes prediction modes individually encoded for respective color components constituting an input image signal,
a predicted image generating unit that generates a predicted image in accordance with a set of prediction modes indicating a method for generating a predicted image, and
a decoding unit that generates, based on the prediction modes of the respective color components set by the prediction mode decoding unit, a predicted image using the predicted image generation unit for decoding image data, wherein
the prediction mode decoding unit selects, when decoding the prediction mode allocated to the specific prediction unit, the prediction mode information near the same color component or the prediction mode information allocated to the prediction units in the same position on the screen of different color components and sets the predicted value of the prediction mode for decoding.
16. Декодер изображения по п.15, в котором блок декодирования режима прогнозирования декодирует, из битового потока, информацию идентификации, указывающую, какая из информации режима прогнозирования вблизи идентичного цветового компонента и информации режима прогнозирования, выделенной блокам прогнозирования в идентичной позиции на экране, разных цветовых компонентов используется в качестве прогнозируемого значения, и устанавливает прогнозируемое значение на основании значения информации идентификации.16. The image decoder according to clause 15, in which the prediction mode decoding unit decodes, from the bitstream, identification information indicating which of the prediction mode information near the same color component and the prediction mode information allocated to the prediction units in the same position on the screen are different color components are used as the predicted value, and sets the predicted value based on the value of the identification information. 17. Способ кодирования изображения, содержащий этапы, на которых
генерируют прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения,
оценивают эффективность прогнозирования сгенерированного прогнозируемого изображения для принятия решения относительно заранее определенного режима прогнозирования и по отдельности осуществляют принятие решения относительно режима прогнозирования для каждого из цветовых компонентов в единицах областей изображения объекта прогнозирования, и
подвергают выходной сигнал, полученный на этапе осуществления принятия решения относительно режима прогнозирования, кодированию с переменной длиной слова, выбирают информацию режима прогнозирования вблизи области изображения для идентичного цветового компонента или информацию режима прогнозирования в позиции на экране, идентичной области изображения в другом цветовом компоненте для задания прогнозируемых значений режимов прогнозирования и осуществления кодирования информации режима прогнозирования.
17. An image encoding method, comprising the steps of:
generating a predicted image in accordance with a set of prediction modes indicating a method for generating a predicted image,
evaluating the forecasting efficiency of the generated predicted image for making a decision regarding a predetermined prediction mode and individually making a decision about the prediction mode for each of the color components in units of image areas of the prediction object, and
the output signal obtained at the decision-making stage regarding the prediction mode is subjected to coding with a variable word length, the prediction mode information is selected near the image area for the same color component or the prediction mode information at a position on the screen that is identical to the image area in another color component for specifying the predicted values of the prediction modes and the encoding of the information of the prediction mode.
18. Компьютерно-считываемый носитель записи, на котором записана программа кодирования изображения, предписывающая компьютеру выполнять этапы, на которых
генерируют прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения,
оценивают эффективность прогнозирования сгенерированного прогнозируемого изображения для принятия решения относительно заранее определенного режима прогнозирования и по отдельности осуществляют принятие решения относительно режима прогнозирования для каждого из цветовых компонентов в единицах областей изображения объекта прогнозирования, и
подвергают выходной сигнал, полученный на этапе осуществления принятия решения относительно режима прогнозирования, кодированию с переменной длиной слова, выбирают информацию режима прогнозирования вблизи области изображения для идентичного цветового компонента или информацию режима прогнозирования в позиции на экране, идентичной области изображения в другом цветовом компоненте для задания прогнозируемых значений режимов прогнозирования и осуществления кодирования информации режима прогнозирования.
18. A computer-readable recording medium on which an image encoding program is recorded instructing a computer to perform steps in which
generating a predicted image in accordance with a set of prediction modes indicating a method for generating a predicted image,
evaluating the forecasting efficiency of the generated predicted image for making a decision regarding a predetermined prediction mode and individually making a decision about the prediction mode for each of the color components in units of image areas of the prediction object, and
the output signal obtained at the decision-making stage regarding the prediction mode is subjected to coding with a variable word length, the prediction mode information is selected near the image area for the same color component or the prediction mode information at a position on the screen that is identical to the image area in another color component for specifying the predicted values of the prediction modes and the encoding of the information of the prediction mode.
19. Способ декодирования изображения, содержащий этапы, на которых
декодируют режимы прогнозирования, по отдельности закодированные для соответствующих цветовых компонентов, образующих входной сигнал изображения, и, при декодировании режима прогнозирования, выделенного определенному блоку прогнозирования, выбирают информацию режима прогнозирования вблизи идентичного цветового компонента или информацию режима прогнозирования, выделенную блокам прогнозирования в идентичной позиции на экране, разных цветовых компонентов для задания прогнозируемых значений режимов прогнозирования и осуществления декодирования,
генерируют прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих методы генерации прогнозируемого изображения, и
генерируют прогнозируемое изображение согласно этапу генерации прогнозируемого изображения на основании режимов прогнозирования соответствующих цветовых компонентов, установленных на этапе осуществления декодирования режима прогнозирования.
19. An image decoding method comprising the steps of:
prediction modes are decoded, individually encoded for the respective color components forming the input image signal, and when decoding the prediction mode allocated to a specific prediction block, prediction mode information is selected near the identical color component or prediction mode information allocated to the prediction blocks in the same position on the screen , different color components for specifying the predicted values of the prediction modes and the implementation decoding,
generating a predicted image in accordance with a set of prediction modes indicating methods for generating a predicted image, and
generating a predicted image according to the step of generating the predicted image based on the prediction modes of the respective color components set in the prediction mode decoding step.
20. Компьютерно-считываемый носитель записи, на котором записана программа декодирования изображения, предписывающая компьютеру выполнять этапы, на которых
декодируют режимы прогнозирования, по отдельности закодированные для соответствующих цветовых компонентов, образующих входной сигнал изображения, и, при декодировании режима прогнозирования, выделенного определенному блоку прогнозирования, выбирают информацию режима прогнозирования вблизи идентичного цветового компонента или информацию режима прогнозирования, выделенную блокам прогнозирования в идентичной позиции на экране, разных цветовых компонентов для задания прогнозируемых значений режимов прогнозирования и осуществления декодирования,
генерируют прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих методы генерации прогнозируемого изображения, и
генерируют прогнозируемое изображение согласно этапу генерации прогнозируемого изображения на основании режимов прогнозирования соответствующих цветовых компонентов, установленных на этапе осуществления декодирования режима прогнозирования.
20. A computer-readable recording medium on which an image decoding program is recorded instructing a computer to perform steps in which
prediction modes are decoded, individually encoded for the respective color components forming the input image signal, and when decoding the prediction mode allocated to a specific prediction block, prediction mode information is selected near the identical color component or prediction mode information allocated to the prediction blocks in the same position on the screen , different color components for specifying the predicted values of the prediction modes and the implementation decoding,
generating a predicted image in accordance with a set of prediction modes indicating methods for generating a predicted image, and
generating a predicted image according to the step of generating the predicted image based on the prediction modes of the respective color components set in the prediction mode decoding step.
21. Кодер изображения, содержащий
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения,
блок принятия решения относительно режима прогнозирования, который оценивает эффективность прогнозирования прогнозируемого изображения, выводимого из блока генерации прогнозируемого изображения, для принятия решения относительно заранее определенного режима прогнозирования, и
блок кодирования режима прогнозирования, который подвергает выходной сигнал блока принятия решения относительно режима прогнозирования кодированию с переменной длиной слова, в котором
блок принятия решения относительно режима прогнозирования по отдельности осуществляет принятие решения относительно режима прогнозирования для каждого из цветовых компонентов в единицах областей изображения объекта прогнозирования, и
блок кодирования режима прогнозирования обращается к поисковой таблице, полученной табулированием комбинаций состояний совокупности фрагментов информации режима прогнозирования вблизи области изображения для идентичного цветового компонента и прогнозируемых значений для режимов прогнозирования объекта кодирования, для уникального задания прогнозируемого значения информации режима прогнозирования из состояний совокупности фрагментов информации режима прогнозирования вблизи области изображения и осуществления кодирования.
21. An image encoder containing
a predicted image generation unit that generates a predicted image in accordance with a set of prediction modes indicating a method for generating a predicted image,
a decision unit for the prediction mode that evaluates the prediction efficiency of the predicted image output from the predicted image generation unit for deciding on a predetermined prediction mode, and
a prediction mode encoding unit that subjects the output of the decision unit regarding the prediction mode to encoding with a variable word length in which
the decision unit regarding the prediction mode individually makes a decision regarding the prediction mode for each of the color components in units of image areas of the prediction object, and
the prediction mode coding unit refers to a lookup table obtained by tabulating combinations of states of a plurality of pieces of information of a prediction mode near an image area for an identical color component and predicted values for prediction modes of a coding object to uniquely specify a predicted value of prediction mode information from states of a plurality of pieces of information of a prediction mode near areas of image and coding.
22. Кодер изображения по п.21, в котором блок кодирования режима прогнозирования динамически обновляет значения прогнозируемых значений информации режима прогнозирования в поисковой таблице на основании состояний совокупности фрагментов информации режима прогнозирования вблизи области изображения для идентичного цветового компонента и значений режимов прогнозирования объекта кодирования.22. The image encoder according to item 21, in which the prediction mode encoding unit dynamically updates the predicted values of the prediction mode information in the lookup table based on the states of the plurality of pieces of prediction mode information near the image area for the same color component and the values of the prediction modes of the encoding object. 23. Декодер изображения, содержащий
блок декодирования режима прогнозирования, который декодирует режимы прогнозирования, по отдельности закодированные для соответствующих цветовых компонентов, образующих входной сигнал изображения,
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения, и
блок декодирования, который генерирует прогнозируемое изображение с помощью блока генерации прогнозируемого изображения на основании режимов прогнозирования соответствующих цветовых компонентов, установленных блоком декодирования режима прогнозирования для осуществления декодирования данных изображения, причем
блок декодирования режима прогнозирования обращается, при декодировании режима прогнозирования, выделенного определенному блоку прогнозирования, к поисковой таблице, полученной табулированием комбинаций состояний совокупности фрагментов информации режима прогнозирования вблизи области изображения для идентичного цветового компонента и прогнозируемых значений для режимов прогнозирования объекта кодирования, для уникального задания прогнозируемого значения информации режима прогнозирования из состояний совокупности фрагментов информации режима прогнозирования вблизи области изображения и осуществления кодирования.
23. An image decoder containing
a prediction mode decoding unit that decodes prediction modes individually encoded for respective color components constituting an input image signal,
a predicted image generating unit that generates a predicted image in accordance with a set of prediction modes indicating a method for generating a predicted image, and
a decoding unit that generates a predicted image using the predicted image generation unit based on the prediction modes of the respective color components set by the prediction mode decoding unit for decoding the image data,
when decoding the prediction mode allocated to a specific prediction block, the search table obtained by tabulating combinations of states of a plurality of pieces of information of the prediction mode near the image area for the same color component and the predicted values for the prediction modes of the encoding object to uniquely specify the predicted value prediction mode information from aggregate fragment states in the information of the prediction mode near the image area and the implementation of coding.
24. Декодер изображения по п.23, в котором блок декодирования режима прогнозирования динамически обновляет значения прогнозируемых значений информации режима прогнозирования в поисковой таблице на основании состояний совокупности фрагментов информации режима прогнозирования вблизи области изображения для идентичного цветового компонента и значения декодированных режимов прогнозирования.24. The image decoder of claim 23, wherein the prediction mode decoding unit dynamically updates the predicted values of the prediction mode information in the lookup table based on the states of the plurality of pieces of prediction mode information near the image area for the same color component and the values of the decoded prediction modes. 25. Кодер изображения, содержащий
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения,
блок принятия решения относительно режима прогнозирования, который оценивает эффективность прогнозирования прогнозируемого изображения, выводимого из блока генерации прогнозируемого изображения, для принятия решения относительно заранее определенного режима прогнозирования, и
блок кодирования режима прогнозирования, который подвергает выходной сигнал блока принятия решения относительно режима прогнозирования кодированию с переменной длиной слова, причем
блок принятия решения относительно режима прогнозирования по отдельности осуществляет принятие решения относительно режима прогнозирования для каждого из цветовых компонентов в единицах областей изображения объекта прогнозирования, и
блок кодирования режима прогнозирования изменяет значение режима прогнозирования объекта кодирования в двоичную последовательность и, при кодировании соответствующих участков двоичной последовательности, осуществляет арифметическое кодирование, динамически изменяя вероятность появления согласно контексту, установленному согласно состояниям совокупности фрагментов информации режима прогнозирования вблизи области изображения для идентичного цветового компонента.
25. An image encoder containing
a predicted image generation unit that generates a predicted image in accordance with a set of prediction modes indicating a method for generating a predicted image,
a decision unit for the prediction mode that evaluates the prediction efficiency of the predicted image output from the predicted image generation unit for deciding on a predetermined prediction mode, and
a prediction mode encoding unit that subjects the output of the decision unit regarding the prediction mode to encoding with a variable word length, wherein
the decision unit regarding the prediction mode individually makes a decision regarding the prediction mode for each of the color components in units of image areas of the prediction object, and
the prediction mode encoding unit changes the value of the prediction mode of the encoding object into a binary sequence and, when encoding the corresponding sections of the binary sequence, performs arithmetic coding, dynamically changing the probability of occurrence according to the context established according to the states of the set of pieces of information of the prediction mode near the image area for an identical color component.
26. Кодер изображения по п.25, в котором блок кодирования режима прогнозирования использует, в качестве контекста, установленного согласно состояниям совокупности фрагментов информации прогнозирования вблизи области изображения для идентичного цветового компонента, состояние, указывающее, на какие из прогнозирования в вертикальном направлении поверхности изображения и прогнозирования в горизонтальном направлении поверхности изображения классифицируются режимы прогнозирования.26. The image encoder of claim 25, wherein the prediction mode encoding unit uses, as a context established according to the states of the plurality of pieces of prediction information near the image area for the same color component, a state indicating which of the predictions in the vertical direction of the image surface and prediction in the horizontal direction of the image surface are classified prediction modes. 27. Кодер изображения по п.25, в котором блок кодирования режима прогнозирования использует, в качестве контекста, установленного согласно состояниям совокупности фрагментов информации прогнозирования вблизи области изображения для идентичного цветового компонента, состояние, указывающее, какое из DC прогнозирования и прогнозирования, отличного от DC прогнозирования, используется в качестве режима прогнозирования.27. The image encoder of claim 25, wherein the prediction mode encoding unit uses, as a context established according to the states of the plurality of pieces of prediction information near the image region for the same color component, a state indicating which of the DC prediction and prediction is different from DC prediction, used as a prediction mode. 28. Декодер изображения, содержащий
блок декодирования режима прогнозирования, который декодирует режимы прогнозирования, по отдельности закодированные для соответствующих цветовых компонентов, образующих входной сигнал изображения,
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения, и
блок декодирования, который генерирует прогнозируемое изображение с помощью блока генерации прогнозируемого изображения на основании режимов прогнозирования соответствующих цветовых компонентов, установленных блоком декодирования режима прогнозирования для осуществления декодирования данных изображения, причем
блок декодирования режима прогнозирования осуществляет, при декодировании режима прогнозирования, выделенного определенному блоку прогнозирования, арифметическое декодирование, динамически изменяя вероятность появления согласно контексту, установленному согласно состояниям совокупности фрагментов, информации режима прогнозирования вблизи области изображения для идентичного цветового пространства, при декодировании значения режима прогнозирования объекта декодирования, представленного двоичной последовательностью, для каждого участка двоичной последовательности.
28. An image decoder containing
a prediction mode decoding unit that decodes prediction modes individually encoded for respective color components constituting an input image signal,
a predicted image generating unit that generates a predicted image in accordance with a set of prediction modes indicating a method for generating a predicted image, and
a decoding unit that generates a predicted image using the predicted image generation unit based on the prediction modes of the respective color components set by the prediction mode decoding unit for decoding the image data,
the prediction mode decoding unit performs, when decoding the prediction mode allocated to a specific prediction unit, arithmetic decoding, dynamically changing the probability of occurrence according to the context set according to the states of the set of fragments, the prediction mode information near the image area for the same color space, when decoding the value of the prediction mode of the decoding object represented by a binary sequence for each th section of the binary sequence.
29. Декодер изображения по п.28, в котором блок декодирования режима прогнозирования использует, в качестве контекста, установленного согласно состояниям совокупности фрагментов информации прогнозирования вблизи области изображения для идентичного цветового компонента, состояние, указывающее, на какие из прогнозирования в вертикальном направлении поверхности изображения и прогнозирования в горизонтальном направлении поверхности изображения классифицируются режимы прогнозирования.29. The image decoder of claim 28, wherein the prediction mode decoding unit uses, as a context established according to the states of the plurality of pieces of prediction information near the image area for the same color component, a state indicating which of the predictions in the vertical direction of the image surface and prediction in the horizontal direction of the image surface are classified prediction modes. 30. Декодер изображения по п.28, в котором блок декодирования режима прогнозирования использует, в качестве контекста, установленного согласно состояниям совокупности фрагментов информации прогнозирования вблизи области изображения для идентичного цветового компонента, состояние, указывающее, какое из DC прогнозирования и прогнозирования, отличного от DC прогнозирования, является режимом прогнозирования.30. The image decoder of claim 28, wherein the prediction mode decoding unit uses, as a context established according to the states of the plurality of pieces of prediction information near the image area for the same color component, a state indicating which of the DC prediction and prediction is different from DC prediction, is a prediction mode. 31. Способ кодирования изображения, содержащий этапы, на которых
генерируют прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения,
оценивают эффективность прогнозирования сгенерированного прогнозируемого изображения для принятия решения относительно заранее определенного режима прогнозирования и по отдельности осуществляют принятие решения относительно режима прогнозирования для каждого из цветовых компонентов в единицах областей изображения объекта прогнозирования, и
подвергают выходной сигнал, полученный на этапе осуществления принятия решения относительно режима прогнозирования, кодированию с переменной длиной слова и обращаются к поисковой таблице, полученной табулированием комбинаций состояний совокупности фрагментов информации режима прогнозирования вблизи области изображения для идентичного цветового компонента и прогнозируемых значений для режимов прогнозирования объекта кодирования, для уникального задания прогнозируемого значения информации режима прогнозирования из состояний совокупности фрагментов информации режима прогнозирования вблизи области изображения и осуществления кодирования.
31. A method of encoding an image comprising the steps of:
generating a predicted image in accordance with a set of prediction modes indicating a method for generating a predicted image,
evaluating the forecasting efficiency of the generated predicted image for making a decision regarding a predetermined prediction mode and individually making a decision about the prediction mode for each of the color components in units of image areas of the prediction object, and
the output signal obtained at the decision-making stage regarding the prediction mode is subjected to coding with a variable word length and the lookup table obtained by tabulating combinations of states of a plurality of pieces of information of the prediction mode near the image area for the same color component and predicted values for the prediction modes of the encoding object is consulted, for a unique task of the predicted value of the information of the prediction mode from states with a plurality of pieces of information of the prediction mode near the image area and the implementation of coding.
32. Компьютерно-считываемый носитель записи, на котором записана программа кодирования изображения, предписывающая компьютеру выполнять этапы, на которых
генерируют прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих методы генерации прогнозируемого изображения,
оценивают эффективность прогнозирования сгенерированного прогнозируемого изображения для принятия решения относительно заранее определенного режима прогнозирования и по отдельности осуществляют принятие решения относительно режима прогнозирования для каждого из цветовых компонентов в единицах областей изображения объекта прогнозирования, и
подвергают выходной сигнал, полученный на этапе осуществления принятия решения относительно режима прогнозирования, кодированию с переменной длиной слова и обращаются к поисковой таблице, полученной табулированием комбинаций состояний совокупности фрагментов информации режима прогнозирования вблизи области изображения для идентичного цветового компонента и прогнозируемых значений для режимов прогнозирования объекта кодирования, для уникального задания прогнозируемого значения информации режима прогнозирования из состояний совокупности фрагментов информации режима прогнозирования вблизи области изображения и осуществления кодирования.
32. A computer-readable recording medium on which an image encoding program is recorded instructing a computer to perform steps in which
generating a predicted image in accordance with a set of prediction modes indicating methods for generating a predicted image,
evaluating the forecasting efficiency of the generated predicted image for making a decision regarding a predetermined prediction mode and individually making a decision about the prediction mode for each of the color components in units of image areas of the prediction object, and
the output signal obtained at the decision-making stage regarding the prediction mode is subjected to coding with a variable word length and the lookup table obtained by tabulating combinations of states of a plurality of pieces of information of the prediction mode near the image area for the same color component and predicted values for the prediction modes of the encoding object is consulted, for a unique task of the predicted value of the information of the prediction mode from states with a plurality of pieces of information of the prediction mode near the image area and the implementation of coding.
33. Способ декодирования изображения, предписывающий компьютеру выполнять этапы, на которых
декодируют режимы прогнозирования, по отдельности закодированные для соответствующих цветовых компонентов, образующих входной сигнал изображения, и обращаются, при декодировании режима прогнозирования, выделенного определенному блоку прогнозирования, к поисковой таблице, полученной табулированием комбинаций состояний совокупности фрагментов информации режима прогнозирования вблизи области изображения для идентичного цветового компонента и прогнозируемых значений для режимов прогнозирования объекта кодирования, для уникального задания прогнозируемого значения информации режима прогнозирования из состояний совокупности фрагментов информации режима прогнозирования вблизи области изображения и осуществления декодирования,
генерируют прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения, и
генерируют прогнозируемое изображение согласно этапу генерации прогнозируемого изображения на основании режимов прогнозирования соответствующих цветовых компонентов, установленных на этапе осуществления декодирования режима прогнозирования.
33. A method of decoding an image, instructing the computer to perform the steps in which
prediction modes are decoded, individually encoded for the corresponding color components that form the input image signal, and when decoding the prediction mode allocated to a specific prediction block, they look up the lookup table obtained by tabulating combinations of states of a plurality of pieces of information of the prediction mode near the image region for an identical color component and predicted values for prediction modes of the encoding object, for unique about setting the predicted value of the information of the prediction mode from the states of the set of pieces of information of the prediction mode near the image area and decoding,
generating a predicted image in accordance with a set of prediction modes indicating a method for generating a predicted image, and
generating a predicted image according to the step of generating the predicted image based on the prediction modes of the respective color components set in the prediction mode decoding step.
34. Компьютерно-считываемый носитель записи, на котором записана программа декодирования изображения, предписывающая компьютеру выполнять этапы, на которых
декодируют режимы прогнозирования, по отдельности закодированные для соответствующих цветовых компонентов, образующих входной сигнал изображения, и обращаются, при декодировании режима прогнозирования, выделенного определенному блоку прогнозирования, к поисковой таблице, полученной табулированием комбинаций состояний совокупности фрагментов информации режима прогнозирования вблизи области изображения для идентичного цветового компонента и прогнозируемых значений для режимов прогнозирования объекта декодирования, для уникального задания прогнозируемого значения информации режима прогнозирования из состояний совокупности фрагментов информации режима прогнозирования вблизи области изображения и осуществления декодирования,
генерируют прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения, и
генерируют прогнозируемое изображение согласно этапу генерации прогнозируемого изображения на основании режимов прогнозирования соответствующих цветовых компонентов, установленных на этапе осуществления декодирования режима прогнозирования.
34. A computer-readable recording medium on which an image decoding program is recorded instructing a computer to perform steps in which
prediction modes are decoded, individually encoded for the corresponding color components that form the input image signal, and when decoding the prediction mode allocated to a specific prediction block, they look up the lookup table obtained by tabulating combinations of states of a plurality of pieces of information of the prediction mode near the image region for an identical color component and predicted values for prediction modes of the decoding object, for unique oh setting the predicted value of the information of the prediction mode from the states of the set of pieces of information of the prediction mode near the image area and decoding,
generating a predicted image in accordance with a set of prediction modes indicating a method for generating a predicted image, and
generating a predicted image according to the step of generating the predicted image based on the prediction modes of the respective color components set in the prediction mode decoding step.
35. Способ кодирования изображения, содержащий этапы, на которых
генерируют прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения,
оценивают эффективность прогнозирования сгенерированного прогнозируемого изображения для принятия решения относительно заранее определенного режима прогнозирования и по отдельности осуществляют принятие решения относительно режима прогнозирования для каждого из цветовых компонентов в единицах областей изображения объекта прогнозирования, и
подвергают выходной сигнал, полученный на этапе осуществления принятия решения относительно режима прогнозирования, изменяют значение режима прогнозирования объекта кодирования в двоичную последовательность и, при кодировании соответствующих участков двоичной последовательности, осуществляют арифметическое кодирование, динамически изменяя вероятность появления согласно контексту, установленному согласно состояниям совокупности фрагментов информации режима прогнозирования вблизи области изображения для идентичного цветового компонента.
35. A method of encoding an image comprising the steps of:
generating a predicted image in accordance with a set of prediction modes indicating a method for generating a predicted image,
evaluating the forecasting efficiency of the generated predicted image for making a decision regarding a predetermined prediction mode and individually making a decision about the prediction mode for each of the color components in units of image areas of the prediction object, and
subjected to the output signal obtained at the decision-making stage regarding the prediction mode, change the value of the prediction mode of the encoding object in a binary sequence and, when encoding the corresponding sections of the binary sequence, perform arithmetic coding, dynamically changing the probability of occurrence according to the context established according to the states of the set of fragments of the mode information prediction near image area for identical color component.
36. Компьютерно-считываемый носитель записи, на который записана программа кодирования изображения, предписывающая компьютеру выполнять этапы, на которых
генерируют прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения,
оценивают эффективность прогнозирования сгенерированного прогнозируемого изображения для принятия решения относительно заранее определенного режима прогнозирования и по отдельности осуществляют принятие решения относительно режима прогнозирования для каждого из цветовых компонентов в единицах областей изображения объекта прогнозирования,
подвергают выходной сигнал, полученный на этапе осуществления принятия решения относительно режима прогнозирования, изменяют значение режима прогнозирования объекта кодирования в двоичную последовательность и, при кодировании соответствующих участков двоичной последовательности, осуществляют арифметическое кодирование, динамически изменяя вероятность появления согласно контексту, установленному согласно состояниям совокупности фрагментов информации режима прогнозирования вблизи области изображения для идентичного цветового компонента.
36. A computer-readable recording medium onto which an image encoding program is recorded instructing a computer to perform steps in which
generating a predicted image in accordance with a set of prediction modes indicating a method for generating a predicted image,
evaluate the forecasting efficiency of the generated predicted image to make a decision regarding a predetermined forecasting mode and individually decide on a forecast mode for each of the color components in units of image areas of the prediction object,
subjected to the output signal obtained at the decision-making stage regarding the prediction mode, change the value of the prediction mode of the encoding object in a binary sequence and, when encoding the corresponding sections of the binary sequence, perform arithmetic coding, dynamically changing the probability of occurrence according to the context established according to the states of the set of fragments of the mode information prediction near image area for identical color component.
37. Способ декодирования изображения, содержащий этапы, на которых
декодируют режимы прогнозирования, по отдельности закодированные для соответствующих цветовых компонентов, образующих входной сигнал изображения, и осуществляют, при декодировании режима прогнозирования, выделенного определенному блоку прогнозирования, арифметическое декодирование, динамически изменяя вероятность появления согласно контексту, установленному согласно состояниям совокупности фрагментов информации режима прогнозирования вблизи области изображения для идентичного цветового пространства, при декодировании значения режима прогнозирования объекта декодирования, представленного двоичной последовательностью, для каждого участка двоичной последовательности,
генерируют прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения, и
генерируют прогнозируемое изображение согласно этапу генерации прогнозируемого изображения на основании режимов прогнозирования соответствующих цветовых компонентов, установленных на этапе осуществления декодирования режима прогнозирования для осуществления декодирования данных изображения.
37. A method of decoding an image comprising the steps of:
the prediction modes are decoded, individually encoded for the corresponding color components forming the input image signal, and, when decoding the prediction mode allocated to the specific prediction block, arithmetic decoding is performed, dynamically changing the probability of occurrence according to the context established according to the states of the set of pieces of information of the prediction mode near the region images for identical color space, when decoding is a prediction mode of a decoding entity represented by a binary sequence for each portion of the binary sequence,
generating a predicted image in accordance with a set of prediction modes indicating a method for generating a predicted image, and
generating a predicted image according to the step of generating the predicted image based on the prediction modes of the respective color components set in the decoding step of the prediction mode for decoding the image data.
38. Компьютерно-считываемый носитель записи, на котором записана программа декодирования изображения, предписывающая компьютеру выполнять этапы, на которых
декодируют режимы прогнозирования, по отдельности закодированные для соответствующих цветовых компонентов, образующих входной сигнал изображения, и осуществляют, при декодировании режима прогнозирования, выделенного определенному блоку прогнозирования, арифметическое декодирование, динамически изменяя вероятность появления согласно контексту, установленному согласно состояниям совокупности фрагментов информации режима прогнозирования вблизи области изображения для идентичного цветового пространства, при декодировании значения режима прогнозирования объекта декодирования, представленного двоичной последовательностью, для каждого участка двоичной последовательности,
генерируют прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения, и
генерируют прогнозируемое изображение согласно этапу генерации прогнозируемого изображения на основании режимов прогнозирования соответствующих цветовых компонентов, установленных на этапе осуществления декодирования режима прогнозирования для осуществления декодирования данных изображения.
38. A computer-readable recording medium on which an image decoding program is recorded instructing a computer to perform steps in which
the prediction modes are decoded, individually encoded for the corresponding color components forming the input image signal, and, when decoding the prediction mode allocated to the specific prediction block, arithmetic decoding is performed, dynamically changing the probability of occurrence according to the context established according to the states of the set of pieces of information of the prediction mode near the region images for identical color space, when decoding is a prediction mode of a decoding entity represented by a binary sequence for each portion of the binary sequence,
generating a predicted image in accordance with a set of prediction modes indicating a method for generating a predicted image, and
generating a predicted image according to the step of generating the predicted image based on the prediction modes of the respective color components set in the decoding step of the prediction mode for decoding the image data.
39. Кодер изображения, содержащий
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения, совокупностью идентификационных номеров опорных изображений и совокупностью векторов движения,
блок принятия решения относительно режима прогнозирования, который оценивает эффективность прогнозирования прогнозируемого изображения, выводимого из блока генерации прогнозируемого изображения, для принятия решения относительно заранее определенного режима прогнозирования, заранее определенного идентификационного номера опорного изображения и заранее определенного вектора движения, и
блок кодирования, который подвергает выходной сигнал блока принятия решения относительно режима прогнозирования кодированию с переменной длиной слова, причем
блок принятия решения относительно режима прогнозирования принимает решение, на основании заранее определенного сигнала управления, используются ли общий режим прогнозирования, идентификационный номер общего опорного изображения и общий вектор движения для соответствующих цветовых компонентов, образующих входной сигнал изображения, или используются отдельный режим прогнозирования, идентификационный номер отдельного опорного изображения и отдельный вектор движения для каждого из цветовых компонентов, для соответствующих цветовых компонентов, мультиплексирует информацию о сигнале управления в битовый поток, мультиплексирует, когда используются общий режим прогнозирования, идентификационный номер общего опорного изображения и общий вектор движения, информацию общего режима прогнозирования, идентификационного номера общего опорного изображения и общего вектора движения в битовый поток и мультиплексирует, когда общий режим прогнозирования, идентификационный номер общего опорного изображения и общий вектор движения не используются, информацию режима прогнозирования, идентификационного номера опорного изображения и вектора движения для каждого из цветовых компонентов в битовый поток.
39. An image encoder containing
a predicted image generation unit that generates a predicted image in accordance with a set of prediction modes indicating a method for generating a predicted image, a set of reference picture identification numbers and a set of motion vectors,
a decision unit for the prediction mode that evaluates the prediction efficiency of the predicted image output from the predicted image generation unit for deciding on a predetermined prediction mode, a predetermined reference picture identification number and a predetermined motion vector, and
a coding unit that subjects the output of the decision unit regarding the prediction mode to coding with a variable word length, wherein
the decision unit regarding the prediction mode makes a decision based on a predetermined control signal whether the common prediction mode, the identification number of the common reference image and the common motion vector are used for the corresponding color components that form the input image signal, or whether a separate prediction mode, the identification number of the individual reference image and a separate motion vector for each of the color components, for the corresponding colors x components, multiplexes the information about the control signal into the bitstream, multiplexes when using the common prediction mode, the identification number of the common reference image and the common motion vector, the information of the general prediction mode, the identification number of the common reference image and the common motion vector into the bit stream, and multiplexes, when the common prediction mode, the identification number of the common reference image and the common motion vector are not used, the forecast mode information ation, the reference image identification number and motion vector for each of the color components on the bit stream.
40. Кодер изображения по п.39, в котором блок принятия решения относительно режима прогнозирования осуществляет принятие решения относительно режима прогнозирования в единицах макроблоков и обрабатывает режим прогнозирования на основании сигнала управления, который изменяется в единицах макроблоков.40. The image encoder according to § 39, in which the decision block regarding the prediction mode makes a decision regarding the prediction mode in units of macroblocks and processes the prediction mode based on a control signal that changes in units of macroblocks. 41. Кодер изображения по п.39, в котором блок принятия решения относительно режима прогнозирования осуществляет принятие решения относительно режима прогнозирования в единицах макроблоков и обрабатывает режим прогнозирования на основании сигнала управления, который изменяется в единицах последовательности, включающей в себя совокупность кадров.41. The image encoder of claim 39, wherein the decision block regarding the prediction mode makes a decision regarding the prediction mode in units of macroblocks and processes the prediction mode based on a control signal that changes in units of a sequence including a plurality of frames. 42. Кодер изображения по п.39, в котором блок принятия решения относительно режима прогнозирования мультиплексирует, когда используются общий режим прогнозирования, идентификационный номер общего опорного изображения и общий вектор движения, информацию общего режима прогнозирования, идентификационного номера общего опорного изображения и общего вектора движения в битовый поток в качестве информации идентификации режима прогнозирования общего использования и мультиплексирует, когда общий режим прогнозирования, идентификационный номер общего опорного изображения и общий вектор движения не используются, информацию режима прогнозирования для каждого из цветовых компонентов, идентификационного номера общего опорного изображения и общего вектора движения в битовый поток в качестве информации идентификации режима прогнозирования общего использования.42. The image encoder of claim 39, wherein the decision block regarding the prediction mode multiplexes when the common prediction mode, the identification number of the common reference image and the common motion vector, the information of the general prediction mode, the identification number of the common reference image and the common motion vector in the bitstream as identification information of the general prediction mode, and multiplexes when the general prediction mode, the identification number The common reference image and the common motion vector are not used, the prediction mode information for each of the color components, the identification number of the common reference image and the common motion vector in the bitstream are used as identification information for the common use prediction mode. 43. Декодер изображения, содержащий
блок декодирования, который декодирует информацию идентификации режима прогнозирования общего использования, указывающую, используются ли общий режим прогнозирования, идентификационный номер общего опорного изображения и общий вектор движения для соответствующих компонентов, образующих входной сигнал изображения, или используются отдельный режим прогнозирования, отдельный идентификационный номер и отдельный вектор движения для каждого из цветовых компонентов, и декодирует режимы прогнозирования, идентификационные номера опорного изображения и векторы движения соответствующих цветовых компонентов на основании значения информации идентификации режима прогнозирования общего использования, и
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение на основании прогнозируемых режимов, идентификационных номеров опорного изображения и векторов движения, декодированных блоком декодирования, причем
блок декодирования осуществляет декодирование данных изображения на основании прогнозируемого изображения, сгенерированного блоком генерации прогнозируемого изображения.
43. An image decoder containing
a decoding unit that decodes the identification information of the common use prediction mode indicating whether the common prediction mode, the identification number of the common reference image and the common motion vector are used for the respective components forming the input image signal, or the separate prediction mode, separate identification number, and separate vector are used motion for each of the color components, and decodes prediction modes, reference numbers are reference th images and motion vectors of the respective color components based on the value of the identification information of the general prediction mode, and
a predicted image generating unit that generates a predicted image based on the predicted modes, reference picture identification numbers and motion vectors decoded by the decoding unit,
the decoding unit performs decoding of the image data based on the predicted image generated by the predicted image generation unit.
44. Декодер изображения по п.43, в котором блок декодирования осуществляет декодирование в единицах макроблоков и декодирует и использует информацию идентификации режима прогнозирования общего использования в единицах последовательности, включающей в себя совокупность кадров.44. The image decoder according to item 43, in which the decoding unit performs decoding in units of macroblocks and decodes and uses the identification information of the prediction mode of General use in units of a sequence including a set of frames. 45. Способ кодирования изображения, содержащий этапы, на которых
генерируют прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения, совокупностью идентификационных номеров опорных изображений и совокупностью векторов движения,
оценивают эффективность прогнозирования сгенерированного прогнозируемого изображения для принятия решения относительно заранее определенного режима прогнозирования, заранее определенного идентификационного номера опорного изображения и заранее определенного вектора движения, принимают решение, на основании заранее определенного сигнала управления, используются ли общий режим прогнозирования, идентификационный номер общего опорного изображения и общий вектор движения для соответствующих цветовых компонентов, образующих входной сигнал изображения, или используются отдельный режим прогнозирования, идентификационный номер отдельного опорного изображения и отдельный вектор движения для каждого из цветовых компонентов, и мультиплексируют информацию о сигнале управления в битовый поток, мультиплексируют, когда используются общий режим прогнозирования, идентификационный номер общего опорного изображения и общий вектор движения, информацию общего режима прогнозирования, идентификационного номера общего опорного изображения и общего вектора движения в битовый поток и мультиплексируют, когда общий режим прогнозирования, идентификационный номер общего опорного изображения и общий вектор движения не используются, информацию режима прогнозирования, идентификационного номера опорного изображения и вектора движения для каждого из цветовых компонентов в битовый поток, и
подвергают выходной сигнал, полученный на этапе принятия решения, кодированию с переменной длиной слова.
45. A method of encoding an image comprising the steps of:
generating a predicted image in accordance with a set of prediction modes indicating a method for generating a predicted image, a set of identification numbers of reference images, and a set of motion vectors,
evaluate the forecasting efficiency of the generated predicted image for deciding on a predetermined prediction mode, a predetermined reference image identification number and a predetermined motion vector, make a decision based on a predetermined control signal whether the common prediction mode, the identification number of the common reference image and the common motion vector for the corresponding color components that form the input image signal, or a separate prediction mode, the identification number of a separate reference image and a separate motion vector for each of the color components are used, and information about the control signal is multiplexed into a bit stream, multiplexed when the common prediction mode, the identification number of the common reference image and the common motion vector, information of the general prediction mode, identification number of the common reference image and the common motion vector in bits the output stream and multiplex when the common prediction mode, the identification number of the common reference image and the common motion vector are not used, the information of the prediction mode, the identification number of the reference image and the motion vector for each of the color components in the bit stream, and
subjected to the output signal obtained at the stage of decision making, encoding with a variable word length.
46. Компьютерно-считываемый носитель записи, на котором записана программа кодирования изображения, предписывающая компьютеру выполнять этапы, на которых
генерируют прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения, совокупностью идентификационных номеров опорных изображений и совокупностью векторов движения,
оценивают эффективность прогнозирования сгенерированного прогнозируемого изображения для принятия решения относительно заранее определенного режима прогнозирования, заранее определенного идентификационного номера опорного изображения и заранее определенного вектора движения, принимают решение, на основании заранее определенного сигнала управления, используются ли общий режим прогнозирования, идентификационный номер общего опорного изображения и общий вектор движения для соответствующих цветовых компонентов, образующих входной сигнал изображения, или используются отдельный режим прогнозирования, идентификационный номер отдельного опорного изображения и отдельный вектор движения для каждого из цветовых компонентов, и мультиплексируют информацию о сигнале управления в битовый поток, мультиплексируют, когда используются общий режим прогнозирования, идентификационный номер общего опорного изображения и общий вектор движения, информацию общего режима прогнозирования, идентификационного номера общего опорного изображения и общего вектора движения в битовый поток и мультиплексируют, когда общий режим прогнозирования, идентификационный номер общего опорного изображения и общий вектор движения не используются, информацию режима прогнозирования, идентификационного номера опорного изображения и вектора движения для каждого из цветовых компонентов в битовый поток, и
подвергают выходной сигнал, полученный на этапе принятия решения, кодированию с переменной длиной слова.
46. A computer-readable recording medium on which an image encoding program is recorded instructing a computer to perform steps in which
generating a predicted image in accordance with a set of prediction modes indicating a method for generating a predicted image, a set of identification numbers of reference images, and a set of motion vectors,
evaluate the forecasting efficiency of the generated predicted image for deciding on a predetermined prediction mode, a predetermined reference image identification number and a predetermined motion vector, make a decision based on a predetermined control signal whether the common prediction mode, the identification number of the common reference image and the common motion vector for the corresponding color components that form the input image signal, or a separate prediction mode, the identification number of a separate reference image and a separate motion vector for each of the color components are used, and information about the control signal is multiplexed into a bit stream, multiplexed when the common prediction mode, the identification number of the common reference image and the common motion vector, information of the general prediction mode, identification number of the common reference image and the common motion vector in bits the output stream and multiplex when the common prediction mode, the identification number of the common reference image and the common motion vector are not used, the information of the prediction mode, the identification number of the reference image and the motion vector for each of the color components in the bit stream, and
subjected to the output signal obtained at the stage of decision making, encoding with a variable word length.
47. Способ декодирования изображения, содержащий этапы, на которых
декодируют информацию идентификации режима прогнозирования общего использования, указывающую, используются ли общий режим прогнозирования, идентификационный номер общего опорного изображения и общий вектор движения для соответствующих цветовых компонентов, образующих входной сигнал изображения, или используются отдельный режим прогнозирования, отдельный идентификационный номер и отдельный вектор движения для каждого из цветовых компонентов, и декодируют режимы прогнозирования, идентификационные номера опорного изображения и векторы движения для соответствующих цветовых компонентов на основании значения информации идентификации режима прогнозирования общего использования,
генерируют прогнозируемое изображение на основании декодированных режимов прогнозирования, идентификационных номеров опорного изображения и векторов движения и
осуществляют декодирование данных изображения на основании сгенерированного прогнозируемого изображения.
47. A method of decoding an image comprising the steps of:
decode the general prediction mode identification information indicating whether the common prediction mode, the identification number of the common reference image and the common motion vector are used for the respective color components forming the input image signal, or whether a separate prediction mode, a separate identification number, and a separate motion vector are used for each from color components, and predicting prediction modes, reference picture identification numbers and motion ctori for the respective color components based on the value of the identification information of the general prediction mode,
generating a predicted image based on the decoded prediction modes, reference picture identification numbers and motion vectors, and
decode image data based on the generated predicted image.
48. Компьютерно-считываемый носитель записи, на котором записана программа декодирования изображения, предписывающая компьютеру выполнять этапы, на которых
декодируют информацию идентификации режима прогнозирования общего использования, указывающую, используются ли общий режим прогнозирования, идентификационный номер общего опорного изображения и общий вектор движения для соответствующих цветовых компонентов, образующих входной сигнал изображения, или используются отдельный режим прогнозирования, отдельный идентификационный номер и отдельный вектор движения для каждого из цветовых компонентов, и декодируют режимы прогнозирования, идентификационные номера опорного изображения и векторы движения соответствующих цветовых компонентов на основании значения информации идентификации режима прогнозирования общего использования,
генерируют прогнозируемое изображение на основании декодированных режимов прогнозирования, идентификационных номеров опорного изображения и векторов движения и
осуществляют декодирование данных изображения на основании сгенерированного прогнозируемого изображения.
48. A computer-readable recording medium on which an image decoding program is recorded instructing a computer to perform steps in which
decode the general prediction mode identification information indicating whether the common prediction mode, the identification number of the common reference image and the common motion vector are used for the respective color components forming the input image signal, or whether a separate prediction mode, a separate identification number, and a separate motion vector are used for each from color components, and predicting prediction modes, reference picture identification numbers and motion vectors of the respective color components based on the value of the identification information of the common use prediction mode,
generating a predicted image based on the decoded prediction modes, reference picture identification numbers and motion vectors, and
decode image data based on the generated predicted image.
49. Кодер изображения, который подвергает входной сигнал изображения, включающий в себя совокупность цветовых компонентов, сжатию изображения с использованием прогнозирования с компенсацией движения для каждого из заранее определенных областей частичного изображения, кодер изображения содержит
блок принятия решения относительно режима кодирования, который определяет, на основании заранее определенного стандарта оценки, режимы кодирования, включающие в себя указание режимов прогнозирования с компенсацией движения для указания, подвергается ли сигнал изображения, включенный в область частичного изображения, внутрикадровому кодированию или кодируется согласно межкадровому прогнозированию с компенсацией движения, и указания методов генерации прогнозируемого изображения при кодировании сигнала изображения согласно внутрикадровому прогнозированию с компенсацией движения,
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение с компенсацией движения на основании режимов прогнозирования с компенсацией движения, идентификационных номеров опорного изображения и векторов движения, и
блок кодирования, который подвергает режимы кодирования, идентификационные номера опорного изображения и векторы движения кодированию с переменной длиной слова для каждой из областей частичного изображения и мультиплексирует режимы кодирования, идентификационные номера опорного изображения и векторы движения в битовый поток, причем
блок принятия решения относительно режима кодирования принимает решение, согласно заранее определенному сигналу управления, применяется ли общий режим кодирования к соответствующим цветовым компонентам, образующим область частичного изображения, или отдельный режим кодирования применяется к каждому из цветовых компонентов,
блок кодирования мультиплексирует информацию о сигнале управления в битовый поток, мультиплексирует, когда общий режим кодирования применяется к соответствующим цветовым компонентам, образующим область частичного изображения, общий режим кодирования, идентификационный номер общего опорного изображения и общий вектор движения в битовый поток и мультиплексирует, когда режимы кодирования по отдельности применяются к соответствующим цветовым компонентам, образующим область частичного изображения, отдельный режим кодирования, идентификационный номер отдельного опорного изображения и отдельный вектор движения в битовый поток для каждого из цветовых компонентов, и
блок генерации прогнозируемого изображения генерирует прогнозируемое изображение для соответствующих цветовых компонентов на основании режима кодирования, идентификационного номера опорного изображения и вектора движения, установленных согласно сигналу управления.
49. An image encoder that subjects an input image signal including a plurality of color components to image compression using motion compensation prediction for each of a predetermined partial image region, the image encoder comprises
a decision block regarding a coding mode that determines, based on a predetermined estimation standard, coding modes including indicating motion compensated prediction modes for indicating whether the image signal included in the partial image region is intra-encoded or encoded according to inter-frame prediction with motion compensation, and instructions for generating the predicted image when encoding the image signal according to the inside Adrov motion-compensated prediction,
a predicted image generation unit that generates a motion-compensated predicted image based on motion-compensated prediction modes, reference image identification numbers and motion vectors, and
an encoding unit that exposes encoding modes, reference image identification numbers and motion vectors to variable-length encoding for each of the partial image areas, and multiplexes encoding modes, reference image identification numbers and motion vectors into a bit stream, wherein
the decision block regarding the encoding mode makes a decision, according to a predetermined control signal, whether the common encoding mode is applied to the respective color components forming the partial image area, or whether a separate encoding mode is applied to each of the color components,
the coding unit multiplexes information about the control signal into a bitstream, multiplexes when the common coding mode is applied to the corresponding color components forming the partial image area, the common coding mode, the identification number of the common reference image and the common motion vector into the bitstream, and multiplexes when the coding modes individually apply to the corresponding color components forming the region of the partial image, a separate encoding mode, identically tele- communications separate reference image number and a separate motion vector on the bit stream for each of the color components, and
the predicted image generation unit generates a predicted image for the respective color components based on the coding mode, the reference image identification number and the motion vector set according to the control signal.
50. Кодер изображения по п.49, дополнительно содержащий блок принятия решения относительно пропуска области частичного изображения, который оценивает результат внутрикадрового прогнозирования с компенсацией движения и принимает решение, присутствует ли информация кодирования, которую следует передавать, для области частичного изображения, причем
блок принятия решения относительно пропуска области частичного изображения принимает решение, когда сигнал управления указывает, что общий режим кодирования применяется к соответствующим цветовым компонентам, образующим область частичного изображения, относительно наличия или отсутствия информации кодирования в области частичного изображения на основании наличия информации кодирования для, по меньшей мере, одного из цветовых компонентов в области частичного изображения или отсутствия информации кодирования для всех цветовых компонентов и принимает решение, когда сигнал управления указывает, что отдельные режимы кодирования применяются к соответствующим цветовым компонентам, образующим область частичного изображения, относительно наличия или отсутствия информации кодирования для каждого из цветовых компонентов, и
блок кодирования мультиплексирует, в соответствии с результатом блока принятия решения относительно пропуска области частичного изображения, информацию пропуска области изображения, указывающую наличие или отсутствие информации кодирования в области частичного изображения, в битовый поток в единицах области частичного изображения, в которой собрана совокупность цветовых компонентов, или в единицах соответствующих цветовых компонентов.
50. The image encoder according to § 49, further comprising a decision block regarding skipping of the partial image area, which estimates the result of motion-compensated intra-frame prediction and decides whether encoding information to be transmitted is present for the partial image area,
the decision block regarding skipping the partial image area makes a decision when the control signal indicates that the common coding mode is applied to the corresponding color components forming the partial image area regarding the presence or absence of coding information in the partial image area based on the presence of coding information for at least at least one of the color components in the area of a partial image or lack of coding information for all color com onentov and decides, when the control signal indicates that the separate encoding modes are applied to the respective color components forming the partial image region, with respect to the presence or absence of encoding information for each of the color components, and
the coding unit multiplexes, in accordance with the result of the decision block regarding skipping the partial image area, skipping information of the image area indicating the presence or absence of coding information in the partial image area into the bit stream in units of the partial image area in which the plurality of color components are assembled, or in units of the respective color components.
51. Декодер изображения, который осуществляет декодирование данных изображения с битовым потоком, который получается, когда входной сигнал изображения, включающий в себя совокупность цветовых компонентов, подвергается кодированию со сжатием с использованием прогнозирования с компенсацией движения в единицах заранее определенных областей частичного изображения, причем декодер изображения содержит
блок декодирования, который извлекает из битового потока информацию о сигнале управления, указывающую, подвергается ли сигнал изображения, включенный в области частичного изображения, внутрикадровому кодированию или кодируется согласно межкадровому прогнозированию с компенсацией движения, и указывающую, декодируются ли режимы кодирования, включающие в себя указание режимов прогнозирования с компенсацией движения для указания методов генерации прогнозируемого изображения, при кодировании сигнала изображения согласно межкадровому прогнозированию с компенсацией движения, в качестве информации, общей для всех цветовых компонентов в областях частичного изображения или в качестве информации для каждого из цветовых компонентов в области частичного изображения, и декодирует режимы кодирования, идентификационные номера опорного изображения и векторы движения для каждой из областей частичного изображения в соответствии с информацией о сигнале управления и извлекает режимы кодирования, идентификационные номера опорного изображения и векторы движения из битового потока, и
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение с компенсацией движения на основании режимов прогнозирования с компенсацией движения, идентификационных номеров опорного изображения и векторов движения, причем
блок декодирования извлекает, когда информация о сигнале управления указывает, что общий режим кодирования применяется к соответствующим цветовым компонентам, образующим область частичного изображения, общий режим кодирования, идентификационный номер общего опорного изображения и общий вектор движения из битового потока и извлекает, когда режимы кодирования по отдельности применяются к соответствующим цветовым компонентам, образующим область частичного изображения, отдельный режим кодирования, идентификационный номер опорного изображения и вектор движения из битового потока для каждого из цветовых компонентов, и
блок генерации прогнозируемого изображения генерирует прогнозируемое изображение с компенсацией движения для соответствующих цветовых компонентов на основании режима кодирования, идентификационного номера опорного изображения и векторов движения, извлеченных блоком декодирования, в соответствии с информацией о сигнале управления.
51. An image decoder that decodes image data with a bit stream, which is obtained when an input image signal including a plurality of color components is compressed encoded using motion-compensated prediction in units of predetermined areas of a partial image, the image decoder contains
a decoding unit that extracts information about the control signal from the bitstream indicating whether the image signal included in the partial image area is intra-encoded or encoded according to inter-frame prediction with motion compensation, and indicating whether encoding modes including mode indication are decoded motion-compensated prediction for indicating methods for generating a predicted image when encoding an image signal according to inter-frame motion compensated prediction, as information common to all color components in the partial image areas, or as information for each of the color components in the partial image area, and decodes coding modes, reference image identification numbers, and motion vectors for each of the partial image areas in accordance with the information about the control signal and extracts encoding modes, identification numbers of the reference image and motion vectors from the bitwise current, and
a predicted image generating unit that generates a motion compensated predicted image based on motion compensated prediction modes, reference image identification numbers and motion vectors, wherein
the decoding unit extracts when the information about the control signal indicates that the common encoding mode applies to the corresponding color components forming the partial image area, the common encoding mode, the identification number of the common reference image and the common motion vector from the bitstream, and extracts when the encoding modes separately apply to the corresponding color components forming the partial image area, a separate encoding mode, the reference number of the reference images and motion vector from the bitstream for each of the color components, and
the predicted image generation unit generates a motion compensated predicted image for the respective color components based on the encoding mode, the reference image identification number and the motion vectors extracted by the decoding unit, in accordance with the information of the control signal.
52. Декодер изображения по п.51, в котором
блок декодирования включает в себя блок декодирования информации пропуска, который декодирует информацию пропуска области изображения, указывающую, присутствует ли информация кодирования, которую следует передавать в область частичного изображения, в результате осуществления межкадрового прогнозирования с компенсацией движения в единицах области частичного изображения, причем
блок декодирования информации пропуска декодирует, когда сигнал управления указывает, что общий режим кодирования применяется к соответствующим цветовым компонентам, образующим область частичного изображения, информацию пропуска области изображения, общую для всех цветовых компонентов, для идентификации наличия информации кодирования в области частичного изображения и декодирует, когда сигнал управления указывает, что отдельные режимы кодирования применяются к соответствующим цветовым компонентам, образующим область частичного изображения, информацию пропуска области изображения для каждого из цветовых компонентов для идентификации наличия информации кодирования в области частичного изображения, и
блок декодирования декодирует, когда информация кодирования, которую следует передавать, присутствует, режим кодирования, идентификационный номер опорного изображения и вектор движения на основании информации пропуска области изображения и извлекает режим кодирования, идентификационный номер опорного изображения и вектор движения из битового потока.
52. The image decoder according to § 51, in which
the decoding unit includes a skip information decoding unit that decodes skipping information of the image area indicating whether encoding information to be transmitted to the partial image area is present as a result of inter-frame prediction with motion compensation in units of the partial image area, wherein
the skip information decoding unit decodes when the control signal indicates that the common coding mode is applied to the respective color components forming the partial image area, skip information of the image area common to all color components to identify the presence of coding information in the partial image area and decodes when a control signal indicates that individual coding modes are applied to the respective color components forming the partial region The images, image region skip information for each of the color components to identify presence of encoding information in the partial image area, and
the decoding unit decodes when the encoding information to be transmitted is present, the encoding mode, the reference image identification number and the motion vector based on the skip information of the image area, and extracts the encoding mode, the reference image identification number and the motion vector from the bitstream.
53. Способ кодирования изображения, согласно которому подвергают входной сигнал изображения, включающий в себя совокупность цветовых компонентов, сжатию изображения с использованием прогнозирования с компенсацией движения для каждой из заранее определенных областей частичного изображения, причем способ кодирования изображения содержит
этап принятия решения относительно режима кодирования, на котором определяют, на основании заранее определенного стандарта оценки, режимы кодирования, включающие в себя указание режимов прогнозирования с компенсацией движения для указания, подвергается ли сигнал изображения, включенный в область частичного изображения, внутрикадровому кодированию или кодируется согласно межкадровому прогнозированию с компенсацией движения, и указания методов генерации прогнозируемого изображения при кодировании сигнала изображения согласно внутрикадровому прогнозированию с компенсацией движения,
этап генерации прогнозируемого изображения, на котором генерируют прогнозируемое изображение с компенсацией движения на основании режимов прогнозирования с компенсацией движения, идентификационных номеров опорного изображения и векторов движения, и
этап кодирования, на котором подвергают режимы кодирования, идентификационные номера опорного изображения и векторы движения кодированию с переменной длиной слова для каждой из областей частичного изображения и мультиплексируют режимы кодирования, идентификационные номера опорного изображения и векторы движения в битовый поток, причем
на этапе принятия решения относительно режима кодирования принимают решение, согласно заранее определенному сигналу управления, применяется ли общий режим кодирования к соответствующим цветовым компонентам, образующим область частичного изображения, или отдельный режим кодирования применяется к каждому из цветовых компонентов,
на этапе кодирования мультиплексируют информацию о сигнале управления в битовый поток, мультиплексируют, когда общий режим кодирования применяется к соответствующим цветовым компонентам, образующим область частичного изображения, общий режим кодирования, идентификационный номер общего опорного изображения и общий вектор движения в битовый поток и мультиплексируют, когда режимы кодирования по отдельности применяются к соответствующим цветовым компонентам, образующим область частичного изображения, отдельный режим кодирования, идентификационный номер отдельного опорного изображения и отдельный вектор движения в битовый поток для каждого из цветовых компонентов, и
на этапе генерации прогнозируемого изображения генерируют изображение, прогнозируемое с компенсацией движения, для соответствующих цветовых компонентов на основании режима кодирования, идентификационного номера опорного изображения и вектора движения, установленных согласно сигналу управления.
53. An image encoding method according to which an input image signal including a plurality of color components is subjected to image compression using motion compensation prediction for each of a predetermined region of a partial image, the image encoding method comprising
a decision-making step regarding the encoding mode, in which, based on a predetermined estimation standard, encoding modes including indicating motion compensation prediction modes for indicating whether the image signal included in the partial image region is subjected to intra-frame encoding or is encoded according to inter-frame motion-compensated prediction, and guidance on methods for generating a predicted image when encoding an image signal according to internal motion compensation frame prediction,
a predicted image generation step of generating a motion-compensated predicted image based on motion-compensated prediction modes, reference image identification numbers and motion vectors, and
a coding step in which coding modes, reference picture identification numbers and motion vectors are subjected to variable-length encoding for each of the partial image areas, and coding modes, reference picture identification numbers and motion vectors are multiplexed into a bit stream, wherein
at the stage of deciding on the encoding mode, a decision is made according to a predetermined control signal whether the common encoding mode is applied to the respective color components forming the partial image area, or whether a separate encoding mode is applied to each of the color components,
in the encoding step, information about the control signal is multiplexed into the bitstream, multiplexed when the common encoding mode is applied to the corresponding color components forming the partial image area, the common encoding mode, the identification number of the common reference image and the common motion vector into the bit stream, and multiplexed when the modes encodings are individually applied to the corresponding color components forming the region of the partial image, a separate encoding mode, ide the identification number of the individual reference image and a separate motion vector in the bit stream for each of the color components, and
in the predicted image generation step, a motion compensated predicted image is generated for the respective color components based on the coding mode, the reference image identification number and the motion vector set according to the control signal.
54. Компьютерно-считываемый носитель записи, на котором записана программа кодирования изображения, предписывающая компьютеру выполнять
этап принятия решения относительно режима кодирования, на котором указывают, подвергается ли сигнал изображения, включенный в заранее определенную область частичного изображения, внутрикадровому кодированию, или кодируется согласно внутрикадровому прогнозированию с компенсацией движения, и принимают решение, согласно заранее определенному сигналу управления, применяется ли общий режим кодирования к совокупности цветовых компонентов, образующих область частичного изображения, или отдельный режим кодирования применяется к каждому из цветовых компонентов,
этап генерации прогнозируемого изображения, на котором генерируют прогнозируемое изображение с компенсацией движения для соответствующих цветовых компонентов на основании режимов кодирования, идентификационных номеров опорного изображения и векторов движения, установленных согласно сигналу управления, и
этап кодирования, на котором мультиплексируют информацию о сигнале управления в битовый поток, мультиплексируют, когда общий режим кодирования применяется к соответствующим цветовым компонентам, образующим область частичного изображения, общий режим кодирования, идентификационный номер общего опорного изображения и общий вектор движения в битовый поток и мультиплексируют, когда режимы кодирования по отдельности применяются к соответствующим цветовым компонентам, образующим область частичного изображения, отдельный режим кодирования, идентификационный номер отдельного опорного изображения и отдельный вектор движения в битовый поток для каждого из цветовых компонентов.
54. A computer-readable recording medium on which an image encoding program is recorded instructing a computer to execute
a decision step regarding the encoding mode, which indicates whether the image signal included in the predetermined region of the partial image is intraframe encoded or encoded according to the intra-frame prediction with motion compensation, and a decision is made according to the predetermined control signal whether the common mode is applied encoding to a plurality of color components forming a partial image region, or a separate encoding mode is applied to each from color components
a predicted image generation step of generating a motion compensated predicted image for the respective color components based on coding modes, reference image identification numbers and motion vectors set according to the control signal, and
a coding step in which information about a control signal is multiplexed into a bit stream, multiplexed when a common coding mode is applied to corresponding color components forming a partial image area, a common coding mode, an identification number of a common reference image and a common motion vector into a bit stream, and multiplexed, when the encoding modes are individually applied to the respective color components forming the partial image region, a separate encoding mode identification, the identification number of a single reference image and a separate motion vector into the bitstream for each of the color components.
55. Способ декодирования изображения, согласно которому осуществляют декодирование данных изображения с битовым потоком, который получается, когда входной сигнал изображения, включающий в себя совокупность цветовых компонентов, подвергается кодированию со сжатием с использованием прогнозирования с компенсацией движения в единицах заранее определенных областей частичного изображения, причем способ декодирования изображения содержит
этап декодирования, на котором извлекают из битового потока информацию о сигнале управления, указывающую, подвергается ли сигнал изображения, включенный в области частичного изображения, внутрикадровому кодированию или кодируется согласно межкадровому прогнозированию с компенсацией движения, и указывающую, декодируются ли режимы кодирования, включающие в себя указание режимов прогнозирования с компенсацией движения для указания методов генерации прогнозируемого изображения, при кодировании сигнала изображения согласно межкадровому прогнозированию с компенсацией движения, в качестве информации, общей для всех цветовых компонентов в областях частичного изображения, или в качестве информации для каждого из цветовых компонентов в области частичного изображения, и декодируют режимы кодирования, идентификационные номера опорного изображения и векторы движения для каждой из областей частичного изображения в соответствии с информацией о сигнале управления и извлекают режимы кодирования, идентификационные номера опорного изображения и векторы движения из битового потока, и
этап генерации прогнозируемого изображения, на котором генерируют прогнозируемое изображение с компенсацией движения на основании режимов
прогнозирования с компенсацией движения, идентификационных номеров опорного изображения и векторов движения, причем
на этапе декодирования извлекают, когда информация о сигнале управления указывает, что общий режим кодирования применяется к соответствующим цветовым компонентам, образующим область частичного изображения, общий режим кодирования, идентификационный номер общего опорного изображения и общий вектор движения из битового потока и извлекают, когда режимы кодирования по отдельности применяются к соответствующим цветовым компонентам, образующим область частичного изображения, отдельный режим кодирования, идентификационный номер опорного изображения и вектор движения из битового потока для каждого из цветовых компонентов, и
на этапе генерации прогнозируемого изображения генерируют прогнозируемое изображение с компенсацией движения для соответствующих цветовых компонентов на основании режима кодирования, идентификационного номера опорного изображения и векторов движения, извлеченных на этапе декодирования в соответствии с информацией о сигнале управления.
55. An image decoding method, according to which image data is decoded with a bit stream, which is obtained when an input image signal including a plurality of color components is subjected to compression coding using prediction with motion compensation in units of predetermined areas of a partial image, wherein the image decoding method comprises
a decoding step of extracting information about the control signal from the bitstream indicating whether the image signal included in the partial image area is intra-encoded or encoded according to inter-frame prediction with motion compensation, and indicating whether encoding modes including the indication are decoded motion compensation prediction modes for indicating methods for generating a predicted image when encoding an image signal according to inter-frames motion prediction, as information common to all color components in the partial image areas, or as information for each color component in the partial image area, and coding modes, reference image identification numbers, and motion vectors for each of the areas are decoded partial image in accordance with the information about the control signal and extract the encoding modes, identification numbers of the reference image and motion vectors from the bitmap stream, and
a step for generating a predicted image in which a predicted image with motion compensation is generated based on the modes
prediction with motion compensation, reference image identification numbers and motion vectors, moreover
in the decoding step, it is retrieved when the information about the control signal indicates that the common coding mode is applied to the corresponding color components forming the partial image area, the common coding mode, the identification number of the common reference image and the common motion vector from the bitstream, and is extracted when the coding modes by separately apply to the corresponding color components forming the partial image area, a separate encoding mode, reference identification number o images and motion vector from the bitstream for each of the color components, and
in the predicted image generation step, a motion compensated predicted image is generated for the respective color components based on the encoding mode, the reference image identification number and motion vectors extracted in the decoding step in accordance with the control signal information.
56. Компьютерно-считываемый носитель записи, на котором записана программа декодирования изображения, предписывающая компьютеру выполнять
этап декодирования, на котором извлекают из битового потока информацию о сигнале управления, указывающую, декодируется ли режим кодирования, который включает в себя указание режима прогнозирования с компенсацией движения для указания, подвергается ли сигнал изображения, включенный в заранее определенную область частичного изображения, внутрикадровому кодированию или кодируется согласно внутрикадровому прогнозированию с компенсацией движения, и указывающую метод генерации прогнозируемого изображения при кодировании сигнала изображения согласно внутрикадровому прогнозированию с компенсацией движения, в качестве информации, общей для всех цветовых компонентов в области частичного изображения, или в качестве информации для каждого из цветовых компонентов в области частичного изображения, извлекают, когда информация о сигнале управления указывает, что общий режим кодирования применяется к соответствующим цветовым компонентам, образующим область частичного изображения, общий режим кодирования, идентификационный номер общего опорного изображения и общий вектор движения из битового потока и извлекают, когда информация о сигнале управления указывает, что режимы кодирования по отдельности применяются к соответствующим цветовым компонентам, образующим область частичного изображения, отдельный режим кодирования, идентификационный номер отдельного опорного изображения и отдельный вектор движения для каждого из цветовых компонентов из битового потока, и
этап генерации прогнозируемого изображения с компенсацией движения, на котором генерируют прогнозируемое изображение с компенсацией движения для соответствующих цветовых компонентов на основании режима кодирования, идентификационного номера опорного изображения и вектора движения, извлеченного на этапе декодирования в соответствии с информацией о сигнале управления.
56. A computer-readable recording medium on which an image decoding program is recorded instructing a computer to execute
a decoding step of extracting information about the control signal from the bitstream indicating whether the encoding mode is decoded, which includes indicating a motion-compensated prediction mode for indicating whether the image signal included in the predetermined partial image region is intra-frame encoded or encoded according to intraframe prediction with motion compensation, and indicating a method for generating a predicted image when encoding an image signal According to the motion compensation intra-frame prediction, as information common to all color components in the partial image area, or as information for each of the color components in the partial image area, is extracted when the control signal information indicates that the common coding mode is applied to the respective color components forming the partial image region, the common coding mode, the identification number of the common reference image and the common vector motion from the bitstream and retrieved when the information about the control signal indicates that the coding modes are individually applied to the respective color components forming the partial image area, a separate coding mode, an identification number of a separate reference image, and a separate motion vector for each of the color components from the bit flow, and
a motion compensation predicted image generating step of generating a motion compensation predicted image for the respective color components based on the encoding mode, the reference image identification number and the motion vector extracted in the decoding step in accordance with the control signal information.
57. Кодер изображения, содержащий
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение в соответствии с совокупностью фрагментов служебной информации, указывающей метод генерации прогнозируемого изображения,
блок принятия решения, который оценивает эффективность прогнозирования прогнозируемого изображения, выводимого из блока генерации прогнозируемого изображения, и принимает решение относительно заранее определенной служебной информации, и
блок кодирования, который подвергает выходной сигнал блока принятия решения кодированию с переменной длиной слова, причем
блок принятия решения принимает решение, на основании информации идентификации общего использования, используется ли общая служебная информация для соответствующих цветовых компонентов, образующих входной сигнал изображения, или отдельная служебная информация используется для каждого из цветовых компонентов, мультиплексирует информацию идентификации общего использования в битовый поток, мультиплексирует, когда используется общая служебная информация, общую служебную информацию в битовый поток и мультиплексирует, когда используется отдельная служебная информация, служебную информацию для каждого из цветовых компонентов в битовый поток.
57. An image encoder containing
a predicted image generation unit that generates a predicted image in accordance with a plurality of pieces of overhead information indicating a method for generating a predicted image,
a decision unit that evaluates the prediction efficiency of the predicted image output from the predicted image generation unit and makes a decision regarding a predetermined overhead information, and
a coding unit that subjects the output of the decision unit to coding with a variable word length, wherein
the decision unit makes a decision, based on the common use identification information, whether common overhead information is used for the respective color components constituting the input image signal, or if separate overhead information is used for each color component, multiplexes the common use identification information into a bit stream, multiplexes, when general overhead information is used, general overhead information in a bitstream and multiplexes when used Separate overhead information, overhead information for each of the color components into the bitstream is provided.
58. Декодер изображения, содержащий
блок декодирования, который декодирует информацию идентификации общего использования, указывающую, используется ли общая служебная информация для соответствующих цветовых компонентов, образующих входной сигнал изображения, или отдельная служебная информация используется для каждого из цветовых компонентов, и декодирует служебную информацию для соответствующих цветовых компонентов на основании значения информации идентификации общего использования, и
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение на основании служебной информации, декодированной блоком декодирования, причем
блок декодирования осуществляет декодирование данных изображения на основании прогнозируемого изображения, сгенерированного блоком генерации прогнозируемого изображения.
58. An image decoder containing
a decoding unit that decodes common use identification information indicating whether common overhead information is used for the respective color components forming the input image signal, or separate overhead information is used for each color component, and decodes overhead information for the respective color components based on the information value identification of common use, and
a predicted image generating unit that generates a predicted image based on overhead information decoded by a decoding unit, wherein
the decoding unit performs decoding of the image data based on the predicted image generated by the predicted image generation unit.
59. Кодер изображения, содержащий
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение в соответствии с совокупностью фрагментов служебной информации, указывающей метод генерации прогнозируемого изображения,
блок принятия решения, который оценивает эффективность прогнозирования прогнозируемого изображения, выводимого из блока генерации прогнозируемого изображения, для принятия решения относительно заранее определенной служебной информации, и
блок кодирования, который подвергает выходной сигнал блока принятия решения кодированию с переменной длиной слова, причем
блок принятия решения мультиплексирует информацию о заранее определенном сигнале управления, включающую в себя количество цветовых компонентов, в битовый поток и мультиплексирует служебную информацию для соответствующих цветовых компонентов в битовый поток на основании сигнала управления.
59. An image encoder containing
a predicted image generation unit that generates a predicted image in accordance with a plurality of pieces of overhead information indicating a method for generating a predicted image,
a decision unit that evaluates the prediction efficiency of the predicted image output from the predicted image generation unit for deciding on a predetermined overhead information, and
a coding unit that subjects the output of the decision unit to coding with a variable word length, wherein
the decision unit multiplexes information about a predetermined control signal, including the number of color components, into the bitstream and multiplexes overhead information for the corresponding color components into the bitstream based on the control signal.
60. Декодер изображения, содержащий
блок декодирования, который декодирует заранее определенный сигнал управления, включающий в себя информацию о количестве цветовых компонентов, образующих входной сигнал изображения, и декодирует служебную информацию для соответствующих цветовых компонентов на основании значения сигнала управления, и
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение на основании служебной информации, декодированной блоком декодирования, и сигнала управления, включающего в себя информацию о количестве цветовых компонентов, причем
блок декодирования осуществляет декодирование данных изображения на основании прогнозируемого изображения, сгенерированного блоком генерации прогнозируемого изображения.
60. An image decoder containing
a decoding unit that decodes a predetermined control signal including information on the number of color components constituting the input image signal, and decodes overhead information for the corresponding color components based on the value of the control signal, and
a predicted image generating unit that generates a predicted image based on overhead information decoded by the decoding unit and a control signal including information on the number of color components, wherein
the decoding unit performs decoding of the image data based on the predicted image generated by the predicted image generation unit.
61. Кодер изображения, содержащий
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение в соответствии с совокупностью фрагментов служебной информации, указывающей метод генерации прогнозируемого изображения,
блок принятия решения, который оценивает эффективность прогнозирования прогнозируемого изображения, выводимого из блока генерации прогнозируемого изображения, для принятия решения относительно заранее определенной служебной информации, и
блок кодирования, который подвергает выходной сигнал блока принятия решения кодированию с переменной длиной слова, причем
блок принятия решения мультиплексирует флаг идентификации цветового компонента для определения изображения, которому
принадлежат данные среза, в битовый поток и мультиплексирует служебную информацию соответствующих цветовых компонентов в битовый поток на основании флага идентификации цветового компонента для определения изображения, которому принадлежат данные среза.
61. An image encoder containing
a predicted image generation unit that generates a predicted image in accordance with a plurality of pieces of overhead information indicating a method for generating a predicted image,
a decision unit that evaluates the prediction efficiency of the predicted image output from the predicted image generation unit for deciding on a predetermined overhead information, and
a coding unit that subjects the output of the decision unit to coding with a variable word length, wherein
a decision unit multiplexes a color component identification flag to determine an image to which
the slice data belongs to the bitstream and multiplexes the overhead information of the respective color components into the bitstream based on the identification flag of the color component to determine the image to which the slice data belongs.
62. Декодер изображения, содержащий
блок декодирования, который декодирует флаг идентификации цветового компонента для определения изображения, которому принадлежат данные среза, и декодирует служебную информацию соответствующих цветовых компонентов на основании значения флага идентификации цветового компонента для определения изображения, которому принадлежат данные среза, и
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение на основании служебной информации, декодированной блоком декодирования, причем
блок декодирования осуществляет декодирование данных изображения на основании прогнозируемого изображения, сгенерированного блоком генерации прогнозируемого изображения.
62. An image decoder containing
a decoding unit that decodes the color component identification flag to determine the image to which the slice data belongs, and decodes overhead information of the corresponding color components based on the color component identification flag to determine the image to which the slice data belongs, and
a predicted image generating unit that generates a predicted image based on overhead information decoded by a decoding unit, wherein
the decoding unit performs decoding of the image data based on the predicted image generated by the predicted image generation unit.
63. Декодер изображения, содержащий
блок декодирования, который декодирует, в единицах срезов, флаг идентификации цветового компонента для определения изображения, которому принадлежат данные среза, и генерирует декодированное изображение соответствующих цветовых компонентов на основании значения флага идентификации цветового компонента для определения изображения, которому принадлежат данные среза,
причем блок декодирования осуществляет декодирование изображения из набора данных кодирования среза, имеющих идентичное значение флага идентификации цветового компонента для определения изображения, которому принадлежат данные среза.
63. An image decoder containing
a decoding unit that decodes, in units of slices, a color component identification flag for determining an image to which the slice data belongs, and generates a decoded image of respective color components based on a color component identification flag for determining a image to which the slice data belongs,
moreover, the decoding unit performs decoding of the image from the slice encoding data set having the identical value of the identification flag of the color component to determine the image to which the slice data belongs.
RU2008106777/09A 2005-07-22 2006-06-16 Image coder and image decoder, method of image coding and method of image decoding, program of image coding and program of image decoding and computer-readable record medium, on which image coding program is recorded, and computer-readable record medium, on which image decoding program is recorded RU2368095C1 (en)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
JP2005212601 2005-07-22
JP2005-212601 2005-07-22
JP2005-294768 2005-10-07
JP2005-294767 2005-10-07
JP2005294767 2005-10-07
JP2005-377638 2005-12-28
JP2005377638 2005-12-28
JP2006-085210 2006-03-27

Related Child Applications (1)

Application Number Title Priority Date Filing Date
RU2009109435/09A Division RU2426269C2 (en) 2005-07-22 2009-03-16 Image encoder and image decoder, image encoding method and image decoding method, image encoding programme and image decoding programme and computer readable recording medium on which image encoding programme is recorded and computer readable recording medium on which image decoding programme is recorded

Publications (2)

Publication Number Publication Date
RU2008106777A RU2008106777A (en) 2009-08-27
RU2368095C1 true RU2368095C1 (en) 2009-09-20

Family

ID=41149416

Family Applications (3)

Application Number Title Priority Date Filing Date
RU2008106777/09A RU2368095C1 (en) 2005-07-22 2006-06-16 Image coder and image decoder, method of image coding and method of image decoding, program of image coding and program of image decoding and computer-readable record medium, on which image coding program is recorded, and computer-readable record medium, on which image decoding program is recorded
RU2009109435/09A RU2426269C2 (en) 2005-07-22 2009-03-16 Image encoder and image decoder, image encoding method and image decoding method, image encoding programme and image decoding programme and computer readable recording medium on which image encoding programme is recorded and computer readable recording medium on which image decoding programme is recorded
RU2010138601/07A RU2502216C2 (en) 2005-07-22 2010-09-17 Image encoder and image decoder, image encoding method and image decoding method

Family Applications After (2)

Application Number Title Priority Date Filing Date
RU2009109435/09A RU2426269C2 (en) 2005-07-22 2009-03-16 Image encoder and image decoder, image encoding method and image decoding method, image encoding programme and image decoding programme and computer readable recording medium on which image encoding programme is recorded and computer readable recording medium on which image decoding programme is recorded
RU2010138601/07A RU2502216C2 (en) 2005-07-22 2010-09-17 Image encoder and image decoder, image encoding method and image decoding method

Country Status (1)

Country Link
RU (3) RU2368095C1 (en)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2486691C1 (en) * 2009-10-21 2013-06-27 Мицубиси Электрик Корпорейшн Method for decoding of bit stream
RU2490815C1 (en) * 2009-10-30 2013-08-20 Самсунг Электроникс Ко., Лтд. Method and apparatus for encoding and decoding coding unit of picture boundary
RU2551800C2 (en) * 2011-03-09 2015-05-27 Кэнон Кабусики Кайся Image coding device, image coding method, software for this, image decoding device, image decoding method and software for this
RU2566972C2 (en) * 2011-03-10 2015-10-27 Квэлкомм Инкорпорейтед Methods of video coding for coding of dependable images after arbitrary access
RU2595573C2 (en) * 2011-07-29 2016-08-27 Сан Пэтент Траст Moving image encoding method, moving image decoding method, moving image encoding device, moving image decoding device and apparatus for encoding and decoding moving image
RU2597494C2 (en) * 2011-07-01 2016-09-10 Самсунг Электроникс Ко., Лтд. Method and device for entropy coding using hierarchical data unit and method and apparatus for decoding
RU2605915C2 (en) * 2011-07-02 2016-12-27 Самсунг Электроникс Ко., Лтд. Method and device for encoding video, as well as method and device for decoding video accompanied by mutual prediction using jointly arranged image
US9609320B2 (en) 2012-02-03 2017-03-28 Sun Patent Trust Image decoding method and image decoding apparatus
RU2627109C2 (en) * 2012-04-23 2017-08-03 Сан Пэтент Траст Method of coding, decoding method, coding device, decoding device and coding and decoding device
RU2628226C2 (en) * 2011-12-16 2017-08-15 Сан Пэтент Траст Method of coding video images, device for coding video images, method of decoding video images, device for decoding video images and device for coding / decoding video images
RU2628315C2 (en) * 2012-06-08 2017-08-15 Сан Пэтент Траст Image encoding method, image decoding method, image coding device, decoding device and image decoding device and image encoding
RU2653299C2 (en) * 2014-03-17 2018-05-07 Нокиа Текнолоджиз Ой Method and device for video coding and decoding
US10063862B2 (en) 2012-06-27 2018-08-28 Sun Patent Trust Image decoding method and image decoding apparatus for sample adaptive offset information
US10129563B2 (en) 2012-01-20 2018-11-13 Sun Patent Trust Methods and apparatuses for encoding and decoding video using temporal motion vector prediction
US20180352236A1 (en) 2011-01-12 2018-12-06 Canon Kabushiki Kaisha Video encoding and decoding with improved error resilience
US10212447B2 (en) 2012-03-06 2019-02-19 Sun Patent Trust Moving picture coding method, moving picture decoding method, moving picture coding apparatus, moving picture decoding apparatus, and moving picture coding and decoding apparatus
RU2690220C1 (en) * 2010-03-17 2019-05-31 Нтт Докомо, Инк. Moving image predictive encoding device, a motion image predictive encoding method, a moving image predictive encoding program, device for decoding a moving image with prediction, a method of decoding a moving image with prediction, and a program for decoding a moving image with prediction
RU2701121C2 (en) * 2010-12-09 2019-09-24 Вилос Медиа Интернэшнл Лимитед Image processing device and image processing method
RU2747247C1 (en) * 2010-10-06 2021-04-29 Нтт Докомо, Инк. Predictive image decoding device, predictive image decoding method

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8837592B2 (en) * 2010-04-14 2014-09-16 Mediatek Inc. Method for performing local motion vector derivation during video coding of a coding unit, and associated apparatus
JP5485969B2 (en) * 2011-11-07 2014-05-07 株式会社Nttドコモ Moving picture predictive coding apparatus, moving picture predictive coding method, moving picture predictive coding program, moving picture predictive decoding apparatus, moving picture predictive decoding method, and moving picture predictive decoding program
AU2012232992A1 (en) * 2012-09-28 2014-04-17 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the transform units of a coding unit
WO2014071439A1 (en) * 2012-11-08 2014-05-15 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the transform units of a coding unit
CN108521574A (en) * 2012-09-28 2018-09-11 索尼公司 Encoding device, coding method, decoding device and coding/decoding method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6259741B1 (en) * 1999-02-18 2001-07-10 General Instrument Corporation Method of architecture for converting MPEG-2 4:2:2-profile bitstreams into main-profile bitstreams
JP4617644B2 (en) * 2003-07-18 2011-01-26 ソニー株式会社 Encoding apparatus and method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WOO-SHIK KIM et al. Proposal for the unsolved issues in Professional Extensions II, Document JVT-J018, JOINT VIDEO TEAM (JVT) OF ISO/IEC MPEG & ITU-T VCEG, 10th JVT Meeting, 8-12 December 2003, Hawaii, c.1-11. LUJUN YUAN et al. Color Space Compatible Coding Framework for YUV422 Video Coding, IEEE International conference on Acoustics, Speech and Signal Processing (ICASSP), vol.3, 2004, c.185-188. РИЧАРДСОН ЯН. Видеокодирование Н.264 и MPEG-4 стандарты нового поколения. - М.: Техносфера, 2005, перевод издания 2003, с.231-240. *

Cited By (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2486691C1 (en) * 2009-10-21 2013-06-27 Мицубиси Электрик Корпорейшн Method for decoding of bit stream
US8842922B2 (en) 2009-10-30 2014-09-23 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding coding unit of picture boundary
RU2490815C1 (en) * 2009-10-30 2013-08-20 Самсунг Электроникс Ко., Лтд. Method and apparatus for encoding and decoding coding unit of picture boundary
US8837840B2 (en) 2009-10-30 2014-09-16 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding coding unit of picture boundary
US8842926B2 (en) 2009-10-30 2014-09-23 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding coding unit of picture boundary
US8842925B2 (en) 2009-10-30 2014-09-23 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding coding unit of picture boundary
US9264708B2 (en) 2009-10-30 2016-02-16 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding coding unit of picture boundary
US8582901B2 (en) 2009-10-30 2013-11-12 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding coding unit of picture boundary
RU2690220C1 (en) * 2010-03-17 2019-05-31 Нтт Докомо, Инк. Moving image predictive encoding device, a motion image predictive encoding method, a moving image predictive encoding program, device for decoding a moving image with prediction, a method of decoding a moving image with prediction, and a program for decoding a moving image with prediction
RU2747247C1 (en) * 2010-10-06 2021-04-29 Нтт Докомо, Инк. Predictive image decoding device, predictive image decoding method
RU2702046C2 (en) * 2010-12-09 2019-10-03 Вилос Медиа Интернэшнл Лимитед Image processing device and image processing method
RU2701121C2 (en) * 2010-12-09 2019-09-24 Вилос Медиа Интернэшнл Лимитед Image processing device and image processing method
US10609380B2 (en) 2011-01-12 2020-03-31 Canon Kabushiki Kaisha Video encoding and decoding with improved error resilience
US20180352236A1 (en) 2011-01-12 2018-12-06 Canon Kabushiki Kaisha Video encoding and decoding with improved error resilience
US10499060B2 (en) 2011-01-12 2019-12-03 Canon Kabushiki Kaisha Video encoding and decoding with improved error resilience
US10165279B2 (en) 2011-01-12 2018-12-25 Canon Kabushiki Kaisha Video encoding and decoding with improved error resilience
US10506236B2 (en) 2011-01-12 2019-12-10 Canon Kabushiki Kaisha Video encoding and decoding with improved error resilience
RU2709158C1 (en) * 2011-01-12 2019-12-16 Кэнон Кабусики Кайся Encoding and decoding of video with high resistance to errors
RU2688252C1 (en) * 2011-01-12 2019-05-21 Кэнон Кабусики Кайся Video encoding and decoding with high resistance to errors
RU2762933C2 (en) * 2011-01-12 2021-12-24 Кэнон Кабусики Кайся Encoding and decoding of video with high resistance to errors
US11146792B2 (en) 2011-01-12 2021-10-12 Canon Kabushiki Kaisha Video encoding and decoding with improved error resilience
US9277221B2 (en) 2011-03-09 2016-03-01 Canon Kabushiki Kaisha Image coding apparatus, method for coding image, program therefor, image decoding apparatus, method for decoding image, and program therefor
RU2551800C2 (en) * 2011-03-09 2015-05-27 Кэнон Кабусики Кайся Image coding device, image coding method, software for this, image decoding device, image decoding method and software for this
RU2566972C2 (en) * 2011-03-10 2015-10-27 Квэлкомм Инкорпорейтед Methods of video coding for coding of dependable images after arbitrary access
US9706227B2 (en) 2011-03-10 2017-07-11 Qualcomm Incorporated Video coding techniques for coding dependent pictures after random access
US9571842B2 (en) 2011-07-01 2017-02-14 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding using hierarchical data unit, and method and apparatus for decoding
US9596474B2 (en) 2011-07-01 2017-03-14 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding using hierarchical data unit, and method and apparatus for decoding
US10257517B2 (en) 2011-07-01 2019-04-09 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding using hierarchical data unit, and method and apparatus for decoding
RU2597494C2 (en) * 2011-07-01 2016-09-10 Самсунг Электроникс Ко., Лтд. Method and device for entropy coding using hierarchical data unit and method and apparatus for decoding
US9596472B2 (en) 2011-07-01 2017-03-14 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding using hierarchical data unit, and method and apparatus for decoding
US9596473B2 (en) 2011-07-01 2017-03-14 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding using hierarchical data unit, and method and apparatus for decoding
US9591310B2 (en) 2011-07-01 2017-03-07 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding using hierarchical data unit, and method and apparatus for decoding
US10034014B2 (en) 2011-07-02 2018-07-24 Samsung Electronics Co., Ltd. Method and apparatus for coding video, and method and apparatus for decoding video accompanied by inter prediction using collocated image
RU2605915C2 (en) * 2011-07-02 2016-12-27 Самсунг Электроникс Ко., Лтд. Method and device for encoding video, as well as method and device for decoding video accompanied by mutual prediction using jointly arranged image
RU2636100C1 (en) * 2011-07-02 2017-11-20 Самсунг Электроникс Ко., Лтд. Method and device for video encoding, as well as method and device for video decoding supported by mutual forecasting using co-located image
US10397601B2 (en) 2011-07-02 2019-08-27 Samsung Electronics Co., Ltd. Method and apparatus for coding video, and method and apparatus for decoding video accompanied by inter prediction using collocated image
US9762924B2 (en) 2011-07-02 2017-09-12 Samsung Electronics Co., Ltd. Method and apparatus for coding video, and method and apparatus for decoding video accompanied by inter prediction using collocated image
RU2595573C2 (en) * 2011-07-29 2016-08-27 Сан Пэтент Траст Moving image encoding method, moving image decoding method, moving image encoding device, moving image decoding device and apparatus for encoding and decoding moving image
RU2628226C2 (en) * 2011-12-16 2017-08-15 Сан Пэтент Траст Method of coding video images, device for coding video images, method of decoding video images, device for decoding video images and device for coding / decoding video images
US10129563B2 (en) 2012-01-20 2018-11-13 Sun Patent Trust Methods and apparatuses for encoding and decoding video using temporal motion vector prediction
US10616601B2 (en) 2012-01-20 2020-04-07 Sun Patent Trust Methods and apparatuses for encoding and decoding video using temporal motion vector prediction
US10034015B2 (en) 2012-02-03 2018-07-24 Sun Patent Trust Image coding method and image coding apparatus
US10623762B2 (en) 2012-02-03 2020-04-14 Sun Patent Trust Image coding method and image coding apparatus
US11812048B2 (en) 2012-02-03 2023-11-07 Sun Patent Trust Image coding method and image coding apparatus
US11451815B2 (en) 2012-02-03 2022-09-20 Sun Patent Trust Image coding method and image coding apparatus
US9609320B2 (en) 2012-02-03 2017-03-28 Sun Patent Trust Image decoding method and image decoding apparatus
RU2616555C2 (en) * 2012-02-03 2017-04-17 Сан Пэтент Траст Image coding method, image decoding method, image coding device, image decoding device, and image coding and image decoding device
US9883201B2 (en) 2012-02-03 2018-01-30 Sun Patent Trust Image coding method and image coding apparatus
US9648323B2 (en) 2012-02-03 2017-05-09 Sun Patent Trust Image coding method and image coding apparatus
US10904554B2 (en) 2012-02-03 2021-01-26 Sun Patent Trust Image coding method and image coding apparatus
US10334268B2 (en) 2012-02-03 2019-06-25 Sun Patent Trust Image coding method and image coding apparatus
US11949907B2 (en) 2012-03-06 2024-04-02 Sun Patent Trust Moving picture coding method, moving picture decoding method, moving picture coding apparatus, moving picture decoding apparatus, and moving picture coding and decoding apparatus
US10212447B2 (en) 2012-03-06 2019-02-19 Sun Patent Trust Moving picture coding method, moving picture decoding method, moving picture coding apparatus, moving picture decoding apparatus, and moving picture coding and decoding apparatus
US10880572B2 (en) 2012-03-06 2020-12-29 Sun Patent Trust Moving picture coding method, moving picture decoding method, moving picture coding apparatus, moving picture decoding apparatus, and moving picture coding and decoding apparatus
US10560716B2 (en) 2012-03-06 2020-02-11 Sun Patent Trust Moving picture coding method, moving picture decoding method, moving picture coding apparatus, moving picture decoding apparatus, and moving picture coding and decoding apparatus
US11595682B2 (en) 2012-03-06 2023-02-28 Sun Patent Trust Moving picture coding method, moving picture decoding method, moving picture coding apparatus, moving picture decoding apparatus, and moving picture coding and decoding apparatus
RU2627109C2 (en) * 2012-04-23 2017-08-03 Сан Пэтент Траст Method of coding, decoding method, coding device, decoding device and coding and decoding device
US10212425B2 (en) 2012-06-08 2019-02-19 Sun Patent Trust Arithmetic coding for information related to sample adaptive offset processing
US11375195B2 (en) 2012-06-08 2022-06-28 Sun Patent Trust Arithmetic coding for information related to sample adaptive offset processing
US10812800B2 (en) 2012-06-08 2020-10-20 Sun Patent Trust Arithmetic coding for information related to sample adaptive offset processing
US11849116B2 (en) 2012-06-08 2023-12-19 Sun Patent Trust Arithmetic coding for information related to sample adaptive offset processing
RU2628315C2 (en) * 2012-06-08 2017-08-15 Сан Пэтент Траст Image encoding method, image decoding method, image coding device, decoding device and image decoding device and image encoding
US10063862B2 (en) 2012-06-27 2018-08-28 Sun Patent Trust Image decoding method and image decoding apparatus for sample adaptive offset information
US10542290B2 (en) 2012-06-27 2020-01-21 Sun Patent Trust Image decoding method and image decoding apparatus for sample adaptive offset information
RU2653299C2 (en) * 2014-03-17 2018-05-07 Нокиа Текнолоджиз Ой Method and device for video coding and decoding

Also Published As

Publication number Publication date
RU2426269C2 (en) 2011-08-10
RU2010138601A (en) 2012-03-27
RU2009109435A (en) 2010-09-27
RU2502216C2 (en) 2013-12-20
RU2008106777A (en) 2009-08-27

Similar Documents

Publication Publication Date Title
RU2368095C1 (en) Image coder and image decoder, method of image coding and method of image decoding, program of image coding and program of image decoding and computer-readable record medium, on which image coding program is recorded, and computer-readable record medium, on which image decoding program is recorded
RU2506714C1 (en) Image encoder and image decoder, image encoding method and image decoding method
KR101379087B1 (en) Image encoder, image encoding method, image decoder and image decoding method
US8488889B2 (en) Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US8509551B2 (en) Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recording with image encoding program and computer readable recording medium recorded with image decoding program
US20090123066A1 (en) Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein,
US20080123947A1 (en) Image encoding device, image decoding device, image encoding method, image decoding method, image encoding program, image decoding program, computer readable recording medium having image encoding program recorded therein
US20080165849A1 (en) Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20090034857A1 (en) Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20080123977A1 (en) Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20080137744A1 (en) Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20080130989A1 (en) Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20080130990A1 (en) Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US20080130988A1 (en) Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program