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 PDFInfo
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Color Television Systems (AREA)
Abstract
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
Фиг.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
Фиг.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
Фиг.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-
Фиг.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-
Фиг.55 - логическая блок-схема, демонстрирующая порядок обработки арифметического кодирования блока 11 кодирования с переменной длиной слова согласно двенадцатому варианту осуществления.Fig. 55 is a flowchart showing an arithmetic encoding processing order of a variable-
Фиг.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
Фиг.60 - логическая блок-схема, демонстрирующая порядок обработки арифметического декодирования блока 25 декодирования с переменной длиной слова согласно двенадцатому варианту осуществления.60 is a flowchart showing an arithmetic decoding processing order of a variable-
Фиг.61 - схема, поясняющая контекстуальную модель 11f согласно двенадцатому варианту осуществления.Fig. 61 is a diagram for explaining a
Фиг.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
Фиг.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
Структура видеокодера согласно первому варианту осуществления показана на фиг.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
Прежде всего, блок пространственного прогнозирования 2 осуществляет обработку интрапрогнозирования для каждого из цветовых компонентов в единицах макроблоков с использованием локально декодированного изображения 15, хранящегося в памяти 16. Три блока памяти подготавливаются для соответствующих цветовых компонентов (хотя в объяснении этого варианта осуществления подготавливаются три блока памяти, количество блоков памяти можно соответственно изменять в зависимости от фактической реализации). Режимы интрапрогнозирования представляют собой режим интрапрогнозирования 4×4 для осуществления пространственного прогнозирования, в котором, в единицах блоков 4 пикселя × 4 линии, показанных на фиг.3, используются соседние пиксели блока, и режим интрапрогнозирования 16×16 для осуществления пространственного прогнозирования, в котором, в единицах макроблоков 16 пикселей × 16 линий, показанных на фиг.4, используются соседние пиксели макроблока.First of all, the
(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
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)
Режим кодирования с интрапрогнозированием 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
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
Блок пространственного прогнозирования 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 управления разблокирующим фильтром на стороне декодера для получения окончательного декодированного изображения.)
Флаг 23 идентификации общего использования режима интрапрогнозирования, квантованный коэффициент преобразования 10, режим кодирования 6 и параметр квантования 21, введенные в блок 11 кодирования с переменной длиной слова, упорядочены и сформированы в виде битового потока в соответствии с заранее определенным правилом (синтаксисом) и выводятся в буфер передачи 17. Буфер передачи 17 сглаживает битовый поток согласно полосе линии передачи, к которой подключен кодер, и скорости чтения носителя записи и выводит битовый поток в качестве видеопотока 22. Буфер передачи 17 выводит информацию обратной связи на блок 19 управления кодированием согласно состоянию накопления битового потока в буфер передачи 17 и затем управляет объемом генерируемых кодов при кодировании видеокадров.The
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
Прежде всего, блок 5 принятия решения относительно режима кодирования принимает флаг 23 идентификации общего использования режима интрапрогнозирования и принимает решение на основании значения флага 23 идентификации общего использования режима интрапрогнозирования, используется ли режим интрапрогнозирования, общий для C0, C1 и C2 (этап S1 на фиг.5). При использовании общего режима интрапрогнозирования блок 5 принятия решения относительно режима кодирования переходит к этапу S2 и последующим этапам. В случае неиспользования общего режима интрапрогнозирования блок 5 принятия решения относительно режима кодирования переходит к этапу S5 и последующим этапам.First of all, the
Когда режим интрапрогнозирования используется совместно для 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
Когда режим интрапрогнозирования не используется совместно для 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
В качестве стандарта для оценки эффективности прогнозирования для режима прогнозирования, осуществляемой в блоке пространственного прогнозирования 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
Когда кодер осуществляет обработку на этапе 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
На фигуре показан массив данных битового потока на уровне макроблоков. Режим интракодирования 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
В формате 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
3. Описание работы декодера3. Description of the decoder
Декодер, показанный на фиг.2, принимает видеопоток 22, отвечающий массиву, показанному на фиг.6, выводимый из кодера, показанного на фиг.1, осуществляет обработку декодирования в единицах макроблоков, в которых три цветовых компонента имеют идентичный размер (формат 4:4:4), и восстанавливает соответствующие видеокадры.The decoder shown in FIG. 2 receives a
Прежде всего, блок 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-
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-
Этапы 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-
Вариации массива данных битового потока, показанного на фиг.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
Таким образом, когда необходимо изменить набор режимов интрапрогнозирования согласно характеристикам цветовых компонентов, можно получить более оптимальную эффективность кодирования согласно структуре наподобие синтаксиса, показанного на фиг.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
Структура видеокодера согласно второму варианту осуществления показана на фиг.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,
Операции кодера в целом и декодера в целом согласно второму варианту осуществления, обработка принятия решения относительно режима интракодирования/прогнозирования и обработка декодирования интрапрогнозирования, которые являются характерными операциями согласно второму варианту осуществления, будут объяснены на основании этих фигур.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
Блок пространственного прогнозирования 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
(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
С другой стороны, в режиме интрапрогнозирования 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
Видеокодер согласно второму варианту осуществления отличается тем, что методы интрапрогнозирования/преобразования/кодирования для трех цветовых компонентов изменяются на основании флага 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
Блок пространственного прогнозирования 2 осуществляет оценку режима интрапрогнозирования на основании указания флага 33 идентификации общего использования режима интракодирования для вводимых сигналов трех цветовых компонентов. Флаг 33 идентификации общего использования режима интракодирования указывает, что режим интракодирования вводится для каждого из трех цветовых компонентов, или один и тот же режим интракодирования выделяется по отдельности всем трем компонентам. Причина кроется в описанных ниже базовых сведеньях.The
В формате 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
Блок пространственного прогнозирования 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
Когда блок 5 принятия решения относительно режима кодирования выбирает интрапрогнозирование 16×16, блок 5 принятия решения относительно режима кодирования выводит режим кодирования с интрапрогнозированием 16×16 в качестве режима кодирования 6. При выборе режима кодирования 6 можно учитывать весовой коэффициент 20 для каждого режима кодирования, установленного посредством принятия решения блока 19 управления кодированием.When the
Разностный сигнал прогнозирования 4, полученный режимом кодирования 6, выводится на блок преобразования 8. Блок преобразования 8 преобразует введенный разностный сигнал прогнозирования в коэффициент преобразования и выводит коэффициент преобразования на блок квантования 9. Блок квантования 9 квантует введенный коэффициент преобразования на основании параметра квантования 21, установленного блоком 19 управления кодированием, и выводит коэффициент преобразования на блок 11 кодирования с переменной длиной слова в качестве квантованного коэффициента преобразования 10.The prediction
Когда размер блока преобразования выражается в единицах блоков 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
Квантованный коэффициент преобразования 10 подвергается энтропийному кодированию посредством, например, кодирования Хаффмана или арифметического кодирования на блоке 11 кодирования с переменной длиной слова. Квантованный коэффициент преобразования 10 восстанавливается до разностного сигнала 14 прогнозирования локального декодирования посредством блока 12 обратного квантования и блока 13 обратного преобразования в размере блока на основании флага 32 идентификации размера блока преобразования. Квантованный коэффициент преобразования 10 суммируется с прогнозируемым изображением 7, которое генерируется на основании режима кодирования 6, сумматором 18 для генерации локального декодированного изображения 15. Локально декодированное изображение 15 сохраняется в памяти 16 для дальнейшего использования при обработке интрапрогнозирования. Флаг 24 управления разблокирующим фильтром, указывающий, применяется ли разблокирующий фильтр к макроблоку, также вводится в блок 11 кодирования с переменной длиной слова. (При обработке прогнозирования, выполняемой блоком пространственного прогнозирования 2, поскольку пиксельные данные до обработки разблокирующим фильтром сохраняются в памяти 16, обработка разблокирующего фильтра сама по себе не обязательна для обработки кодирования. Однако разблокирующий фильтр действует согласно указанию флага 24 управления разблокирующим фильтром на стороне декодера для получения окончательного декодированного изображения.)The quantized
Флаг 33 идентификации общего использования режима интракодирования, квантованный коэффициент преобразования 10, режим кодирования 6 и параметр квантования 21, введенные в блок 11 кодирования с переменной длиной слова, упорядочены и сформированы в виде битового потока в соответствии с заранее определенным правилом (синтаксисом) и выводятся в буфер передачи 17. Буфер передачи 17 сглаживает битовый поток согласно полосе линии передачи, к которой подключен кодер, и скорости чтения носителя записи и выводит битовый поток в качестве видеопотока 22. Буфер передачи 17 выводит информацию обратной связи на блок 19 управления кодированием согласно состоянию накопления битового потока в буфере передачи 17 и затем управляет объемом генерируемых кодов при кодировании видеокадров.The intra-coding mode common
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
Прежде всего, блок 5 принятия решения относительно режима кодирования принимает флаг 33 идентификации общего использования режима интракодирования и принимает решение на основании значения флага 33 идентификации общего использования режима интракодирования, используется ли режим интракодирования, общий для C0, C1 и C2 (этап S20 на фиг.14). При использовании общего режима интрапрогнозирования блок 5 принятия решения относительно режима кодирования переходит к этапу S21 и последующим этапам. В случае неиспользования общего режима интрапрогнозирования блок 5 принятия решения относительно режима кодирования переходит к этапу S22 и последующим этапам.First of all, the encoding
Когда режим интракодирования используется совместно для 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
С другой стороны, когда оптимальные режимы интракодирования выбираются для 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
Когда блок пространственного прогнозирования 2 выбирает режим интрапрогнозирования 4×4 в качестве режима, обеспечивающего оптимальную эффективность прогнозирования на вышеописанных этапах S21 и S23, флаг 32 идентификации размера блока преобразования задается в состоянии "преобразование к размеру блока 4×4". Когда блок пространственного прогнозирования 2 выбирает режим интрапрогнозирования 8×8 в качестве режима, обеспечивающего оптимальную эффективность прогнозирования, флаг 32 идентификации размера блока преобразования задается в состоянии "преобразование к размеру блока 8×8".When the
В качестве критериев для оценки эффективности прогнозирования для режима прогнозирования, осуществляемой в блоке пространственного прогнозирования 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
Когда кодер осуществляет обработку на этапе 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
На фиг.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
Согласно второму варианту осуществления флаг 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
Если информация о флаге 33 идентификации общего использования режима интракодирования каким-то образом заранее известна кодеру и декодеру, информацию о флаге 33 идентификации общего использования режима интракодирования не требуется передавать в битовом потоке видеосигнала. В этом случае, например, в кодере флаг 33 идентификации общего использования режима интракодирования может формироваться для осуществления устойчивого кодирования для некоторого значения или может передаваться по отдельности из битового потока видеосигнала.If the information on the common
3. Описание работы декодера3. Description of the decoder
Декодер, показанный на фиг.12, принимает видеопоток 22, отвечающий массиву, показанному на фиг.15, выводимый из кодера, показанного на фиг.11, осуществляет обработку декодирования в единицах макроблоков, в которых три цветовых компонента имеют идентичный размер (формат 4:4:4), и восстанавливает соответствующие видеокадры.The decoder shown in Fig. 12 receives a
Прежде всего, блок 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-
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-
Этапы 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-
Когда на этапе 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-
Как описано выше, если информация о флаге 33 идентификации общего использования режима интракодирования некоторым образом заранее известна кодеру и декодеру, декодер может осуществлять декодирование, например, с заранее фиксированным значением, вместо того, чтобы анализировать значение флага 33 идентификации общего использования режима интракодирования из битового потока видеосигнала, или может передавать информацию по отдельности из битового потока видеосигнала.As described above, if the information on the common
В формате 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
Третий вариант осуществления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
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-
Следующее объяснение опирается на условие, что принят массив битовых потоков в формате, показанном на фиг.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
В качестве схем для объяснения процедуры кодирования для соответствующих цветовых компонентов 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
Блок 11 кодирования с переменной длиной слова устанавливает прогнозируемое значение predCurrIntraPredMode для CurrIntraPredMode блока X согласно следующему уравнению (этап S51).The variable-
. .
Блок 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-
Процедура кодирования для компонента 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-
Блок 11 кодирования с переменной длиной слова устанавливает прогнозируемое значение-кандидат 1 predCurrIntraPredMode1 для CurrIntraPredMode блока X согласно следующему уравнению (этап S54).The variable-
. .
Если 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-
С другой стороны, в компоненте 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-
. .
Это задается как прогнозируемое значение-кандидат ввиду следующих базовых сведений. Кодирование 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-
Вышеописанная процедура представлена в виде следующих выражений.The above procedure is presented in the form of the following expressions.
// Использовать прогнозируемое значение-кандидат 1// Use predicted
// Использовать прогнозируемое значение-кандидат 2// Use predicted
В результате, 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-
Блок 11 кодирования с переменной длиной слова устанавливает прогнозируемое значение-кандидат 1 predCurrIntraPredMode1 для CurrIntraPredMode блока X согласно следующему уравнению (этап S60).The variable-
. .
Если 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-
С другой стороны, в компонентах 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
Это задается как прогнозируемое значение-кандидат ввиду следующих базовых сведений. Кодирование 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-
Вышеописанная процедура представлена в виде следующих выражений.The above procedure is presented in the form of the following expressions.
// Использовать прогнозируемое значение-кандидат 1// Use predicted
// Использовать прогнозируемое значение-кандидат 2// Use predicted
В результате 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-
В вышеописанной процедуре 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.
// Использовать прогнозируемое значение-кандидат 1// Use predicted
// Использовать прогнозируемое значение-кандидат 2// Use predicted
Согласно этому методу, когда кодируется 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.
// Использовать прогнозируемое значение-кандидат 1// Use predicted
// Использовать прогнозируемое значение-кандидат 2// Use predicted
Флаг 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
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-
Следующее объяснение опирается на условие, что принят массив битовых потоков в формате, показанном на фиг.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
Состояние компонента 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
Блок 25 декодирования с переменной длиной слова устанавливает прогнозируемое значение predCurrIntraPredMode для CurrIntraPredMode блока X согласно следующему уравнению (этап S51)The variable-
. .
Блок 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-
Эти процедуры в общем виде можно представить следующим образом.These procedures in general can be represented as follows.
Процедура декодирования для компонента 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-
Блок 25 декодирования с переменной длиной слова устанавливает прогнозируемое значение-кандидат 1 predCurrIntraPredMode1 для CurrIntraPredMode блока X согласно следующему уравнению (этап S54)The variable word
. .
Если 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
. .
Это устанавливается в качестве прогнозируемого значения-кандидата ввиду тех же базовых сведений, что и в случае кодера.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-
После задания прогнозируемого значения-кандидата 1, прогнозируемого значения-кандидата 2, prev_intra_pred_mode_flag, pred_flag и rem_intra_pred_mode посредством следующей процедуры блок 25 декодирования с переменной длиной слова декодирует CurrIntraPredMode (этап S66).After setting the predicted
// В этом случае pred_flag не включается в битовый поток.// In this case, pred_flag is not included in the bitstream.
Процедура декодирования для компонента 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-
Блок 25 декодирования с переменной длиной слова устанавливает прогнозируемое значение-кандидат 1 predCurrIntraPredMode1 для CurrIntraPredMode блока X согласно следующему уравнению (этап S60).The variable word
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
Это означает, чтоIt means that
Это устанавливается в качестве прогнозируемого значения-кандидата ввиду тех же базовых сведений, что и в случае кодера.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-
После задания прогнозируемого значения-кандидата 1, прогнозируемого значения-кандидата 2, prev_intra_pred_mode_flag, pred_flag и rem_intra_pred_mode посредством следующей процедуры блок 25 декодирования с переменной длиной слова декодирует CurrIntraPredMode (этап S71).After setting the predicted
// В этом случае pred_flag не включается в битовый поток.// In this case, pred_flag is not included in the bitstream.
Таким же образом можно определить вышеописанную процедуру декодирования режима интрапрогнозирования 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.
Эффект этого способа такой же, как описан в процедуре кодирования на соответствующей стороне кодера. Кроме того, 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.
Как описано в объяснении кодера, 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
Четвертый вариант осуществления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
Состояние 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-
Согласно четвертому варианту осуществления в состоянии 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
Пятый вариант осуществления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
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-
Согласно третьему варианту осуществления меньшее из значений 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-
(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-
После установления predCurrIntraPredMode в результате процедуры блок 11 кодирования с переменной длиной слова выполняет оставшуюся процедуру кодирования для компонента C0, описанную согласно третьему варианту осуществления, для завершения кодирования (этапы S52, S58 и S64).After predCurrIntraPredMode is established as a result of the procedure, the variable-
Таким образом,In this way,
Таким же образом можно определить вышеописанную процедуру кодирования для режима интрапрогнозирования 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-
Следующее объяснение опирается на условие, что принят массив битовых потоков в формате, показанном на фиг.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
Согласно третьему варианту осуществления, как описано в объяснении кодера, меньшее из значений 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.
Таким же образом можно определить вышеописанную процедуру декодирования режима интрапрогнозирования 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
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-
Согласно третьему и пятому вариантам осуществления меньшее из значений 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
Прежде всего, блок 11 кодирования с переменной длиной слова представляет CurrIntraPredMode объекта кодирования в двоичном виде в соответствии с форматом, показанным на фиг.28 (этап S76). Первый участок двоичной последовательности представляет собой код для классификации CurrIntraPredMode в качестве прогнозирования в вертикальном направлении или прогнозирования в горизонтальном направлении (см. фиг.3). В этом примере DC прогнозирование (intra4×4_pred_mode=2) классифицируется как прогнозирование в горизонтальном направлении. Однако DC прогнозирование (intra4×4_pred_mode=2) можно классифицировать как прогнозирование в вертикальном направлении. Второй участок дает бит завершения значениям режима прогнозирования, которые, как считается, имеют наивысшую частоту появления в вертикальном направлении и горизонтальном направлении соответственно. Третий и последующие участки подвергаются конфигурированию кода с последующим завершением от единицы с наивысшей частотой появления среди остальных значений режима прогнозирования (второй и последующие участки конфигурации двоичной последовательности, показанной на фиг.28, желательно задавать согласно вероятности появления символов в процессе кодирования фактических данных изображения).First of all, the variable-
Блок 11 кодирования с переменной длиной слова выполняет арифметическое кодирование, последовательно выбирая для соответствующих участков двоичной последовательности (0,1) таблицы вероятности появления, подлежащие использованию. При кодировании первого участка блок 11 кодирования с переменной длиной слова устанавливает контекст, используемый для арифметического кодирования, следующим образом (этап S78).The variable-
Контекст 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.
Например, когда 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
Начальная таблица вероятности появления (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-
Таким же образом можно определить вышеописанную процедуру кодирования для режима интрапрогнозирования 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-
Следующее объяснение опирается на условие, что принят массив битовых потоков в формате, показанном на фиг.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
Согласно третьему и пятому вариантам осуществления, описанным в объяснении кодера, меньшее из значений 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-
Начальная таблица вероятности появления (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-
Таким же образом можно определить вышеописанную процедуру декодирования режима интрапрогнозирования 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.
На фиг.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
Прежде всего, блок 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
Видеокодер согласно седьмому варианту осуществления отличается изменением метода обработки прогнозирования для компенсации движения для трех цветовых компонентов на основании флага 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
Блок 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
Флаг 123 идентификации общего использования режима интерпрогнозирования, квантованный коэффициент преобразования 10, тип макроблока/тип субмакроблока 106, вектор движения 137, идентификационный номер опорного изображения и параметр квантования 21, введенные в блок 11 кодирования с переменной длиной слова, упорядочены и сформированы в виде битового потока в соответствии с заранее определенным правилом (синтаксисом) и выводятся в буфер передачи 17. Буфер передачи 17 сглаживает битовый поток согласно полосе линии передачи, к которой подключен кодер, и скорости чтения носителя записи и выводит битовый поток в качестве видеопотока 22. Буфер передачи 17 выводит информацию обратной связи на блок 19 управления кодированием согласно состоянию накопления битового потока в буфер передачи 17 и затем управляет объемом генерируемых кодов при кодировании видеокадров.Inter-prediction mode common
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
Прежде всего, блок 5 принятия решения относительно режима кодирования принимает флаг 123 идентификации общего использования режима интерпрогнозирования и принимает решение на основании значения флага 123 идентификации общего использования режима интерпрогнозирования, используются ли общий режим интерпрогнозирования, общий вектор движения 137 и общее опорное изображение для C0, C1 и C2 (этап S100 на фиг.33). Когда режим интерпрогнозирования, вектор движения 137 и опорное изображение используются совместно, блок 5 принятия решения относительно режима кодирования переходит к этапу S101 и последующим этапам. В противном случае блок 5 принятия решения относительно режима кодирования переходит к этапу S102 и последующим этапам.First of all, the
Когда режим интерпрогнозирования, вектор движения 137 и опорное изображение используются совместно для C0, C1 и C2, блок 5 принятия решения относительно режима кодирования извещает блок 102 прогнозирования компенсации движения обо всех режимах интерпрогнозирования, диапазонах поиска вектора движения и опорных изображениях, которые можно выбрать. Блок 102 прогнозирования компенсации движения оценивает эффективности прогнозирования для всех режимов интерпрогнозирования, диапазонов поиска вектора движения и опорных изображений и выбирает оптимальный режим интерпрогнозирования, оптимальный вектор движения 137 и оптимальные опорные изображения, общие для C0, C1 и C2 (этап S101).When the inter prediction mode,
Когда режим интерпрогнозирования, вектор движения 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
В качестве критериев для оценки эффективности прогнозирования для режима прогнозирования, осуществляемой в блоке 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
Когда кодер осуществляет обработку на этапе 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,
Массив данных битового потока на уровне макроблоков показан на фиг.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
Идентификационный номер опорного изображения - это информация для указания опорного изображения, выбранного для каждого блока, большего или равного размеру блока 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
Затем параметр квантования 21 и квантованный коэффициент преобразования 10 мультиплексируются. (Хотя флаг 24 управления разблокирующим фильтром, введенный в блок 11 кодирования с переменной длиной слова, показанный на фиг.30, не включен в фиг.34, флаг 24 управления разблокирующим фильтром опущен, поскольку флаг не является компонентом, необходимым для пояснения характеристик седьмого варианта осуществления.)Then, the
В формате 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
3. Описание работы декодера3. Description of the decoder
Декодер, показанный на фиг.31, принимает видеопоток 22, отвечающий массиву, показанному на фиг.34, выводимый из кодера, показанного на фиг.30, осуществляет обработку декодирования в единицах макроблоков, в которых три цветовых компонента имеют идентичный размер (формат 4:4:4), и восстанавливает соответствующие видеокадры.The decoder shown in Fig. 31 receives a
Сначала блок 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-
2. Обработка декодирования интерпрогнозирования в декодере2. Inter prediction decoding processing in a decoder
Декодер, показанный фиг.31, принимает видеопоток 22, отвечающий массиву, показанному на фиг.34, выводимый из кодера, показанного на фиг.30, осуществляет обработку декодирования в единицах макроблоков с идентичным размером (формат 4:4:4) для трех цветовых компонентов и восстанавливает соответствующие видеокадры.The decoder shown in Fig. 31 receives a
Ниже подробно описана обработка генерации интерпрогнозируемого изображения, которая является характеристикой декодера согласно седьмому варианту осуществления. Эта обработка осуществляется в единицах макроблоков, в которых размещены три цветовых компонента. Обработка осуществляется, в основном, блоком 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-
Видеопоток 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
Вариации массива данных битового потока, показанного на фиг.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
На фиг.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
Восьмой вариант осуществления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
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
Прежде всего, блок 5 принятия решения относительно режима кодирования принимает флаг 123b идентификации общего использования вектора движения и принимает решение на основании значения флага 123b идентификации общего использования вектора движения, используется ли общий вектор движения 137 для C0, C1 и C2 (этап S120 на фиг.37). При использовании общего вектора движения 137 блок 5 принятия решения относительно режима кодирования переходит к этапу S121 и последующим этапам. В противном случае блок 5 принятия решения относительно режима кодирования переходит к этапу S122 и последующим этапам.First of all, the coding
Когда вектор движения 137 используется совместно для C0, C1 и C2 блок 5 принятия решения относительно режима кодирования извещает блок 102 прогнозирования компенсации движения обо всех режимах интерпрогнозирования, диапазонах поиска вектора движения и опорных изображениях, которые можно выбрать. Блок 102 прогнозирования компенсации движения оценивает эффективности прогнозирования для всех режимов интерпрогнозирования, диапазонов поиска вектора движения и опорных изображений и выбирает оптимальный режим интерпрогнозирования, оптимальный вектор движения 137 и оптимальные опорные изображения, общие для C0, C1 и C2 (этап S121).When the
Когда вектор движения 137 не используется совместно для C0, C1 и C2 и наилучшие векторы движения выбираются для C0, C1 и C2 соответственно, блок 5 принятия решения относительно режима кодирования извещает блок 102 прогнозирования компенсации движения обо всех режимах интерпрогнозирования, диапазонах поиска вектора движения и опорных изображениях, которые можно выбрать. Блок 102 прогнозирования компенсации движения оценивает эффективности прогнозирования для всех режимов интерпрогнозирования, диапазонов поиска вектора движения и опорных изображений и выбирает оптимальный режим интерпрогнозирования и оптимальное опорное изображение (этап 122) и дополнительно оптимальный вектор движения в компонентах Ci (i<=0<3) (этапы S123, S124 и S125).When the
Необходимо мультиплексировать флаг 123b идентификации общего использования вектора движения в битовый поток и обеспечить возможность распознавания флага 123b идентификации общего использования вектора движения на стороне декодера. Массив данных такого битового потока показан на фиг.39.It is necessary to multiplex the motion vector common
Массив данных битового потока на уровне макроблоков показан на фиг.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
2. Обработка декодирования интерпрогнозирования в декодере2. Inter prediction decoding processing in a decoder
Декодер согласно восьмому варианту осуществления принимает видеопоток 22, отвечающий массиву, показанному на фиг.39, выводимый из кодера согласно восьмому варианту осуществления, осуществляет обработку декодирования в единицах макроблоков с идентичным размером (формат 4:4:4) для трех цветовых компонентов и восстанавливает соответствующие видеокадры.The decoder according to the eighth embodiment receives the
Обработка генерации интерпрогнозируемого изображения, которая является характеристикой декодера согласно восьмому варианту осуществления, будет подробно описана с упором на обработку, отличную от обработки согласно седьмому варианту осуществления. Эта обработка осуществляется в единицах макроблоков, в которых размещены три цветовых компонента. Обработка осуществляется, в основном, блоком 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-
Видеопоток 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
Вариации массива данных битового потока, показанного на фиг.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
Согласно фиг.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
Согласно восьмому варианту осуществления тип макроблока/тип субмакроблока 106 и опорное изображение являются общими для соответствующих цветовых компонентов, и только вектор движения 137 может варьироваться для каждого из цветовых компонентов. Следовательно, когда достаточная эффективность прогнозирования получается путем адаптации только вектора движения 137 к соответствующим цветовым компонентам, можно сократить биты служебной информации без мультиплексирования типа макроблока/типа субмакроблока 106 и идентификационного номера опорного изображения для каждого из цветовых компонентов.According to an eighth embodiment, the macroblock type /
Девятый вариант осуществления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 /
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
Прежде всего, блок 5 принятия решения относительно режима кодирования принимает флаг 123 идентификации общего использования режима интерпрогнозирования и принимает решение на основании значения флага 123 идентификации общего использования режима интерпрогнозирования, используются ли общий режим интерпрогнозирования, общий вектор движения 137 и общее опорное изображение для C0, C1 и C2 (этап S132 на фиг.43). Когда режим интерпрогнозирования, вектор движения 137 и опорное изображение используются совместно, блок 5 принятия решения относительно режима кодирования переходит к этапу S133 и последующим этапам. В противном случае блок 5 принятия решения относительно режима кодирования переходит к этапу S134 и последующим этапам или к этапу 137 и последующим этапам.First of all, the
Когда режим интерпрогнозирования, вектор движения 137 и опорное изображение используются совместно для C0, C1 и C2, блок 5 принятия решения относительно режима кодирования извещает блок 102 прогнозирования компенсации движения обо всех режимах интерпрогнозирования, диапазонах поиска вектора движения и опорных изображениях, которые можно выбрать. Блок 102 прогнозирования компенсации движения оценивает эффективности прогнозирования для всех режимов интерпрогнозирования, диапазонов поиска вектора движения и опорных изображений и выбирает оптимальный режим интерпрогнозирования, оптимальный вектор движения 137 и оптимальные опорные изображения, общие для C0, C1 и C2 (этап S133).When the inter prediction mode,
Когда режим интерпрогнозирования, вектор движения 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
Когда режим интерпрогнозирования, вектор движения 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,
Массив данных битового потока, выводимый кодером согласно девятому варианту осуществления, такой же, как показан на фиг.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
2. Обработка декодирования интерпрогнозирования в декодере2. Inter prediction decoding processing in a decoder
Декодер согласно девятому варианту осуществления принимает видеопоток 22, отвечающий массиву, показанному на фиг.34, выводимый из кодера согласно девятому варианту осуществления, осуществляет обработку декодирования в единицах макроблоков с идентичным размером (формат 4:4:4) для трех цветовых компонентов и восстанавливает соответствующие видеокадры.The decoder according to the ninth embodiment receives the
Обработка генерации интерпрогнозируемого изображения, которая является характеристикой декодера согласно девятому варианту осуществления, будет подробно описана с упором на обработку, отличную от обработки согласно седьмому варианту осуществления. Эта обработка осуществляется в единицах макроблоков, в которых размещены три цветовых компонента. Обработка осуществляется, в основном, блоком 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-
Видеопоток 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
Аналогично, в случае массива данных битового потока, показанного на фиг.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
Согласно девятому варианту осуществления тип макроблока/тип субмакроблока 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 /
Десятый вариант осуществленияTenth Embodiment
Согласно десятому варианту осуществления будут описаны способ кодирования вводимого вектора движения 137 и мультиплексирования вектора движения 137 в битовый поток в блоке 11 кодирования с переменной длиной слова кодера, описанном согласно седьмому варианту осуществления, и способ декодирования вектора движения 137 из битового потока в блоке 25 декодирования с переменной длиной слова декодера, соответствующего кодеру.According to a tenth embodiment, a method for encoding an
На фиг.45 показана схема структуры части блока 11 кодирования с переменной длиной слова кодера, показанного на фиг.30, который является блоком кодирования вектора движения, который кодирует вектор движения 137.On Fig shows a structural diagram of a part of the
Будет описан способ мультиплексирования векторов движения 137 трех цветовых компонентов (C0, C1 и C2) в битовый поток в порядке C0, C1 и C2.A method for multiplexing
Вектор движения 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
Вектор движения (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
Вектор движения (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
На фиг.47 показана схема структуры части блока 25 декодирования с переменной длиной слова кодера, показанного на фиг.31, который представляет собой блок 250 декодирования вектора движения, который декодирует вектор движения 137.FIG. 47 is a structural diagram of a portion of a variable-
В блоке 250 декодирования вектора движения векторы движения 137 трех цветовых компонентов, мультиплексированные на видеопоток 22, декодируются в порядке C0, C1 и C2.In motion
В блоке 251 декодирования разностного вектора движения с переменной длиной слова разностные векторы движения (mvd0, mvd1 и mvd2) трех цветовых компонентов (C0, C1 и C2), мультиплексированные на видеопоток 22, извлекаются и подвергаются декодированию с переменой длиной слова.In
В блоке 252 прогнозирования вектора движения вычисляются прогнозируемые векторы (mvp0, mvp1 и mvp2) векторов движения 137 для C0, C1 и C2. Метод вычисления прогнозируемых векторов такой же, как используется в блоке 111 прогнозирования вектора движения кодера.In motion
В блоке 253 вычисления вектора движения разностные векторы движения и прогнозируемые векторы суммируются для вычисления векторов движения (mvi=mvdi+mvpi (i=0, 1, 2)). Вычисленные векторы движения 137 хранятся в памяти 16 для использования в качестве прогнозируемых векторов-кандидатов.In
Согласно десятому варианту осуществления при кодировании и декодировании векторов движения вектор движения идентичного блока цветового компонента, соседствующего с блоком, где находится вектор движения, подлежащий кодированию, и векторы движения других блоков цветового компонента в той же позиции, как в блоке, где находится вектор движения, подлежащий кодированию, используются как прогнозируемые векторы-кандидаты. Таким образом, например, в отсутствие непрерывности вектора движения соседнего блока в идентичном цветовом компоненте в граничной области объекта и т.п. векторы движения блоков в одной и той же позиции разных цветовых компонентов используются в качестве прогнозируемых векторов-кандидатов. Это позволяет повысить эффективность прогнозирования вектора движения и сократить объем кодов вектора движения.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
В традиционной системе кодирования видеосигнала 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
С другой стороны, в кодере и декодере согласно одиннадцатому варианту осуществления предусмотрен способ изменения информации заголовка, включающей в себя вектор движения и т.п. для каждого из компонентов 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
Структура данных, кодированных в единицах макроблоков, выводимых кодером согласно одиннадцатому варианту осуществления и вводимых в декодер согласно одиннадцатому варианту осуществления, показана на фиг.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
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
Сначала блок 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-
Когда информация 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
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
Сначала блок 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-
Когда информация 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
Как и в седьмом варианте осуществления, декодирование соответствующих компонентов 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-
Операции на стороне декодера, в основном, описаны выше. Благодаря такому формированию битового потока получаются следующие эффекты. Прежде всего, в традиционном 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
Структура битового потока, обрабатываемого кодером и декодером согласно одиннадцатому варианту осуществления, может быть такой, как показано на фиг.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
Флаг 123c идентификации общего использования заголовка макроблока можно мультиплексировать в битовый поток в единицах данных произвольного уровня, например макроблока, среза, изображения или последовательности. При постоянном наличии различия в характеристике сигнала между цветовыми компонентами во входном сигнале, если флаг 123c идентификации общего использования заголовка макроблока мультиплексируется в единицах последовательности, можно осуществлять эффективное кодирование с меньшим объемом служебной информации. Если флаг 123c идентификации общего использования заголовка макроблока мультиплексируется на уровне изображения, можно ожидать эффект, например, улучшения баланса эффективности кодирования и объема арифметических операций с использованием общего заголовка в I изображении, имеющем небольшое количество вариаций типа макроблока, и с использованием отдельного заголовка для каждого из цветовых компонентов в изображениях P и B с большим количеством вариаций типа макроблока. Кроме того, можно сказать, что изменение на уровне изображения также желательно в отношении управления кодированием для видеосигнала, характеристика которого изменяется для каждого изображение, например смена сцены. Когда флаг 123c идентификации общего использования заголовка макроблока мультиплексируется в единицах макроблоков, объем кодов в расчете на один макроблок возрастает. С другой стороны, можно управлять, используется ли информация заголовка совместно, на основании состояний соответствующих цветовых компонентов сигнала в единицах макроблоков. Это позволяет построить кодер более удовлетворительно, который повышает эффективность сжатия, следуя локальной флуктуации сигнала изображения.The macroblock header common
Возможен следующий метод. Когда тип кодирования, эквивалентный типу изображения, изменяется на уровне среза, как в 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
Когда характеристики сигналов соответствующих срезов 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-
1. Обработка кодирования1. Coding processing
Внутренняя структура, относящаяся к обработке арифметического кодирования в блоке 11 кодирования с переменной длиной слова, показана на фиг.54. Последовательность операций обработки арифметического кодирования показана на фиг.55 и 56.An internal structure related to arithmetic encoding processing in the variable-
Блок 11 кодирования с переменной длиной слова согласно двенадцатому варианту осуществления включает в себя блок определения контекстуальной модели 11a, который устанавливает контекстуальные модели (описанные ниже), определенные для соответствующих типов данных, например, вектора движения 137, служащего данными объекта кодирования, идентификационного номера 132b опорного изображения, типа макроблока/типа субмакроблока 106, режима интрапрогнозирования 141 и квантованного коэффициента преобразования 10, блок 11b преобразования к двоичному виду, который преобразует многозначные данные в двоичные данные в соответствии с правилами преобразования к двоичному виду, установленными для соответствующих типов данных объекта кодирования, блок 11c генерации вероятности появления, который дает вероятности появления значений (0 или 1) соответствующих участков после преобразования к двоичному виду, блок кодирования 11d, который выполняет арифметическое кодирование на основании сгенерированных вероятностей появления, и память 11g, в которой хранится информация вероятности появления. На блок определения контекстуального режима 11a поступают различные данные, введенные в блок 11 кодирования с переменной длиной слова, в качестве данных объекта кодирования, например вектор движения 137, идентификационный номер 132b опорного изображения, тип макроблока/тип субмакроблока 106, режим интрапрогнозирования 141 и квантованный коэффициент преобразования 10. Выходные сигналы блока кодирования 11d эквивалентны информации, связанной с макроблоком видеопотока 22.The variable-
(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 /
(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
(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
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
Необходимо мультиплексировать флаг 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
(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
Внутренняя структура, связанная с обработкой арифметического декодирования в блоке 25 декодирования с переменной длиной слова показана на фиг.59. Последовательность операций обработки арифметического декодирования показана на фиг.60.An internal structure associated with arithmetic decoding processing in the variable-
Блок 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
(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
(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
Согласно кодеру и декодеру, включающим в себя обработку арифметического кодирования и обработку арифметического декодирования согласно вышеописанным конфигурациям, можно осуществлять более эффективное кодирование, когда кодируемая информация для каждого из цветовых компонентов адаптивно подвергается арифметическому кодированию согласно флагу 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
Хотя это конкретно не показано на фигурах, единицей мультиплексирования флага 143 идентификации общего использования параметра состояния вероятности появления может быть единица макроблока, единица среза, единица изображения или единица последовательности. Когда возможно обеспечить достаточную эффективность кодирования с изменением на более высоком уровне, равном или более высоком, чем уровень среза, путем мультиплексирования флага 143 идентификации общего использования параметра состояния вероятности появления как флага, расположенного на более высоком уровне данных, например, на уровне среза, изображения или последовательности, можно сократить биты служебной информации без мультиплексирования флага 143 идентификации общего использования параметра состояния вероятности появления на уровне макроблоков каждый раз при осуществлении обработки.Although not specifically shown in the figures, the unit for multiplexing the
Флагом 143 идентификации общего использования параметра состояния вероятности появления может быть информация, заданная внутри декодера, на основании соответствующей информации, включенной в битовый поток, отдельной от флага 143 идентификации общего использования параметра состояния вероятности появления.The occurrence probability state parameter common
Согласно двенадцатому варианту осуществления арифметическое кодирование флага 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
Значение 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
Согласно двенадцатому варианту осуществления в отношении информации заголовка, показанной на фиг.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
Из объяснения операций декодера согласно двенадцатому варианту осуществления очевидно, что контекстуальные модели задаются посредством одной и той же процедуры на стороне кодирования и на стороне декодирования для осуществления арифметического декодирования. После определения, к информации какого компонента относится контекстуальная модель, подлежащая использованию, обновление состояния вероятности появления, связанного с контекстуальной моделью, выполняется на основании состояния флага 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
Согласно двенадцатому варианту осуществления арифметическое кодирование, соответствующее распределениям вероятности появления для соответствующих данных объекта кодирования, также осуществляется для соответствующих данных коэффициентов преобразования компонентов 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
Тринадцатый вариант осуществления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
В качестве подготовленного метода преобразования цветового пространства, например, существуют преобразования, например преобразование из 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
, ,
прогнозирование между цветовыми компонентами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
Декодер согласно тринадцатому варианту осуществления включает в себя, помимо декодера 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
Согласно кодеру и декодеру согласно тринадцатому варианту осуществления оптимальная обработка преобразования для цветовых пространств применяется к видеосигналу, подлежащему кодированию на предварительном каскаде кодирования и последнем каскаде обработки декодирования для удаления корреляции, включенной в сигнал изображения, включающий в себя три цветовых компонента, до кодирования. Таким образом, можно осуществлять кодирование в состоянии сниженной избыточности и повышать эффективность сжатия. В традиционной стандартной системе кодирования, например 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
Тринадцатый вариант осуществления описан при условии, что блок 301 преобразования цветового пространства и блок 308 обратного преобразования цветового пространства всегда активированы. Однако без активации этих блоков обработки можно также принять конфигурацию для кодирования на более высоком уровне, например последовательности, информации, указывающей обеспечение совместимости с традиционным стандартом.A thirteenth embodiment is described provided that the color
Можно также построить блок 301 преобразования цветового пространства и блок 308 обратного преобразования цветового пространства согласно тринадцатому варианту осуществления в кодере и декодере согласно вариантам осуществления с седьмого по двенадцатый для осуществления преобразования цветового пространства на уровне разностного сигнала прогнозирования. Построенные таким образом кодер и декодер показаны на фиг.64 и фиг.65 соответственно. В кодере, показанном на фиг.64, вместо блока преобразования 8 обеспечен блок преобразования 310, и вместо блока обратного преобразования 13 обеспечен блок обратного преобразования 312. В декодере, показанном на фиг.65, вместо блока обратного преобразования 13 обеспечен блок обратного преобразования 312.It is also possible to construct a color
Прежде всего, как указано в виде обработки блока 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
В декодере блок 25 декодирования с переменной длиной слова извлекает информацию 311 идентификации метода преобразования цветового пространства из битового потока и передает результат извлечения на блок обратного преобразования 312 для осуществления такой же обработки, как обработка блока обратного преобразования 312 в кодере. При такой конфигурации, когда можно в достаточной степени удалить, в области прогнозируемой разности, оставшуюся корреляцию между цветовыми компонентами, можно выполнять удаление как часть обработки кодирования. Таким образом, достигается повышение эффективности кодирования. Однако когда отдельные заголовки макроблоков используются для компонентов C0, C1 и C2, прежде всего, метод прогнозирования меняется для каждого из компонентов, например интрапрогнозирование для компонента C0 и интерпрогнозирование для компонента C1. Таким образом, корреляция может менее легко поддерживаться в области разностного сигнала прогнозирования 4. Таким образом, когда отдельные заголовки макроблоков используются для компонентов C0, C1 и C2, блоку преобразования 310 и блоку обратного преобразования 312 можно предписывать не выполнять преобразование цветового пространства. Указание, выполняется ли преобразование цветового пространства в области разностного сигнала прогнозирования 4, может мультиплексироваться в битовый поток в качестве информации идентификации. Информацию 311 идентификации метода преобразования цветового пространства можно изменять в единицах последовательности, изображения, среза и макроблока.At the decoder, the variable-
В структурах кодера и декодера, показанных на фиг.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
Из объяснения операций декодера, согласно двенадцатому варианту осуществления очевидно, что контекстуальные модели задаются посредством одной и той же процедуры на стороне кодирования и на стороне декодирования для осуществления арифметического декодирования. После определения, к информации какого компонента относится контекстуальная модель, подлежащая использованию, обновление состояния вероятности появления, связанного с контекстуальной моделью, выполняется на основании состояния флага 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
Четырнадцатый вариант осуществления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
Предполагается, что заголовок макроблока согласно четырнадцатому варианту осуществления включает в себя: флаг идентификации размера блока преобразования, показанный на фиг.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
С другой стороны, когда сигнал 423 идентификации общего кодирования/независимого кодирования указывает "кодирование изображения посредством независимой обработки кодирования", одно изображение представляет собой видеосигнал для одного кадра любого из цветовых компонентов. В этом случае кодированные данные p-го блока доступа образуют набор данных среза Slice(p,q,r) q-го изображения в блоке доступа, и "r" - это индекс данных среза в одном изображении. В случае видеосигнала, образованного тремя цветовыми компонентами, например RGB, количество значений, которые может принимать "q", равно трем. В случае, например, когда дополнительные данные, например информация проницаемости для альфа-смешивания, кодируются и декодируются как идентичный блок доступа помимо видеосигнала, включающего в себя три главных цвета, или в случае кодиравания и декодирования видеосигнала, образованного цветовыми компонентами (например, YMCK, используемыми в цветной печати), в количестве, большем или равном четырем, количество значений, которые может принимать "q", задается равным четырем или более. При выборе независимой обработки кодирования кодер и декодер согласно четырнадцатому варианту осуществления кодируют соответствующие цветовые компоненты, образующие видеосигнал, полностью независимо друг от друга. Таким образом, можно свободно изменять количество фрагментов цветовых компонентов, в принципе, не изменяя обработку кодирования и декодирования. Это приводит к тому, что, даже когда формат сигнала для осуществления цветового представления видеосигнала изменится в будущем, это изменение можно будет согласовать с независимой обработкой кодирования согласно четырнадцатому варианту осуществления.On the other hand, when the common encoding / independent
Для реализации структуры согласно четырнадцатому варианту осуществления сигнал 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
На фиг.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
Для выполнения общей обработки кодирования первый блок 503a кодирования изображения делит входной видеосигнал 1 на макроблоки в группе выборок трех цветовых компонентов, как показано на фиг.66, и продвигает обработку кодирования в этой единице. Обработка кодирования в первом блоке 503a кодирования изображения будет описана ниже. При выборе независимой обработки кодирования входной видеосигнал 1 делится на данные для одного кадра C0, C1 и C2 в блоке 502 разделения цветовых компонентов и поступает на соответствующие вторые блоки 503b0-503b2 кодирования изображения соответственно. Вторые блоки 503b0-503b2 кодирования изображения делят сигнал для одного кадра, разделенного для каждого цветового компонента, на макроблоки в формате, показанном на фиг.67, и продвигают обработку кодирования в этой единице. Обработка кодирования во вторых блоках кодирования изображения будет описана ниже.To perform general encoding processing, the first
Видеосигнал для одного изображения, состоящий из трех цветовых компонентов, вводится в первый блок 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
При мультиплексировании видеопотока 422c в блоке доступа в случае, когда осуществляется независимая обработка кодирования, можно перемежать данные среза, мультиплексируемые и передаваемые в битовом потоке между изображениями (соответствующими цветовыми компонентами) в блоке доступа (фиг.72). В этом случае на стороне декодера необходимо решать, какому цветовому компоненту в блоке доступа принадлежат принятые данные среза. Таким образом, используется флаг идентификации цветового компонента, мультиплексированный с областью заголовка в верхней части данных среза, как показано на фиг.70.When multiplexing the
Благодаря структуре наподобие структуры кодера, показанного на фиг.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
Прежде всего, блок прогнозирования 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
Блок прогнозирования 461 выполняет для каждого размера макроблока обработку прогнозирования для компенсации движения на всех или части размеров блока, размеров подблока, векторов движения в заранее определенном диапазоне поиска и одном или нескольких используемых опорных изображений. Блок прогнозирования 461 получает дифференциальный сигнал прогнозирования для каждого блока, служащего блоком прогнозирования компенсации движения с использованием векторов движения, и идентификационный номер опорного изображения 463 и вычитатель 3, используемый для прогнозирования. Эффективность прогнозирования дифференциального сигнала прогнозирования 4 оценивается в блоке 5 принятия решения относительно режима кодирования. Блок 5 принятия решения относительно режима кодирования выводит тип макроблока/тип субмакроблока 106 и вектор движения/информацию 463 идентификации опорного изображения, при которых достигается оптимальная эффективность прогнозирования для макроблока, подлежащего прогнозированию, из обработки прогнозирования, выполняемой в блоке прогнозирования 461. Все фрагменты информации заголовка макроблока, например типы макроблока, типы субмакроблока, индексы опорного изображения и векторы движения, определяются как информация заголовка, общая для трех цветовых компонентов, используемая для кодирования, и мультиплексируются с битовым потоком. При оценке оптимальности эффективности прогнозирования в целях управления объемом арифметической операции можно оценивать величину ошибки прогнозирования для заранее определенного цветового компонента (например, компонента G сигнала RGB или Y компонента сигнала YUV). Альтернативно, хотя объем арифметической операции возрастает, для получения оптимальной производительности прогнозирования, величину ошибки прогнозирования для всех цветовых компонентов можно полностью оценить. При окончательном выборе типа макроблока/типа субмакроблока 106 можно учитывать весовой коэффициент 20 для каждого типа, определенного при принятии решения блоком 19 управления кодированием.
Аналогично, блок прогнозирования 461 также выполняет интрапрогнозирование. При выполнении интрапрогнозирования информация режима интрапрогнозирования выводится в виде выходного сигнала 463. В нижеследующем объяснении, когда интрапрогнозирование и прогнозирование с компенсацией движения конкретно не различаются, в качестве выходного сигнала 463, информация режима интрапрогнозирования, информация вектора движения, идентификационный номер опорного изображения совместно называются служебной информацией прогнозирования. Что касается интрапрогнозирования, можно оценить величину ошибки прогнозирования только для заранее определенного цветового компонента или можно полностью оценить величину ошибки прогнозирования для всех цветовых компонентов. Наконец, блок прогнозирования 461 выбирает интрапрогнозирование или интерпрогнозирование типа макроблока, оценивая тип макроблока согласно эффективности прогнозирования или эффективности кодирования в блоке 5 принятия решения относительно режима кодирования.Similarly,
Блок прогнозирования 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
Квантованный коэффициент преобразования 10, тип макроблока/тип субмакроблока 106, служебная информация прогнозирования 463 и параметр квантования 21, введенные в блок 11 кодирования с переменной длиной слова, упорядочиваются и формируются в виде битового потока в соответствии с заранее определенным правилом (синтаксисом) и выводятся в буфер передачи 17 в качестве кодированных данных блока NAL в единицах данных среза в одной или группе из совокупности макроблоков в формате, показанном на фиг.66. Буфер передачи 17 сглаживает битовый поток согласно полосе линии передачи, к которой подключен кодер, и скорости чтения носителя записи и выводит битовый поток в качестве видеопотока 422a. Буфер передачи 17 применяет обратную связь к блоку 19 управления кодированием согласно состоянию накопления битовых потоков в буфере передачи 17 и регулирует объем генерируемых кодов при следующем кодировании видеокадров.The quantized
Выходной сигнал первого блока 503a кодирования изображения представляет собой срез единицы трех компонентов и эквивалентен объему кодов в единицах группы блоков доступа. Таким образом, буфер передачи 17 можно размещать в блоке мультиплексирования 504 как есть.The output of the first
В первом блоке 503a кодирования изображения согласно четырнадцатому варианту осуществления можно принимать решение, что все данные среза в последовательности представляют собой срез, в котором C0, C1 и C2 смешаны (т.е. срез, в котором фрагменты информации трех цветовых компонентов смешаны) согласно сигналу 423 идентификации общего кодирования/независимого кодирования. Таким образом, флаг идентификации цветового компонента не мультиплексируется с заголовком среза.In the first
Описание работы второго блока кодирования изображения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
Блок прогнозирования 461 выполняет для каждого размера макроблока обработку прогнозирования для компенсации движения на всех или части размеров блока, размеров подблока, векторов движения в заранее определенном диапазоне поиска и одном или нескольких используемых опорных изображений. Блок прогнозирования 461 получает дифференциальный сигнал прогнозирования 4 для каждого блока, служащего блоком прогнозирования компенсации движения с использованием векторов движения, и идентификационный номер опорного изображения 463 и вычитатель 3, используемый для прогнозирования. Эффективность прогнозирования дифференциального сигнала прогнозирования 4 оценивается в блоке 5 принятия решения относительно режима кодирования. Блок 5 принятия решения относительно режима кодирования выводит тип макроблока/тип субмакроблока 106 и информацию вектора движения/идентификационный номер 463 опорного изображения, при которых достигается оптимальная эффективность прогнозирования для макроблока, подлежащего прогнозированию, из обработки прогнозирования, выполняемой в блоке прогнозирования 461. Все фрагменты информации заголовка макроблока, например типы макроблока, типы субмакроблока, индексы опорного изображения и векторы движения, определяются как информация заголовка в отношении одного цветового компонента входного видеосигнала 1, используемая для кодирования, и мультиплексируются с битовым потоком. При оценке оптимальности эффективности прогнозирования оценивается только величина ошибки прогнозирования для одного цветового компонента, подлежащего обработке кодирования. При окончательном выборе типа макроблока/типа субмакроблока 106 можно учитывать весовой коэффициент 20 для каждого типа, определенного при принятии решения блоком 19 управления кодированием.
Аналогично, блок прогнозирования 461 также выполняет интрапрогнозирование. Во время выполнения интрапрогнозирования информация режима интрапрогнозирования выводится в виде выходного сигнала 463. В нижеследующем объяснении, когда интрапрогнозирование и прогнозирование с компенсацией движения конкретно не различаются, выходной сигнал 463 называется служебной информацией прогнозирования, включающей в себя информацию режима интрапрогнозирования, векторы движения и идентификационный номер опорного изображения. Кроме того, в отношении интрапрогнозирования оценивается только величина ошибки прогнозирования для одного цветового компонента, подлежащего обработке кодирования. Наконец, блок прогнозирования 461 выбирает интрапрогнозирование или интерпрогнозирование типа макроблока, оценивая тип макроблока согласно эффективности прогнозирования или эффективности кодирования.Similarly,
Блок прогнозирования 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
Квантованный коэффициент преобразования 10, тип макроблока/тип субмакроблока 106, служебная информация прогнозирования 463 и параметр квантования 21, введенные в блок 11 кодирования с переменной длиной слова, упорядочиваются и формируются в виде битового потока в соответствии с заранее определенным правилом (синтаксисом) и выводятся в буфер передачи 17 в качестве кодированных данных блока NAL в единицах данных среза в одной или группе из совокупности макроблоков в формате, показанном на фиг.67. Буфер передачи 17 сглаживает битовый поток согласно полосе линии передачи, к которой подключен кодер, и скорости чтения носителя записи и выводит битовый поток в качестве видеопотока 422b0 (422b1, 422b2). Буфер передачи 17 применяет обратную связь к блоку 19 управления кодированием согласно состоянию накопления битовых потоков в буфере передачи 17 и регулирует объем генерируемых кодов при следующем кодировании видеокадров.The quantized
Выход каждого из вторых блоков 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
Во вторых блоках 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 /
Сигнал идентификации общего кодирования/независимого кодирования (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
Хотя на фигуре это не показано, в кодере согласно четырнадцатому варианту осуществления, предполагая наличие буфера мнимого потока (буфера изображения для кодирования), который буферизует видеопоток 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
Операции буфера изображения для кодирования осуществляются в единицах блоков доступа. Как описано выше, при осуществлении общей обработки декодирования кодированные данные одного изображения включаются в один блок доступа. При осуществлении независимой обработки декодирования кодированные данные изображения для количества цветовых компонентов (для трех изображений в случае трех компонентов) включаются в один блок доступа. Операции, заданные для буфера изображения для кодирования, - это время, когда первый бит и последний бит блока доступа вводятся в буфер изображения для кодирования, и время, когда бит блока доступа считывается из буфера изображения для кодирования. По определению, считывание из буфера изображения для кодирования осуществляется мгновенно. Предполагается, что все биты блока доступа считываются из буфера изображения для кодирования одновременно. Когда бит блока доступа считывается из буфера изображения для кодирования, бит вводится в блок анализа верхнего заголовка. Как описано выше, бит подвергается обработке декодирования в первом блоке декодирования изображения или втором блоке декодирования изображения и выводится как цветовой видеокадр, связанный в единицах блока доступа. Обработка от считывания бита из буфера изображения для кодирования и вывода изображения в качестве цветового видеокадра в единицах блоков доступа осуществляется мгновенно согласно определению модели мнимого буфера. Цветовой видеокадр, построенный в единицах блоков доступа, вводится в буфер изображения для декодирования, и вычисляется время вывода цветового видеокадра из буфера изображения для декодирования. Время вывода из буфера изображения для декодирования - это значение, вычисленное путем сложения заранее определенного времени задержки со временем чтения из буфера изображения для кодирования. Это время задержки можно мультиплексировать с битовым потоком для управления декодером. Когда время задержки равно 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
Видеопоток 422c делится на единицы блоков NAL в блоке 610 анализа верхнего заголовка. Информация верхнего заголовка, например набор параметров последовательности и набор параметров изображения, декодируется как есть и сохраняется в заранее определенной области памяти, к которой первый блок 603a декодирования изображения, блок 602 принятия решения относительно цветового компонента и вторые блоки 603b0-603b2 декодирования изображения способны обращаться за информацией верхнего заголовка. Сигнал 423 идентификации общего кодирования/независимого кодирования (num_pictures_in_au), мультиплексированный в единицах последовательностей, декодируется и поддерживается как часть информации верхнего заголовка.The
Декодированный 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
Блок 602 принятия решения относительно цветового компонента принимает решение, какому изображению цветового компонента в текущем блоке доступа соответствует блок NAL среза, согласно значению флага идентификации цветового компонента, показанного на фиг.70, и распределяет и подает блок NAL среза на соответствующие вторые блоки 603b0-603b2 декодирования изображения. При такой структуре декодера получается, что, даже если принимается битовый поток, полученный перемежением и кодированием среза в блоке доступа, как показано на фиг.72, можно легко принять решение, какой срез принадлежит какому изображению цветового компонента, и правильно декодировать битовый поток.The
Описание работы первого блока декодирования изображения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
Видеопоток 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
Описание работы второго блока декодирования изображения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
Видеопоток 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
Как следует из вышесказанного, первый блок 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
Очевидно, что декодер, показанный на фиг.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
Сигнал идентификации общего кодирования/независимого кодирования (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
В первом блоке 503a кодирования изображения согласно четырнадцатому варианту осуществления фрагменты информации трех цветовых компонентов смешиваются в данных среза, и полностью идентичная обработка интра/интерпрогнозирования применяется к трем цветовым компонентам. Соответственно, корреляция сигнала между цветовыми компонентами может оставаться в пространстве сигнала ошибки прогнозирования. В качестве средства удаления корреляции сигнала к сигналу ошибки прогнозирования может применяться, например, обработка преобразования цветового пространства, описанная согласно тринадцатому варианту осуществления. Примеры первого блока 503a кодирования изображения, имеющего такую структуру, показаны на фиг.78 и 79. На фиг.78 показан пример, в котором обработка преобразования цветового пространства осуществляется на пиксельном уровне до осуществления обработки преобразования. Блок 465 преобразования цветового пространства размещен до блока преобразования 310, и блок 466 обратного преобразования цветового пространства размещен после блока обратного преобразования 312. На фиг.79 показан пример, в котором обработка преобразования цветового пространства осуществляется, в то время как частотный компонент, подлежащий обработке, надлежащим образом выбирается в отношении данных коэффициентов, полученных после осуществления обработки преобразования. Блок 465 преобразования цветового пространства расположен после блока преобразования 310, и блок 466 обратного преобразования цветового пространства расположен до блока обратного преобразования 312. Это позволяет регулировать высокочастотный шумовой компонент, включенный в конкретный цветовой компонент, чтобы он не распространялся на другие цветовые компоненты, вряд ли включающие в себя шум. Когда частотный компонент, подлежащий обработке преобразования цветового пространства, сделан адаптивно выбираемым, фрагменты информации сигнализации 467 для принятия решения относительно выбора времени кодирования мультиплексируются с битовым потоком на стороне декодирования.In the first
При обработке преобразования цветового пространства совокупность системных преобразований, описанных согласно тринадцатому варианту осуществления, может переключаться в единицах макроблоков и использоваться согласно характеристике сигнала изображения, подлежащего кодированию, или принятие решения относительно наличия или отсутствия преобразования может осуществляться в единицах макроблоков. Можно также заранее указывать типы выбираемых систем преобразования на уровне последовательностей и указывать систему преобразования, подлежащую выбору, в единицах изображения, среза, макроблока и т.п. Можно выбирать, осуществляется ли обработка преобразования цветового пространства до преобразования или после преобразования. При осуществлении этих разновидностей адаптивной обработки кодирования можно осуществлять оценку эффективности кодирования для всех вариантов выбора с помощью блока 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
Декодеры, соответствующие кодерам, показанным на фиг.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-
В декодерах, показанных на фиг.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
Структура кодированных данных информации заголовка макроблока, включенной в битовый поток в традиционном формате 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
Ниже объяснены операции декодера для обеспечения совместимости традиционного формата 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
Ниже объяснены операции первого блока декодирования изображения и блока 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
Внутренняя структура блока прогнозирования 461 первого блока декодирования изображения, которая обеспечивает совместимость традиционного формата YUV 4:2:0 с битовым потоком, показана на фиг.83. Ниже объяснены операции блока прогнозирования.The internal structure of the
Блок переключения 4611a принимает решение относительно типа макроблока. Когда тип макроблока указывает интрапрогнозирование, блок переключения 4611b принимает решение относительно значения флага индикации формата цветоразностного сигнала. Когда значение флага индикации формата цветоразностного сигнала указывает 4:2:0 или 4:2:2, блок прогнозирования получает прогнозируемое изображение 7 для трех компонентов из служебной информации прогнозирования в соответствии с информацией режима интрапрогнозирования и информацией режима интрапрогнозирования цветоразностного сигнала. Прогнозируемое изображение сигнала яркости среди трех компонентов генерируется в блоке 4612 интрапрогнозирования сигнала яркости в соответствии с информацией режима интрапрогнозирования. Прогнозируемое изображение цветоразностного сигнала двух компонентов генерируется в блоке 4613 интрапрогнозирования цветоразностного сигнала, который осуществляет обработку, отличную от обработки компонента яркости, в соответствии с информацией режима интрапрогнозирования цветоразностного сигнала. Когда значение флага индикации формата цветоразностного сигнала указывает 4:4:4, прогнозируемые изображения всех трех компонентов генерируются в блоке 4612 интрапрогнозирования сигнала яркости в соответствии с информацией режима интрапрогнозирования. Когда значение флага индикации формата цветоразностного сигнала указывает 4:0:0, поскольку формат 4:0:0 образован только сигналом яркости (одним компонентом), только прогнозируемое изображение сигнала яркости генерируется в блоке 4612 интрапрогнозирования сигнала яркости в соответствии с информацией режима интрапрогнозирования.The
Когда тип макроблока указывает интерпрогнозирование в блоке переключения 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
Как описано выше, обеспечено средство генерации прогнозируемого изображения цветоразностного сигнала в традиционном формате 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
Пятнадцатый вариант осуществления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. 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.
блок декодирования, который декодирует информацию идентификации режима прогнозирования общего использования, указывающую, какой из общего режима прогнозирования и отдельного режима прогнозирования используется для соответствующих цветовых компонентов, образующих входной сигнал изображения, и декодирует режимы прогнозирования соответствующих цветовых компонентов на основании значения информации идентификации режима прогнозирования общего использования, и
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение на основании режимов прогнозирования, декодированных блоком декодирования, причем
блок декодирования осуществляет декодирование данных изображения на основании прогнозируемого изображения, сгенерированного блоком генерации прогнозируемого изображения.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.
генерируют прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения,
оценивают эффективность прогнозирования сгенерированного прогнозируемого изображения для принятия решения относительно заранее определенного режима прогнозирования, принимают решение, на основании заранее определенного сигнала, какой из общего режима прогнозирования и отдельного режима прогнозирования используется для соответствующих цветовых компонентов, образующих входной сигнал изображения,
и мультиплексируют информацию о сигнале управления в битовый поток, мультиплексируют, когда используется общий режим прогнозирования, информацию общего режима прогнозирования в битовый поток и мультиплексируют, когда общий режим прогнозирования не используется, информацию режима прогнозирования для каждого из цветовых компонентов в битовый поток, и
подвергают выходной сигнал, полученный на этапе принятия решения и мультиплексирования, кодированию с переменной длиной слова.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. 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. 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. 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. 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.
блок декодирования режима прогнозирования, который декодирует режимы прогнозирования, по отдельности закодированные для соответствующих цветовых компонентов, образующих входной сигнал изображения,
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения, и
блок декодирования, который генерирует, на основании режимов прогнозирования соответствующих цветовых компонентов, установленных блоком декодирования режима прогнозирования, прогнозируемое изображение с помощью блока генерации прогнозируемого изображения для осуществления декодирования данных изображения, причем
блок декодирования режима прогнозирования выбирает, при декодировании режима прогнозирования, выделенного определенному блоку прогнозирования, информацию режима прогнозирования вблизи идентичного цветового компонента или информацию режима прогнозирования, выделенную блокам прогнозирования в идентичной позиции на экране, разных цветовых компонентов и устанавливает прогнозируемое значение режима прогнозирования для осуществления декодирования.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.
генерируют прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения,
оценивают эффективность прогнозирования сгенерированного прогнозируемого изображения для принятия решения относительно заранее определенного режима прогнозирования и по отдельности осуществляют принятие решения относительно режима прогнозирования для каждого из цветовых компонентов в единицах областей изображения объекта прогнозирования, и
подвергают выходной сигнал, полученный на этапе осуществления принятия решения относительно режима прогнозирования, кодированию с переменной длиной слова, выбирают информацию режима прогнозирования вблизи области изображения для идентичного цветового компонента или информацию режима прогнозирования в позиции на экране, идентичной области изображения в другом цветовом компоненте для задания прогнозируемых значений режимов прогнозирования и осуществления кодирования информации режима прогнозирования.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. 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. 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. 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. 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.
блок декодирования режима прогнозирования, который декодирует режимы прогнозирования, по отдельности закодированные для соответствующих цветовых компонентов, образующих входной сигнал изображения,
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения, и
блок декодирования, который генерирует прогнозируемое изображение с помощью блока генерации прогнозируемого изображения на основании режимов прогнозирования соответствующих цветовых компонентов, установленных блоком декодирования режима прогнозирования для осуществления декодирования данных изображения, причем
блок декодирования режима прогнозирования обращается, при декодировании режима прогнозирования, выделенного определенному блоку прогнозирования, к поисковой таблице, полученной табулированием комбинаций состояний совокупности фрагментов информации режима прогнозирования вблизи области изображения для идентичного цветового компонента и прогнозируемых значений для режимов прогнозирования объекта кодирования, для уникального задания прогнозируемого значения информации режима прогнозирования из состояний совокупности фрагментов информации режима прогнозирования вблизи области изображения и осуществления кодирования.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.
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения,
блок принятия решения относительно режима прогнозирования, который оценивает эффективность прогнозирования прогнозируемого изображения, выводимого из блока генерации прогнозируемого изображения, для принятия решения относительно заранее определенного режима прогнозирования, и
блок кодирования режима прогнозирования, который подвергает выходной сигнал блока принятия решения относительно режима прогнозирования кодированию с переменной длиной слова, причем
блок принятия решения относительно режима прогнозирования по отдельности осуществляет принятие решения относительно режима прогнозирования для каждого из цветовых компонентов в единицах областей изображения объекта прогнозирования, и
блок кодирования режима прогнозирования изменяет значение режима прогнозирования объекта кодирования в двоичную последовательность и, при кодировании соответствующих участков двоичной последовательности, осуществляет арифметическое кодирование, динамически изменяя вероятность появления согласно контексту, установленному согласно состояниям совокупности фрагментов информации режима прогнозирования вблизи области изображения для идентичного цветового компонента.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.
блок декодирования режима прогнозирования, который декодирует режимы прогнозирования, по отдельности закодированные для соответствующих цветовых компонентов, образующих входной сигнал изображения,
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения, и
блок декодирования, который генерирует прогнозируемое изображение с помощью блока генерации прогнозируемого изображения на основании режимов прогнозирования соответствующих цветовых компонентов, установленных блоком декодирования режима прогнозирования для осуществления декодирования данных изображения, причем
блок декодирования режима прогнозирования осуществляет, при декодировании режима прогнозирования, выделенного определенному блоку прогнозирования, арифметическое декодирование, динамически изменяя вероятность появления согласно контексту, установленному согласно состояниям совокупности фрагментов, информации режима прогнозирования вблизи области изображения для идентичного цветового пространства, при декодировании значения режима прогнозирования объекта декодирования, представленного двоичной последовательностью, для каждого участка двоичной последовательности.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.
генерируют прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения,
оценивают эффективность прогнозирования сгенерированного прогнозируемого изображения для принятия решения относительно заранее определенного режима прогнозирования и по отдельности осуществляют принятие решения относительно режима прогнозирования для каждого из цветовых компонентов в единицах областей изображения объекта прогнозирования, и
подвергают выходной сигнал, полученный на этапе осуществления принятия решения относительно режима прогнозирования, кодированию с переменной длиной слова и обращаются к поисковой таблице, полученной табулированием комбинаций состояний совокупности фрагментов информации режима прогнозирования вблизи области изображения для идентичного цветового компонента и прогнозируемых значений для режимов прогнозирования объекта кодирования, для уникального задания прогнозируемого значения информации режима прогнозирования из состояний совокупности фрагментов информации режима прогнозирования вблизи области изображения и осуществления кодирования.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. 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. 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. 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. 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. 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. 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. 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. 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.
блок декодирования, который декодирует информацию идентификации режима прогнозирования общего использования, указывающую, используются ли общий режим прогнозирования, идентификационный номер общего опорного изображения и общий вектор движения для соответствующих компонентов, образующих входной сигнал изображения, или используются отдельный режим прогнозирования, отдельный идентификационный номер и отдельный вектор движения для каждого из цветовых компонентов, и декодирует режимы прогнозирования, идентификационные номера опорного изображения и векторы движения соответствующих цветовых компонентов на основании значения информации идентификации режима прогнозирования общего использования, и
блок генерации прогнозируемого изображения, который генерирует прогнозируемое изображение на основании прогнозируемых режимов, идентификационных номеров опорного изображения и векторов движения, декодированных блоком декодирования, причем
блок декодирования осуществляет декодирование данных изображения на основании прогнозируемого изображения, сгенерированного блоком генерации прогнозируемого изображения.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.
генерируют прогнозируемое изображение в соответствии с совокупностью режимов прогнозирования, указывающих метод генерации прогнозируемого изображения, совокупностью идентификационных номеров опорных изображений и совокупностью векторов движения,
оценивают эффективность прогнозирования сгенерированного прогнозируемого изображения для принятия решения относительно заранее определенного режима прогнозирования, заранее определенного идентификационного номера опорного изображения и заранее определенного вектора движения, принимают решение, на основании заранее определенного сигнала управления, используются ли общий режим прогнозирования, идентификационный номер общего опорного изображения и общий вектор движения для соответствующих цветовых компонентов, образующих входной сигнал изображения, или используются отдельный режим прогнозирования, идентификационный номер отдельного опорного изображения и отдельный вектор движения для каждого из цветовых компонентов, и мультиплексируют информацию о сигнале управления в битовый поток, мультиплексируют, когда используются общий режим прогнозирования, идентификационный номер общего опорного изображения и общий вектор движения, информацию общего режима прогнозирования, идентификационного номера общего опорного изображения и общего вектора движения в битовый поток и мультиплексируют, когда общий режим прогнозирования, идентификационный номер общего опорного изображения и общий вектор движения не используются, информацию режима прогнозирования, идентификационного номера опорного изображения и вектора движения для каждого из цветовых компонентов в битовый поток, и
подвергают выходной сигнал, полученный на этапе принятия решения, кодированию с переменной длиной слова.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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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.
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 | ||
JP2005294767 | 2005-10-07 | ||
JP2005-294767 | 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)
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)
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 |
RU2646340C2 (en) * | 2012-09-28 | 2018-03-02 | Сони Корпорейшн | Coding device and method, decoding device and method |
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 |
JP6270861B2 (en) * | 2012-11-08 | 2018-01-31 | キヤノン株式会社 | Method, apparatus and system for encoding and decoding transform units of a coding unit |
Family Cites Families (2)
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 |
-
2006
- 2006-06-16 RU RU2008106777/09A patent/RU2368095C1/en active
-
2009
- 2009-03-16 RU RU2009109435/09A patent/RU2426269C2/en active
-
2010
- 2010-09-17 RU RU2010138601/07A patent/RU2502216C2/en active
Non-Patent Citations (1)
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)
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 |
US8842925B2 (en) | 2009-10-30 | 2014-09-23 | 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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
RU2627109C2 (en) * | 2012-04-23 | 2017-08-03 | Сан Пэтент Траст | Method of coding, decoding method, coding device, decoding device and coding and decoding device |
US11375195B2 (en) | 2012-06-08 | 2022-06-28 | 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 |
US10212425B2 (en) | 2012-06-08 | 2019-02-19 | 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 |
US10812800B2 (en) | 2012-06-08 | 2020-10-20 | Sun Patent Trust | Arithmetic coding for information related to sample adaptive offset processing |
US10542290B2 (en) | 2012-06-27 | 2020-01-21 | Sun Patent Trust | Image decoding method and image decoding apparatus for sample adaptive offset information |
US10063862B2 (en) | 2012-06-27 | 2018-08-28 | 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 |
RU2502216C2 (en) | 2013-12-20 |
RU2010138601A (en) | 2012-03-27 |
RU2008106777A (en) | 2009-08-27 |
RU2009109435A (en) | 2010-09-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 |