RU2758583C1 - Image encoding device, image encoding method, image decoding device, image decoding method and program - Google Patents
Image encoding device, image encoding method, image decoding device, image decoding method and program Download PDFInfo
- Publication number
- RU2758583C1 RU2758583C1 RU2021109864A RU2021109864A RU2758583C1 RU 2758583 C1 RU2758583 C1 RU 2758583C1 RU 2021109864 A RU2021109864 A RU 2021109864A RU 2021109864 A RU2021109864 A RU 2021109864A RU 2758583 C1 RU2758583 C1 RU 2758583C1
- Authority
- RU
- Russia
- Prior art keywords
- block
- line
- quantization parameter
- decoding
- processing
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 37
- 238000013139 quantization Methods 0.000 claims abstract description 267
- 230000008569 process Effects 0.000 claims description 6
- 238000000605 extraction Methods 0.000 claims 14
- 239000000284 extract Substances 0.000 claims 2
- 239000000126 substance Substances 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 14
- 238000004590 computer program Methods 0.000 description 13
- 230000006870 function Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
- H04N19/197—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
- H04N19/126—Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/436—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Abstract
Description
ОБЛАСТЬ ТЕХНИКИFIELD OF TECHNOLOGY
Настоящее изобретение имеет отношение к устройству кодирования изображения, способу кодирования изображения, устройству декодирования изображения, способу декодирования изображения и программе и, в частности, к способу для кодирования/декодирования параметра квантования в изображении.The present invention relates to an image encoding apparatus, an image encoding method, an image decoding apparatus, an image decoding method and a program, and in particular to a method for encoding / decoding a quantization parameter in an image.
УРОВЕНЬ ТЕХНИКИLEVEL OF TECHNOLOGY
Стандарт H.264/ MPEG-4 AVC (именуемый в дальнейшем "H.264") известен как способ кодирования для использования при сжатии и записи динамического изображения (ITU-T H.264 (03/2010), Advanced video coding for generic audiovisual services (Усовершенствованное видеокодирование для универсальных аудиовизуальных сервисов)). В соответствии с H.264 разность параметра квантования с блоком, кодированным непосредственно перед текущим блоком, кодируется как информация mb_qp_delta, посредством чего параметр квантования каждого блока может являться произвольным значением.The H.264 / MPEG-4 AVC standard (hereinafter referred to as "H.264") is known as a coding method for use in compressing and recording a dynamic image (ITU-T H.264 (03/2010), Advanced video coding for generic audiovisual services (Advanced Video Coding for Universal Audiovisual Services)). In accordance with H.264, the difference of the quantization parameter with the block encoded immediately before the current block is encoded as mb_qp_delta information, whereby the quantization parameter of each block can be an arbitrary value.
Затем она кодируется с использованием традиционного метода двоичного арифметического кодирования, принятого в H.264. Более определенно, каждый синтаксический элемент, такой как описанная выше информация mb_qp_delta, преобразуется в двоичную форму, в результате чего формируется двоичный сигнал. Каждому синтаксическому элементу заранее назначается вероятность возникновения в виде таблицы (именуемой в дальнейшем "таблицей вероятности возникновения"). Описанный выше двоичный сигнал арифметически кодируется на основе таблицы вероятности возникновения. Затем, каждый раз, когда кодируется двоичный сигнал, таблица вероятности возникновения обновляется на основе статистической информации, указывающей, является ли кодированный двоичный сигнал наиболее вероятным символом.It is then encoded using the traditional H.264 binary arithmetic coding method. More specifically, each syntax element, such as the above-described mb_qp_delta information, is converted to a binary form, resulting in a binary signal. Each syntax element is pre-assigned a probability of occurrence in the form of a table (hereinafter referred to as a "probability table"). The above-described binary signal is arithmetically coded based on an occurrence probability table. Then, each time a binary signal is encoded, the occurrence probability table is updated based on statistical information indicating whether the encoded binary signal is the most likely symbol.
В последние годы началась деятельность по стандартизации еще более эффективной технологии кодирования в качестве преемника H.264, и между Международной организацией по стандартизации/Международной электротехнической комиссией (ISO/IEC) и сектором телекоммуникаций Международного союза электросвязи (ITU-T) была учреждена Совместная группа по видеокодированию (JCT-VC). Группа JCT-VC стандартизировала технологию кодирования под названием "видеокодирование высокой производительности" (именуемую в дальнейшем "HEVC").In recent years, work has begun to standardize an even more efficient coding technology as the successor to H.264, and a Joint Group on video coding (JCT-VC). The JCT-VC has standardized an encoding technology called High Performance Video Coding (hereinafter referred to as HEVC).
При стандартизации HEVC различные виды способов кодирования широко рассматривались с точки зрения не только улучшения эффективности кодирования, но также и других аспектов, в том числе простоты реализации и сокращения времени обработки. Для уменьшения времени обработки также рассматривались способы для улучшения параллелизма в предположении, что способ кодирования используется, например, на многоядерном центральном процессоре. Одним из них является способ реализации параллельной обработки энтропийного кодирования/декодирования, названный "методом волнового фронта" (статьи JCT-VC, JCTV-F274.doc, доступен в Интернете по адресу <http://phenix.int-evry.fr/jct/doc_end_user/documents/6_Torino/wg11/>). Следующая цель кодирования должна быть кодирована с использованием обновленной таблицы вероятности возникновения, таким образом, обработка не может быть выполнена параллельно, пока статистическая информация не будет сброшена. Однако это приводит к такой проблеме, что сброс статистической информации ухудшает эффективность кодирования. Напротив, метод волнового фронта позволяет кодировать блоки параллельно по строкам, предотвращая ухудшение эффективности кодирования, посредством применения таблицы вероятности возникновения, полученной во время завершения кодирования предварительно заданного количества блоков, к самому левому блоку в следующей строке. Главным образом, это описание процесса кодирования, но оно также применимо к процессу декодирования.In the HEVC standardization, various kinds of coding methods have been widely considered in terms of not only improving coding efficiency, but also other aspects, including ease of implementation and reduction in processing time. To reduce processing time, methods for improving parallelism have also been considered, assuming that the encoding method is used, for example, on a multi-core CPU. One is a way to implement parallel entropy encoding / decoding processing called the "wavefront method" (JCT-VC articles, JCTV-F274.doc, available on the Internet at <http://phenix.int-evry.fr/jct / doc_end_user / documents / 6_Torino / wg11 />). The next encoding target must be encoded using the updated probability of occurrence table, so processing cannot be performed in parallel until the statistics are cleared. However, this leads to a problem that discarding the statistical information degrades the coding efficiency. In contrast, the wavefront technique allows blocks to be encoded in parallel line by line, preventing degradation of coding efficiency by applying an occurrence probability table obtained at the time of completing encoding of a predetermined number of blocks to the leftmost block in the next line. This is mainly a description of the encoding process, but it also applies to the decoding process.
Однако метод волнового фронта позволяет улучшить параллелизм арифметического кодирования/декодирование каждой строки, но фактически квантование и обратное квантование не могут быть выполнены, пока не определен параметр квантования непосредственно предыдущего блока в растровой развертке. Таким образом, даже текущая реализация метода волнового фронта имеет проблему, заключающуюся в неспособности выполнить всю обработку кодирования/декодирования параллельно.However, the wavefront technique can improve the parallelism of the arithmetic encoding / decoding of each line, but actually quantization and inverse quantization cannot be performed until the quantization parameter of the immediately preceding block in the raster scan is determined. Thus, even the current implementation of the wavefront method has the problem of not being able to perform all the encoding / decoding processing in parallel.
СУЩНОСТЬ ИЗОБРЕТЕНИЯSUMMARY OF THE INVENTION
Настоящее изобретение направлено на обеспечение возможности параллельного кодирования/декодирования в качестве всей обработки, включающей в себя обработку квантования/обратного квантования, когда блоки кодируются/декодируются параллельно по строкам с использованием метода волнового фронта.The present invention is directed to enabling parallel encoding / decoding as all processing including quantization / inverse quantization processing when blocks are encoded / decoded in parallel line by line using a wavefront technique.
В соответствии с аспектом настоящего изобретения устройство кодирования изображения, выполненное с возможностью разделять изображение на один или более слайсов, каждый из которых включает в себя множество блоков, и по блокам кодировать каждый слайс, содержит первое средство кодирования, выполненное с возможностью кодировать блоки, включенные в первую часть слайса, и второе средство кодирования, выполненное с возможностью кодировать блоки, включенные во вторую часть слайса, при этом, когда второе средство кодирования кодирует начальный блок во второй части, второе средство кодирования кодирует начальный блок, включенный во вторую часть, посредством обращения к первому параметру квантования, обеспеченному для слайса в качестве начального значения, и к которому обращается первое средство кодирования, когда первое средство кодирования кодирует начальный блок в первой части.In accordance with an aspect of the present invention, an image encoding apparatus configured to divide an image into one or more slices, each of which includes a plurality of blocks, and block to encode each slice, comprises a first encoding means configured to encode the blocks included in a first slice portion, and a second encoding means configured to encode blocks included in the second slice portion, wherein when the second encoding means encodes a start block in the second portion, the second encoding means encodes a start block included in the second portion by referring to a first quantization parameter provided for the slice as an initial value and accessed by the first encoding means when the first encoding means encodes a start block in the first part.
В соответствии с иллюстративными вариантами осуществления настоящего изобретения возможно реализовать параллельное кодирование/декодирование в качестве всей обработки, включающей в себя обработку квантования/обратного квантования, когда блоки кодируются/декодируются параллельно по строкам с использованием метода волнового фронта.According to exemplary embodiments of the present invention, it is possible to implement parallel encoding / decoding as the entire processing including quantization / inverse quantization processing when blocks are encoded / decoded in parallel line by line using a wavefront technique.
Дополнительные признаки и аспекты настоящего изобретения станут очевидны из следующего подробного описания иллюстративных вариантов осуществления со ссылкой на приложенные чертежи.Additional features and aspects of the present invention will become apparent from the following detailed description of illustrative embodiments with reference to the accompanying drawings.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙBRIEF DESCRIPTION OF DRAWINGS
Сопроводительные чертежи, которые включены в спецификацию и составляют ее часть, показывают иллюстративные варианты осуществления, признаки и аспекты изобретения и вместе с описанием служат для разъяснения принципов изобретения.The accompanying drawings, which are incorporated in and form a part of the specification, show illustrative embodiments, features and aspects of the invention and together with the description serve to explain the principles of the invention.
Фиг. 1 - блок-схема, иллюстрирующая конфигурацию устройства кодирования изображения в соответствии с первым иллюстративным вариантом осуществления. FIG. 1 is a block diagram illustrating a configuration of an image encoding apparatus according to the first illustrative embodiment.
Фиг. 2 иллюстрирует конфигурацию строк блоков.FIG. 2 illustrates the configuration of block lines.
Фиг. 3 - блок-схема последовательности операций, иллюстрирующая обработку для кодирования кадра устройством кодирования изображения в соответствии с первым иллюстративным вариантом осуществления.FIG. 3 is a flowchart illustrating processing for encoding a frame by an image encoding apparatus in accordance with the first illustrative embodiment.
Фиг. 4 - блок-схема последовательности операций, иллюстрирующая обработку для кодирования верхней строки блоков устройством кодирования изображения в соответствии с первым иллюстративным вариантом осуществления.FIG. 4 is a flowchart illustrating processing for encoding a top line of blocks by an image encoding apparatus in accordance with the first illustrative embodiment.
Фиг. 5 - блок-схема последовательности операций, иллюстрирующая обработку для кодирования строки блоков, отличающейся от верхней строки блоков, устройством кодирования изображения в соответствии с первым иллюстративным вариантом осуществления.FIG. 5 is a flowchart illustrating processing for encoding a block line other than the top block line by an image coding apparatus according to the first exemplary embodiment.
Фиг. 6 - блок-схема последовательности операций, иллюстрирующая обработку для кодирования блока устройством кодирования изображения в соответствии с первым иллюстративным вариантом осуществления.FIG. 6 is a flowchart illustrating processing for encoding a block by an image encoding apparatus in accordance with the first illustrative embodiment.
Фиг. 7A иллюстрирует передачу параметра квантования традиционным устройством кодирования изображения.FIG. 7A illustrates transmission of a quantization parameter by a conventional image coding apparatus.
Фиг. 7B иллюстрирует передачу параметра квантования устройством кодирования изображения в соответствии с первым иллюстративным вариантом осуществления.FIG. 7B illustrates transmission of a quantization parameter by an image encoding apparatus in accordance with the first exemplary embodiment.
Фиг. 8 - блок-схема, иллюстрирующая конфигурацию устройства декодирования изображения в соответствии со вторым иллюстративным вариантом осуществления.FIG. 8 is a block diagram illustrating a configuration of an image decoding apparatus according to the second illustrative embodiment.
Фиг. 9 - блок-схема последовательности операций, иллюстрирующая обработку для декодирования кадра устройством декодирования изображения в соответствии со вторым иллюстративным вариантом осуществления.FIG. 9 is a flowchart illustrating processing for decoding a frame by an image decoding apparatus according to the second illustrative embodiment.
Фиг. 10 - блок-схема последовательности операций, иллюстрирующая обработку для декодирования верхней строки блоков устройством декодирования изображения в соответствии со вторым иллюстративным вариантом осуществления.FIG. 10 is a flowchart illustrating processing for decoding a top line of blocks by an image decoding apparatus in accordance with a second illustrative embodiment.
Фиг. 11 - блок-схема последовательности операций, иллюстрирующая обработку для декодирования строки блоков, отличающейся от верхней строки блоков, устройством декодирования изображения в соответствии со вторым иллюстративным вариантом осуществления.FIG. 11 is a flowchart illustrating processing for decoding a block line other than an upper block line by an image decoding apparatus according to the second exemplary embodiment.
Фиг. 12 - блок-схема последовательности операций, иллюстрирующая обработку для декодирования блока устройством декодирования изображения в соответствии со вторым иллюстративным вариантом осуществления.FIG. 12 is a flowchart illustrating processing for decoding a block by an image decoding apparatus in accordance with the second illustrative embodiment.
Фиг. 13 - блок-схема, иллюстрирующая пример аппаратной конфигурации компьютера, который можно использовать в качестве устройства кодирования изображения и устройства декодирования изображения в соответствии с иллюстративными вариантами осуществления настоящего изобретения.FIG. 13 is a block diagram illustrating an example of a hardware configuration of a computer that can be used as an image encoding apparatus and an image decoding apparatus in accordance with exemplary embodiments of the present invention.
Фиг. 14 - блок-схема, иллюстрирующая конфигурацию устройства кодирования изображения в соответствии с третьим иллюстративным вариантом осуществления.FIG. 14 is a block diagram illustrating a configuration of an image encoding apparatus according to the third illustrative embodiment.
Фиг. 15 - блок-схема последовательности операций, иллюстрирующая обработку для кодирования верхней строки блоков устройством кодирования изображения в соответствии с третьим иллюстративным вариантом осуществления.FIG. 15 is a flowchart illustrating processing for encoding a top line of blocks by an image encoding apparatus in accordance with the third illustrative embodiment.
Фиг. 16 - блок-схема последовательности операций, иллюстрирующая обработку для кодирования строки блоков, отличающейся от верхней строки блоков, устройством кодирования изображения в соответствии с третьим иллюстративным вариантом осуществления.FIG. 16 is a flowchart illustrating processing for encoding a block line other than an upper block line by an image encoding apparatus according to a third exemplary embodiment.
Фиг. 17A иллюстрирует передачу параметра квантования устройством кодирования изображения в соответствии с третьим иллюстративным вариантом осуществления.FIG. 17A illustrates transmission of a quantization parameter by an image encoding apparatus in accordance with the third illustrative embodiment.
Фиг. 17B иллюстрирует передачу параметра квантования устройством кодирования изображения в соответствии с третьим иллюстративным вариантом осуществления.FIG. 17B illustrates transmission of a quantization parameter by an image encoding apparatus in accordance with the third illustrative embodiment.
Фиг. 18 - блок-схема, иллюстрирующая конфигурацию устройства декодирования изображения в соответствии с четвертым иллюстративным вариантом осуществления.FIG. 18 is a block diagram illustrating a configuration of an image decoding apparatus according to the fourth illustrative embodiment.
Фиг. 19 - блок-схема последовательности операций, иллюстрирующая обработку для декодирования верхней строки блоков устройством декодирования изображения в соответствии с четвертым иллюстративным вариантом осуществления.FIG. 19 is a flowchart illustrating processing for decoding a top line of blocks by an image decoding apparatus in accordance with a fourth illustrative embodiment.
Фиг. 20 - блок-схема последовательности операций, иллюстрирующая обработку для декодирования строки блоков, отличающейся от верхней строки блоков, устройством декодирования изображения в соответствии с четвертым иллюстративным вариантом осуществления.FIG. 20 is a flowchart illustrating processing for decoding a block line other than an upper block line by an image decoding apparatus according to a fourth exemplary embodiment.
Фиг. 21 - блок-схема, иллюстрирующая конфигурацию устройства кодирования изображения в соответствии с пятым иллюстративным вариантом осуществления.FIG. 21 is a block diagram illustrating a configuration of an image encoding apparatus according to a fifth exemplary embodiment.
Фиг. 22 - блок-схема последовательности операций, иллюстрирующая обработку для кодирования верхней строки блоков в соответствии с пятым иллюстративным вариантом осуществления.FIG. 22 is a flowchart illustrating processing for encoding a top line of blocks in accordance with a fifth illustrative embodiment.
Фиг. 23 - блок-схема последовательности операций, иллюстрирующая обработку для кодирования строки блоков, отличающейся от верхней строки блоков, в соответствии с пятым иллюстративным вариантом осуществления.FIG. 23 is a flowchart illustrating processing for encoding a block line other than the top block line in accordance with the fifth exemplary embodiment.
Фиг. 24 - блок-схема, иллюстрирующая конфигурацию устройства декодирования изображения в соответствии с шестым иллюстративным вариантом осуществления.FIG. 24 is a block diagram illustrating a configuration of an image decoding apparatus according to a sixth illustrative embodiment.
Фиг. 25 - блок-схема последовательности операций, иллюстрирующая обработку для декодирования верхней строки блоков в соответствии с шестым иллюстративным вариантом осуществления.FIG. 25 is a flowchart illustrating processing for decoding a top line of blocks in accordance with a sixth illustrative embodiment.
Фиг. 26 - блок-схема последовательности операций, иллюстрирующая обработку для декодирования строки блоков, отличающейся от верхней строки блоков, в соответствии с шестым иллюстративным вариантом осуществления.FIG. 26 is a flowchart illustrating processing for decoding a block line other than the top block line in accordance with the sixth illustrative embodiment.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯDESCRIPTION OF IMPLEMENTATION OPTIONS
Ниже со ссылкой на чертежи будут подробно описаны различные иллюстративные варианты осуществления, признаки и аспекты изобретения.Various illustrative embodiments, features, and aspects of the invention will be described in detail below with reference to the drawings.
Фиг. 1 является блок-схемой, иллюстрирующей устройство кодирования изображения в соответствии с первым иллюстративным вариантом осуществления.FIG. 1 is a block diagram illustrating an image encoding apparatus according to the first illustrative embodiment.
Как показано на фиг. 1, селектор 101 определяет, принадлежит ли целевой блок обработки четной строке блоков. Селектор 101 выдает блок первому модулю 102 кодирования 102, если блок принадлежит четной строке блоков, в ином случае выдает блок второму модулю 103 кодирования.As shown in FIG. 1, the
Первый и второй модули 102 и 103 кодирования кодируют блоки, на которые разделено входное изображение по n x n пикселей (n - положительное целое число, равное или больше 2), по строкам, как проиллюстрировано на фиг. 2 (модули соответствуют "первому средству кодирования" и "второму средству кодирования", и "кодовым блокам, включенным в первую часть слайса" и "кодовым блокам, включенным во вторую часть слайса" в формуле изобретения). В дальнейшем строка из блоков будет упоминаться как "строка блоков". Настоящий иллюстративный вариант осуществления будет описан на основе примера, использующего два модуля кодирования, но настоящее изобретение не ограничено этим. Что касается фиг. 2, слайс 201, обозначенный квадратом, нарисованным тонкой линией, представляет блок, и слайс 202, обозначенный прямоугольником, нарисованным толстой линией, представляет строку блоков. Кроме того, блоки с белыми областями, которые указывают четные строки блоков, в том числе верхнюю строку блоков (строку блоков с номером 0), кодируются первым модулем 102 кодирования. Блоки с затененными областями, которые указывают нечетные строки блоков, кодируются вторым модулем 103 кодирования.The first and
Каждый из первого и второго модулей 102 и 103 кодирования сначала формирует ошибки предсказания в соответствии с предсказанием посредством обращения к пикселям, окружающим целевой блок кодирования, или другому кадру и выполняет ортогональное преобразование, чтобы сформировать коэффициенты преобразования. Затем каждый из первого и второго модулей 102 и 103 кодирования определяет параметр квантования для ортогонально преобразованных коэффициентов преобразования и квантует каждый коэффициент преобразования, чтобы сформировать коэффициенты квантования. Затем каждый из первого и второго модулей 102 и 103 кодирования преобразует в двоичную форму каждый синтаксический элемент, включающий в себя коэффициенты квантования, чтобы сформировать двоичные сигналы. Вероятность возникновения назначается каждому синтаксическому элементу заранее как таблица (именуемая в дальнейшем "таблицей вероятности возникновения"). Двоичные сигналы арифметически кодируются на основе описанной выше таблицы вероятности возникновения. Затем, каждый раз, когда двоичный сигнал кодируется, таблица вероятности возникновения обновляется с использованием статистической информации, указывающей, является ли кодированный двоичный сигнал наиболее вероятным символом.Each of the first and
Первый модуль 104 хранения таблицы вероятности возникновения хранит таблицу вероятности возникновения, сформированную первым модулем 102 кодирования. В дальнейшем таблица вероятности возникновения, сохраненная в первом модуле 104 хранения таблицы вероятности возникновения, будет упоминаться как "первая таблица вероятности возникновения".The first occurrence probability
Первый модуль 105 хранения параметра квантования хранит параметр квантования, определенный первым модулем 102 кодирования. В дальнейшем параметр квантования, сохраненный в первом модуле 105 хранения параметра квантования, будет упоминаться как "первый параметр квантования".The first quantization
Второй модуль 105 хранения таблицы вероятности возникновения хранит таблицу вероятности возникновения, сформированную вторым модулем 103 кодирования. В дальнейшем таблица вероятности возникновения, сохраненная во втором модуле 106 хранения таблицы вероятности возникновения, будет упоминаться как "вторая таблица вероятности возникновения".The second occurrence probability
Второй модуль 107 хранения параметра квантования хранит параметр квантования, определенный вторым модулем 103 кодирования. В дальнейшем параметр квантования, сохраненный во втором модуле 107 хранения параметра квантования, будет упоминаться как "второй параметр квантования".The second quantization
Модуль 108 интеграции кодирования интегрирует кодированные данные, сформированные первым модулем 102 кодирования, и кодированные данные, сформированные вторым модулем 103 кодирования, и выдает интегрированные данные как битовый поток.The
Работа устройства кодирования изображения в соответствии с настоящим иллюстративным вариантом осуществления будет подробно описана со ссылкой на блок-схемы последовательности операций, проиллюстрированные на фиг. 3-6. В настоящем иллюстративном варианте осуществления данные динамического изображения вводятся по кадрам, разделяются на блоки и обрабатываются в растровом порядке. Настоящий иллюстративный вариант осуществления выполнен с возможностью вводить данные динамического изображения по кадрам, но может быть выполнен с возможностью вводить данные неподвижного изображения, соответствующие одному кадру, или вводить данные изображения по слайсам, на которые разделен кадр. Далее для упрощения описания настоящий иллюстративный вариант осуществления будет описан только на основе обработки кодирования с интра-предсказанием (внутренним предсказанием), но он не ограничен этим. Настоящий иллюстративный вариант осуществления также может использоваться в обработке кодирования с интер-предсказанием (внешним предсказанием).The operation of an image encoding apparatus according to the present illustrative embodiment will be described in detail with reference to the flowcharts illustrated in FIGS. 3-6. In the present exemplary embodiment, the dynamic image data is input frame by frame, divided into blocks, and processed in raster order. The present illustrative embodiment is configured to input dynamic image data on a frame-by-frame basis, but may be configured to input still image data corresponding to one frame, or to input image data on slices into which a frame is divided. In the following, for simplicity of description, the present illustrative embodiment will be described only based on intra prediction (intra prediction) coding processing, but it is not limited thereto. The present illustrative embodiment may also be used in inter-prediction (inter prediction) coding processing.
Сначала на этапе S301 устройство кодирования изображения определяет, принадлежит ли целевой блок обработки верхней строке блоков. Если блок принадлежит верхней строке блоков (ДА на этапе S301), обработка переходит на этап S302. Если блок не принадлежит верхней строке блоков (НЕТ на этапе S301), обработка переходит на этап S303.First, in step S301, the image encoding device determines whether the processing target block belongs to the top block row. If the block belongs to the top block row (YES in step S301), the processing proceeds to step S302. If the block does not belong to the top row of blocks (NO in step S301), the processing proceeds to step S303.
Обработка этапа S302 представляет собой обработку для кодирования верхней строки блоков, подробности которого будут описаны ниже. Обработка этапа S303 представляет собой обработку для кодирования строки блоков, отличающейся от верхней строки блоков, подробности которого также будут описаны ниже. Далее селектор 101 определяет, является ли строка блоков, которой принадлежит целевой блок обработки, четной строкой блоков или нечетной строкой блоков. Если строка блоков является четной строкой блоков, целевой блок обработки кодируется первым модулем 102 кодирования независимо. Если строка блоков является нечетной строкой блоков, целевой блок обработки кодируется вторым модулем 103 кодирования.The processing of step S302 is processing for encoding the top line of blocks, the details of which will be described below. The processing of step S303 is processing for encoding a block line different from the top block line, the details of which will also be described below. Next, the
Затем на этапе S304 модуль 108 интеграции кодирования интегрирует кодированные данные, выданные из первого модуля 102 кодирования, и кодированные данные, выданные из второго модуля 103 кодирования, и формирует и выдает битовый поток.Then, in step S304, the
Затем на этапе S305 устройство кодирования изображения определяет, кодированы ли все строки блоков в целевом кадре обработки. Если все строки блоков кодированы (ДА на этапе S305), обработка для кодирования одного кадра закончена. Если кодированы не все строки блоков (НЕТ на этапе S305), обработка переходит снова на этап S301, и начинается кодирование следующей строки блоков.Then, in step S305, the image encoding device determines whether all the block lines in the processing target frame are encoded. If all the block lines are encoded (YES in step S305), the processing for encoding one frame is ended. If not all of the block lines are encoded (NO in step S305), the processing proceeds to step S301 again and coding of the next block line starts.
Обработка этапа S302 (обработка для кодирования верхней строки блоков) будет описана подробно со ссылкой на блок-схему последовательности операций, проиллюстрированную на фиг. 4. Верхняя строка блоков является четной строкой блоков, таким образом, целевой блок обработки вводится селектором 101 в первый модуль 102 кодирования и кодируется первым модулем 102 кодирования.The processing of step S302 (processing for encoding the upper block row) will be described in detail with reference to the flowchart illustrated in FIG. 4. The top line of the blocks is an even line of blocks, so the processing target block is input by the
Сначала на этапе S401 на основе того, какой блок кодируется, параметр квантования инициализируется таким образом, чтобы он совпадал с начальным значением параметра квантования для слайса. В дальнейшем параметр квантования на основе того, какой блок кодируется, будет упоминаться как "опорный параметр квантования блока". Что касается параметра квантования, используемого для квантования целевого блока кодирования, его значение непосредственно не кодируется как синтаксический элемент, а кодируется значение его разности с опорным параметром квантования блока. В настоящем иллюстративном варианте осуществления это значение разности соответствует значению cu_qp_delta в способе HEVC. Однако настоящее изобретение не ограничено этим, и, например, описанное выше значение разности может соответствовать коду mb_qp_delta в способе H.264 способа. Затем на этапе S402 таблица вероятности возникновения инициализируется предопределенным способом. Инициализированная таблица вероятности возникновения используется для арифметического кодирования первого двоичного сигнала самого левого блока в строке блоков и обновляется по мере необходимости на этапе S403, который будет описан ниже. В дальнейшем таблица вероятности возникновения, используемая для арифметического кодирования первого двоичного сигнала самого левого блока в строке блоков будет упоминаться как "опорная таблица вероятности возникновения строки блоков".First, in step S401, based on which block is being encoded, the quantization parameter is initialized to match the initial value of the quantization parameter for the slice. Hereinafter, the quantization parameter based on which block is being encoded will be referred to as "block reference quantization parameter". As for the quantization parameter used to quantize the coding target block, its value is not directly encoded as a syntax element, but its difference value with the reference block quantization parameter is encoded. In the present illustrative embodiment, this difference value corresponds to the cu_qp_delta value in the HEVC method. However, the present invention is not limited thereto, and for example, the above-described difference value may correspond to the mb_qp_delta code in the H.264 method. Then, in step S402, the occurrence probability table is initialized in a predetermined manner. The initialized occurrence probability table is used for arithmetic coding of the first binary signal of the leftmost block in the block row, and is updated as necessary in step S403, which will be described below. Hereinafter, an occurrence probability table used for arithmetic coding of the first binary signal of the leftmost block in a block row will be referred to as a “block row occurrence probability reference table”.
Затем на этапе S403 первый модуль 102 кодирования кодирует пиксельные данные по блокам.Then, in step S403, the
В настоящем иллюстративном варианте осуществления один блок состоит из 64 x 64 пикселей, но настоящее изобретение не ограничено этим. Размер блока может быть меньше, например, 32 x 32 пикселя, или больше, например, 128 x 128 пикселей. Обработка кодирования блоков на этапе S403 будет подробно описана со ссылкой на блок-схему последовательности операций, проиллюстрированную на фиг. 6.In the present illustrative embodiment, one block consists of 64 x 64 pixels, but the present invention is not limited thereto. The block size can be smaller, such as 32 x 32 pixels, or larger, such as 128 x 128 pixels. The block encoding processing in step S403 will be described in detail with reference to the flowchart illustrated in FIG. 6.
Сначала на этапе S601 первый модуль 102 кодирования выполняет интра-предсказание над входным блоком изображения с использованием пикселей, окружающих блок, чтобы сформировать ошибки предсказания.First, in step S601, the
Затем на этапе S602 первый модуль 102 кодирования выполняет ортогональное преобразование над ошибками предсказания, чтобы сформировать коэффициенты преобразования. Далее первый модуль 102 кодирования квантует коэффициенты преобразования с использованием параметра квантования (именуемого в дальнейшем "параметром квантования блока"), определенного, например, на основе характеристик и количества кодированной информации изображения, чтобы сформировать коэффициенты квантования.Then, in step S602, the
Затем на этапе S603 первый модуль 102 кодирования вычисляет значение разности между описанным выше опорным параметром квантования блока и параметром квантования блока, чтобы сформировать значение cu_qp_delta.Then, in step S603, the
Затем на этапе S604 первый модуль 102 кодирования устанавливает параметр квантования блока, используемый для кодирования целевого блока обработки, в опорный параметр квантования блока, тем самым обновляя опорный параметр квантования блока. Опорный параметр квантования блока будет использоваться для формирования значения cu_qp_delta следующего блока.Then, in step S604, the
Затем на этапе S605 первый модуль 102 кодирования преобразует в двоичную форму каждый синтаксический элемент, в том числе описанное выше значение cu_qp_delta и описанные выше коэффициенты квантования, чтобы сформировать двоичные сигналы. Первый модуль 102 кодирования использует различные способы преобразования в двоичную форму, такие как унарная бинаризация и бинаризация с фиксированной длиной, переключая способ преобразования в двоичную форму для каждого синтаксического элемента подобно способу H.264. Далее первый модуль 102 кодирования арифметически кодирует двоичные сигналы на основе таблицы вероятности возникновения.Then, in step S605, the
Затем на этапе S606 первый модуль 102 кодирования обновляет таблицу вероятности возникновения на основе того, является ли арифметически кодированный двоичный сигнал наиболее вероятным символом.Then, in step S606, the
Затем на этапе S607 первый модуль 102 кодирования определяет, все ли синтаксические элементы в блоке арифметически кодированы. Если все синтаксические элементы арифметически кодированы (ДА на этапе S607), обработка кодирования блоков закончена. Если не все синтаксические элементы кодированы (НЕТ на этапе S607), обработка переходит снова на этап S605.Then, in step S607, the
Вернемся к фиг. 4, на которой на этапе S404 первый модуль 102 кодирования определяет, удовлетворено ли условие для сохранения опорного параметра квантования блока. В настоящем иллюстративном варианте осуществления условие для сохранения опорного параметра квантования блока состоит в том, является ли блок, кодированный на этапе S403, самым левым блоком в строке блоков. Если условие удовлетворено (ДА на этапе S404), обработка переходит на этап S405. На этапе S405 опорный параметр квантования блока сохраняется в первом модуле 105 хранения параметра квантования как первый параметр квантования. Если условие не удовлетворено (НЕТ на этапе S404), обработка переходит на этап 5406. Первый параметр квантования будет использоваться в качестве опорного параметра квантования блока, когда второй модуль 103 кодирования кодирует самый левый блок в следующей строке блоков.Returning to FIG. 4, in which, in step S404, the
Затем на этапе S406 первый модуль 102 кодирования определяет, удовлетворено ли условие для сохранения таблицы вероятности возникновения. В настоящем иллюстративном варианте осуществления условие для сохранения таблицы вероятности возникновения состоит в том, является ли блок, кодированный на этапе S403, блоком с предопределенным номером от самого левого блока в строке блоков. Если это условие удовлетворено (ДА на этапе S406), обработка переходит на этап 5407. На этапе S407 таблица вероятности возникновения сохраняется в первом модуле 104 хранения таблицы вероятности возникновения как первая таблица вероятности возникновения. Если условие не удовлетворено (НЕТ на этапе S406), обработка переходит на этап 5408. Первая таблица вероятности возникновения будет использоваться в качестве опорной таблицы вероятности возникновения строки блоков, когда второй модуль 103 кодирования кодирует самый левый блок в следующей строке блоков.Then, in step S406, the
Затем на этапе S408 первый модуль 102 кодирования определяет, все ли блоки в целевой строке блоков обработки кодированы. Если все блоки кодированы (ДА на этапе S408), кодирование верхней строки блоков закончено. Если не все блоки кодированы (НЕТ на этапе S408), обработка переходит снова на этап S403. На этапе S403 кодируется следующий блок в растровом порядке.Then, in step S408, the
Обработка этапа S303 (обработка для кодирования строки блоков, отличающейся от верхней строки блоков) будет подробно описана со ссылкой на блок-схему последовательности операций, проиллюстрированную на фиг. 5. Селектор 101 определяет для каждой строки блоков, является ли строка блоков четной строкой блоков. Если строка блоков является четной строкой блоков, изображение целевой строки блоков обработки вводится в первый модуль 102 кодирования и кодируется первым модулем 102 кодирования. Если строка блоков является нечетной строкой блоков, изображение целевой строки блоков обработки вводится во второй модуль 103 кодирования и кодируется вторым модулем 103 кодирования. Сначала будет описана последовательность операций, когда второй модуль 103 кодирования кодирует нечетную строку блоков.The processing of step S303 (processing for encoding a block line other than the top block line) will be described in detail with reference to the flowchart illustrated in FIG. 5. The
Сначала на этапе S501 первый параметр квантования вводится из первого модуля 105 хранения параметра квантования как опорный параметр квантования блока. Затем на этапе S502 первая таблица вероятности возникновения вводится из первого модуля 104 хранения таблицы вероятности возникновения как опорная таблица вероятности возникновения строки блоков.First, in step S501, the first quantization parameter is input from the first quantization
Обработка этапов S503, S504, S506 и S508 аналогична обработки этапов S403, S404, S406 и S408, и поэтому ее описание здесь опущено.The processing of steps S503, S504, S506, and S508 is the same as the processing of steps S403, S404, S406, and S408, and therefore, description thereof is omitted here.
На этапе S505 опорный параметр квантования блока сохраняется во втором модуле 107 хранения параметра квантования как второй параметр квантования. Второй параметр квантования будет использоваться в качестве опорного параметра квантования блока для самого левого блока в следующей строке блоков.In step S505, the block reference quantization parameter is stored in the second quantization
На этапе S507 таблица вероятности возникновения сохраняется во втором модуле 106 хранения таблицы вероятности возникновения как вторая таблица вероятности возникновения. Вторая таблица вероятности возникновения будет использоваться в качестве опорной таблицы вероятности возникновения строки блоков, когда будет арифметически кодироваться самый левый блок в следующей строке блоков.In step S507, the occurrence probability table is stored in the second occurrence probability
Далее будет описана последовательность операций, когда первый модуль 102 кодирования кодирует четную строку блоков.Next, a flow will be described when the
Сначала на этапе S501 второй параметр квантования вводится из второго модуля 107 хранения параметра квантования как опорный параметр квантования блока. Затем на этапе S502 вторая таблица вероятности возникновения вводится из второго модуля 106 хранения таблицы вероятности возникновения как опорная таблица вероятности возникновения строки блоков.First, in step S501, the second quantization parameter is input from the second quantization
Обработка этапов S503-S508 аналогична обработки этапов S403-S408, и поэтому ее описание здесь опущено.The processing of steps S503 to S508 is the same as the processing of steps S403 to S408, and therefore, description thereof is omitted here.
Описанные выше конфигурация и операции дают возможность параллельного кодирования, позволяя обращаться к опорному параметру квантования в дополнение к таблице вероятности возникновения во время обработки самого левого блока даже до завершения обработки строки блоков непосредственно перед кодируемой строкой блоков. Каждая из фиг. 7A и 7B иллюстрирует, каким образом осуществляется обращение к опорному параметру квантования блока. В соответствии с традиционной методикой, как проиллюстрировано на фиг. 7A, обработка следующей строки блоков не может начаться, пока не завершена обработка предыдущей строки блоков. Однако в соответствии с настоящим иллюстративным вариантом осуществления, если сделать возможным обращение к более верхнему в пространстве блоку, когда обрабатывается самый левый блок, что в конечном счете обеспечивает шаблон обращений, проиллюстрированный на фиг. 7B, становится ненужным ожидать завершения обработки предыдущей строки блоков.The above-described configuration and operations enable parallel coding by allowing the reference quantization parameter in addition to the occurrence probability table to be accessed during processing of the leftmost block even before the block line processing is completed just before the block line being coded. Each of FIGS. 7A and 7B illustrate how the block quantization reference parameter is accessed. In accordance with the conventional technique, as illustrated in FIG. 7A, processing of the next block line cannot start until processing of the previous block line is completed. However, in accordance with the present illustrative embodiment, if the upper block in space is allowed to be accessed when the leftmost block is being processed, ultimately providing the access pattern illustrated in FIG. 7B, it becomes unnecessary to wait for the previous block line to complete.
Кроме того, в настоящем иллюстративном варианте осуществления параметр квантования, используемый в самом левом блоке в расположенной непосредственно сверху строке блоков, используется в качестве опорного параметра квантования блока, когда кодируется самый левый блок. Однако настоящее изобретение не ограничено этим и может быть воплощено посредством любой конфигурации, способной улучшить параллелизм обработки по строкам блоков. Например, начальное значение параметра квантования, обеспеченное для слайса, может использоваться в качестве опорного параметра квантования блока, когда кодируются самые левые блоки во всех строках блоков. В качестве другой возможной конфигурации опорный параметр квантования блока может быть таким же, как условие для сохранения таблицы вероятности возникновения, обеспеченное на этапах S406 и S506. Более определенно, когда кодируется блок с предопределенным номером от самого левого блока в строке блоков, параметр квантования может использоваться в качестве опорного параметра квантования блока для самого левого блока в следующей строке блоков. Кроме того, устройство кодирования изображения может быть выполнено с возможностью переключать блок, к которому обращаются в качестве опорного параметра квантования блока, на основе режима кодирования самого левого блока.In addition, in the present exemplary embodiment, a quantization parameter used in the leftmost block in the immediately above the row of blocks is used as a block quantization reference parameter when the leftmost block is encoded. However, the present invention is not limited thereto, and may be embodied by any configuration capable of improving block row parallelism. For example, an initial quantization parameter value provided for a slice may be used as a block quantization reference parameter when left-most blocks in all block lines are encoded. As another possible configuration, the block quantization reference parameter may be the same as the condition for storing the occurrence probability table provided in steps S406 and S506. More specifically, when a block with a predetermined number from the leftmost block in a block line is encoded, a quantization parameter can be used as a block quantization reference parameter for the leftmost block in the next block line. In addition, the image coding apparatus may be configured to switch the block referred to as the block quantization reference parameter based on the coding mode of the leftmost block.
Кроме того, в настоящем иллюстративном варианте осуществления в качестве энтропийного кодирования используется арифметическое кодирование, но настоящее изобретение не ограничено этим. Может использоваться любое кодирование, пока во время энтропийного кодирования на основе статистической информации, такой как таблица вероятности возникновения, статистическая информация в середине кодирования строки блоков используется для выполнения энтропийного кодирования самого левого блока следующей строки блоков.In addition, in the present illustrative embodiment, arithmetic coding is used as entropy coding, but the present invention is not limited thereto. Any encoding can be used, as long as during entropy encoding based on statistical information such as a probability table, the statistical information in the middle of the encoding of a block line is used to perform entropy encoding of the leftmost block of the next block line.
Настоящий иллюстративный вариант осуществления был описан на основе примера, использующего два модуля кодирования. Однако очевидно, что добавление, например, третьего модуля кодирования, третьего модуля хранения таблицы вероятности возникновения и третьего модуля хранения параметра квантования дает возможность параллельной обработки посредством большего количества модулей кодирования.The present illustrative embodiment has been described based on an example using two encoding units. However, it is obvious that adding, for example, a third coding unit, a third occurrence probability table storage unit and a third quantization parameter storage unit enables parallel processing by more coding units.
Фиг. 8 является блок-схемой, иллюстрирующей устройство декодирования изображения в соответствии со вторым иллюстративным вариантом осуществления.FIG. 8 is a block diagram illustrating an image decoding apparatus according to a second illustrative embodiment.
Как показано на фиг. 8, селектор 801 определяет, принадлежит ли целевой блок обработки четной строке блоков. Селектор 801 выдает описанный выше битовый поток первому модулю 802 декодирования, если целевой блок обработки принадлежит четной строке блоков, в ином случае выдает описанный выше битовый поток второму модулю 803 декодирования.As shown in FIG. 8, the
Модули 802 и 803 декодирования декодируют входной битовый поток по строкам блоков, как проиллюстрировано на фиг. 2. Настоящий иллюстративный вариант осуществления будет описан на основе примере, использующего два модуля декодирования, но настоящее изобретение не ограничено этим. Как показано на фиг. 2, блоки в белых областях, которые указывают четные строки блоков, в том числе верхнюю строку блоков (строку блоков с номером 0), декодируются первым модулем 802 декодирования. Блоки в затененных областях, которые указывают нечетные строки блоков, декодируются вторым модулем 803 декодирования.The
Каждый из первого и второго модулей 802 и 803 декодирования сначала выбирает таблицу вероятности возникновения для декодируемых двоичных сигналов битового потока и арифметически декодирует двоичные сигналы на основе таблицы вероятности возникновения, чтобы сформировать коэффициенты квантования. Затем каждый из первого и второго модулей 802 и 803 декодирования выполняет обратное квантование коэффициентов квантования на основе параметра квантования, чтобы сформировать коэффициенты преобразования. Затем каждый из первого и второго модулей 802 и 803 декодирования выполняет обратное ортогональное преобразование над коэффициентами преобразования, чтобы сформировать ошибки предсказания. Затем каждый из первого и второго модулей 802 и 803 декодирования выполняет предсказание посредством обращения к пикселям, окружающим целевой блок декодирования, или другому кадру, чтобы сформировать данные изображения целевого блока декодирования. Первый модуль 804 хранения таблицы вероятности возникновения хранит таблицу вероятности возникновения, сформированную первым модулем 802 декодирования. Первый модуль 805 хранения параметра квантования хранит параметр квантования, определенный первым модулем 802 декодирования.Each of the first and
Второй модуль 806 хранения таблицы вероятности возникновения хранит таблицу вероятности возникновения, сформированную вторым модулем 803 декодирования. Второй модуль 807 хранения параметра квантования хранит параметр квантования, определенный вторым модулем 803 декодирования. Модуль 808 интеграции данных изображения формирует данные изображения, сформированные первым модулем 802 декодирования, и данные изображения, сформированные вторым модулем 803 декодирования, и выдает сформированные данные изображения.The second occurrence probability
Работа устройства декодирования изображения в соответствии с настоящим иллюстративным вариантом осуществления будет подробно описана со ссылкой на блок-схемы последовательности операций, проиллюстрированные на фиг. 9-12. В настоящем иллюстративном варианте осуществления битовый поток вводится по кадрам. Битовый поток разделяется на кодированные части данных и затем декодируется. Настоящий иллюстративный вариант осуществления выполнен таким образом, что битовый поток вводится по кадрам, но может быть выполнен таким образом, что кадр разделен на слайсы, и битовый поток вводится по слайсам. Кроме того, для упрощения описания настоящий иллюстративный вариант осуществления будет описан только на основе обработки декодирования с интра-предсказанием, но он не ограничен этим. Настоящий иллюстративный вариант осуществления также может использоваться в обработке декодирования с интер-предсказанием.The operation of the image decoding apparatus according to the present exemplary embodiment will be described in detail with reference to the flowcharts illustrated in FIGS. 9-12. In the present exemplary embodiment, the bitstream is inserted frame by frame. The bitstream is split into coded data pieces and then decoded. The present illustrative embodiment is configured such that the bitstream is inputted frame by frame, but may be configured such that the frame is divided into slices and the bitstream is inputted frame by slice. In addition, for simplicity of description, the present illustrative embodiment will be described only based on intra prediction decoding processing, but it is not limited thereto. The present illustrative embodiment may also be used in inter-prediction decoding processing.
Сначала на этапе S901 устройство декодирования изображения определяет, принадлежит ли целевой блок обработки верхней строке блоков. Если целевой блок обработки принадлежит верхней строке блоков (ДА на этапе S901), обработка переходит на этап S902. Если целевой блок обработки не принадлежит верхней строке блоков (НЕТ в этапе S901), обработка переходит на этап S903.First, in step S901, the image decoding apparatus determines whether the processing target block belongs to the top block row. If the processing target block belongs to the top block row (YES in step S901), the processing proceeds to step S902. If the processing target block does not belong to the top block row (NO in step S901), the processing proceeds to step S903.
Обработка этапа S902 представляет собой обработку для декодирования верхней строки блоков, подробности которой будут описаны ниже. Обработка этапа S903 представляет собой обработку для декодирования строки блоков, отличающейся от верхней строки блоков, подробности которого также будут описаны ниже. Далее селектор 801 определяет, является ли строка блоков, которой принадлежит целевой блок обработки, четной строкой блоков или нечетной строкой блоков. Если строка блоков является четной строкой блоков, целевой блок обработки декодируется первым модулем 802 декодирования независимо. Если строка блоков не является четной строкой блоков, целевой блок обработки декодируется вторым модулем 803 декодирования независимо. В настоящем иллюстративном варианте осуществления селектор 801 определяет, является ли строка блоков четной строкой блоков, на основе количества декодированных блоков. Однако настоящее изобретение не ограничено этим. Например, входной битовый поток может включать в себя идентификатор, который заранее обеспечен на границе между строками блоков, и селектор 801 может определить, является ли строка блоков четной строкой блоков, на основе идентификатора. В качестве альтернативы, может быть обеспечена информация, указывающая размер битового потока каждой строки блоков или начальной позиции следующей строки блоков, и селектор 801 может определить, является ли строка блоков четной строкой блоков, на основе этой информации.The processing of step S902 is processing for decoding the top block row, the details of which will be described below. The processing of step S903 is processing for decoding a block line different from the top block line, the details of which will also be described below. Next, the
Затем на этапе S904 модуль 808 интеграции данных изображения интегрирует данные изображения, выданные из первого модуля 802 декодирования, и данные изображения, выданные из второго модуля 803 декодирования, и формирует и выдает декодированное изображение.Then, in step S904, the image
Затем на этапе S905 устройство декодирования изображения определяет, декодированы ли все строки блоков в целевом кадре обработки. Если все строки блоков декодированы (ДА на этапе S905), обработку для декодирования одного кадра закончен. Если не все блоки декодированы (НЕТ на этапе S905), обработка переходит снова на этап S901, с которого декодируется следующая строка блоков.Then, in step S905, the image decoding apparatus determines whether or not all the block lines in the processing target frame are decoded. If all the block lines are decoded (YES in step S905), the processing for decoding one frame is finished. If not all blocks are decoded (NO in step S905), the processing proceeds back to step S901 from which the next block row is decoded.
Обработка этапа S902 (обработка для декодирования верхней строки блоков) будет подробно описан со ссылкой на блок-схему последовательности операций, проиллюстрированную на фиг. 10. Поскольку верхняя строка блоков является четной строкой блоков, кодированные данные целевой строки блоков обработки вводятся селектором 801 в первый модуль 802 декодирования и декодируются первым модулем 802 декодирования.The processing of step S902 (processing for decoding the upper block row) will be described in detail with reference to the flowchart illustrated in FIG. 10. Since the top line of blocks is an even line of blocks, encoded data of the target line of processing blocks is input by the
Как показано на фиг. 10, сначала на этапе S1001 на основе того, какой блок декодируется, параметр квантования инициализируется таким образом, чтобы он совпадал с начальным значением параметра квантования для слайса. В дальнейшем параметр квантования на основе того, какой блок декодируется, будет упоминаться как "опорный параметр квантования блока" подобно устройству кодирования изображения в соответствии с первым иллюстративным вариантом осуществления. Когда выполняется обратное квантование целевого блока декодирования, параметр квантования блока находится в таком состоянии, что само значение не кодировано, а в качестве синтаксического элемента кодировано значение его разности с опорным параметром квантования блока. Поэтому во время декодирования параметр квантования блока должен быть формирован посредством сложения опорного параметра квантования блока и описанного выше значения разности, и устройство декодирования должно выполнить обратное квантование с использованием сформированного параметра квантования блока. В настоящем иллюстративном варианте осуществления это значение разности соответствует значению cu_qp_delta в способе HEVC. Однако настоящее изобретение не ограничено этим. Например, значение разности может соответствовать значению mb_qp_delta в способе H.264. Затем на этапе S1002 таблица вероятности возникновения инициализируется предопределенным способом. Инициализированная таблица вероятности возникновения используется для арифметического декодирования первого двоичного сигнала самого левого блока в строке блоков и обновляется по мере необходимости на этапе S1003, который будет описан ниже. В дальнейшем таблица вероятности возникновения, используемая для арифметического декодирования первого двоичного сигнала начального блока в строке блоков будет упоминаться как "опорная таблица вероятности возникновения строки блоков" подобно устройству кодирования изображения в соответствии с первым иллюстративным вариантом осуществления.As shown in FIG. 10, first, in step S1001, based on which block is decoded, the quantization parameter is initialized to match the initial value of the quantization parameter for the slice. Hereinafter, the quantization parameter based on which block is being decoded will be referred to as a “block reference quantization parameter” like the image encoding apparatus according to the first exemplary embodiment. When the decoding target block is inversely quantized, the block quantization parameter is in such a state that the value itself is not encoded, but its difference value with the reference block quantization parameter is encoded as a syntax element. Therefore, at the time of decoding, the block quantization parameter must be generated by adding the block reference quantization parameter and the above-described difference value, and the decoding apparatus must inverse quantize using the generated block quantization parameter. In the present illustrative embodiment, this difference value corresponds to the cu_qp_delta value in the HEVC method. However, the present invention is not limited to this. For example, the difference value may correspond to the mb_qp_delta value in the H.264 method. Then, in step S1002, the occurrence probability table is initialized in a predetermined manner. The initialized occurrence probability table is used for arithmetic decoding of the first binary signal of the leftmost block in the block row, and is updated as necessary in step S1003, which will be described below. Hereinafter, an occurrence probability table used for arithmetic decoding of the first binary signal of an initial block in a block row will be referred to as a "block row occurrence probability reference table" similar to the image encoding apparatus according to the first illustrative embodiment.
Затем на этапе S1003 первый модуль 802 декодирования декодирует битовый поток по блокам, чтобы сформировать данные изображения.Then, in step S1003, the
В настоящем иллюстративном варианте осуществления один блок состоит из 64x64 пикселей, но настоящее изобретение не ограничено этим. Размер блока может быть меньше, например, 32x32 пикселя, или больше, например, 128x128 пикселей. Обработка декодирования блока на этапе S1003 будет подробно описана со ссылкой на блок-схему последовательности операций, проиллюстрированную на фиг. 12.In the present illustrative embodiment, one block consists of 64x64 pixels, but the present invention is not limited thereto. The block size can be smaller, for example 32x32 pixels, or larger, for example, 128x128 pixels. The block decoding processing in step S1003 will be described in detail with reference to the flowchart illustrated in FIG. 12.
Сначала на этапе S1201 первый модуль 802 декодирования арифметически декодирует битовый поток на основе описанной выше таблице вероятности возникновения, чтобы сформировать двоичный сигнал. Затем первый модуль 802 декодирования декодирует двоичный сигнал, преобразованный в двоичную форму в соответствии с любым из различных способов преобразования в двоичную форму, таких как унарная бинаризация и бинаризация с фиксированной длиной, для каждого синтаксического элемента подобно способу H.264, чтобы сформировать синтаксические элементы, включающие в себя коэффициенты квантования.First, in step S1201, the
Затем на этапе S1202 таблица вероятности возникновения обновляется на основе того, является ли арифметически декодированный двоичный сигнал наиболее вероятным символом.Then, in step S1202, the occurrence probability table is updated based on whether the arithmetically decoded binary signal is the most likely symbol.
Затем на этапе S1203 первый модуль 802 декодирования определяет, все ли синтаксические элементы в блоке арифметически декодированы. Если все синтаксические элементы арифметически декодированы (ДА на этапе S1203), обработка переходит на этап S1204. Если не все синтаксические элементы арифметически декодированы (НЕТ на этапе S1203), обработка переходит снова на этап S1201.Then, in step S1203, the
Затем на этапе S1204 первый модуль 802 декодирования формирует параметр квантования блока, складывая описанный выше опорный параметр квантования блока и значение cu_qp_delta, декодированное на этапе S1201.Then, in step S1204, the
Затем на этапе S1205 первый модуль 802 декодирования выполняет обратное квантование коэффициентов квантования на основе параметра квантования блока, чтобы сформировать коэффициенты преобразования. Затем первый модуль 802 декодирования выполняет обратное ортогональное преобразование над коэффициентами преобразования, чтобы сформировать ошибки предсказания.Then, in step S1205, the
Затем на этапе S1206 первый модуль 802 декодирования устанавливает параметр квантования блока, использованный при обратном квантовании целевого блока обработки, в опорный параметр квантования блока, тем самым обновляя опорный параметр квантования блока. Опорный параметр квантования блока будет использоваться, чтобы сформировать параметр квантования блока следующего блока.Then, in step S1206, the
Затем на этапе S1207 первый модуль 802 декодирования выполняет интра-предсказание на основе пикселей, окружающих целевой блок обработки, чтобы сформировать изображение предсказания. Затем первый модуль 802 декодирования формирует данные изображения, соответствующие одному блоку, складывая ошибки предсказания и изображение предсказания.Then, in step S1207, the
Вернемся к блок-схеме последовательности операций, проиллюстрированной на фиг. 10, в которой на этапе S1004 первый модуль 802 декодирования определяет, удовлетворено ли условие для сохранения опорного параметра квантования блока. В настоящем иллюстративном варианте осуществления условие для сохранения опорного параметра квантования блока состоит в том, является ли блок, декодированный на этапе S1003, самым левым блоком в строке блоков. Если условие удовлетворено (ДА на этапе S1004), обработка переходит на этап S1005. На этапе S1005 опорный параметр квантования блока сохраняется в первом модуле 805 хранения параметра квантования как первый параметр квантования. Если условие не удовлетворено (НЕТ на этапе S1004), обработка переходит на этап S1006. Первый параметр квантования будет использоваться в качестве опорного параметра квантования блока, когда второй модуль 803 декодирования будет декодировать самый левый блок в следующей строке блоков.Returning to the flowchart illustrated in FIG. 10, in which in step S1004, the
Затем на этапе S1006 первый модуль 802 декодирования определяет, удовлетворено ли условие для сохранения таблицы вероятности возникновения. В настоящем иллюстративном варианте осуществления условие для сохранения таблицы вероятности возникновения состоит в том, является ли блок, декодированный на этапе S1003, блоком с предопределенным номером от самого левого блока в строке блоков. Если это условие удовлетворено (ДА на этапе S1006), обработка переходит на этап S1007. На этапе S1007 таблица вероятности возникновения сохраняется в первом модуле 804 хранения таблицы вероятности возникновения как первая таблица вероятности возникновения. Если условие не удовлетворено (НЕТ на этапе S1006), обработка переходит на этап S1008. Первая таблица вероятности возникновения будет использоваться в качестве опорной таблицы вероятности возникновения строки блоков, когда второй модуль 803 декодирования будет декодировать самый левый блок в следующей строке блоков.Then, in step S1006, the
Затем на этапе S1008 первый модуль 802 декодирования определяет, декодированы ли все блоки в целевой строке блоков обработки. Если все блоки декодированы (ДА на этапе S1008), декодирование верхней строки блоков закончено. Если не все блоки декодированы (НЕТ в этапе S1008), обработка переходит снова на этап S1003, с которого первый модуль 802 декодирования декодирует следующий блок в растровом порядке.Then, in step S1008, the
Обработка этапа S903 (обработка для декодирования строки блоков, отличающейся от верхней строки блоков) будет подробно описан со ссылкой на блок-схему последовательности операций, проиллюстрированную на фиг. 11. Селектор 801 определяет для каждой строки блоков, является ли строка блоков четной строкой блоков. Если строка блоков является четной строкой блоков, битовый поток целевого блока обработки вводится в первый модуль 802 декодирования и декодируется первым модулем 802 декодирования. Если строка блоков является нечетной строкой блоков, битовый поток целевого блока обработки вводится во второй модуль 803 декодирования и декодируется вторым модулем 803 декодирования. Сначала будет описана последовательность операций, когда второй модуль 803 декодирования декодирует нечетную строку блоков.The processing of step S903 (processing for decoding a block line other than the top block line) will be described in detail with reference to the flowchart illustrated in FIG. 11. The
Сначала на этапе S1101 первый параметр квантования вводится из первого модуля 805 хранения параметра квантования как опорный параметр квантования блока. Затем на этапе S1102 первая таблица вероятности возникновения вводится из первого модуля 804 хранения таблицы вероятности возникновения как опорная таблица вероятности возникновения строки блоков.First, in step S1101, the first quantization parameter is input from the first quantization
Обработка этапов S1103, S1104, S1106 и S1108 аналогично обработке этапов S1003, S1004, S1006 и S1008, и поэтому ее описание здесь опущено.The processing of steps S1103, S1104, S1106, and S1108 is the same as the processing of steps S1003, S1004, S1006, and S1008, and therefore, description thereof is omitted here.
На этапе S1105 опорный параметр квантования блока сохраняется во втором модуле 807 хранения параметра квантования как второй параметр квантования. Второй параметр квантования будет использоваться в качестве опорного параметра квантования блока для самого левого блока в следующей строке блоков.In step S1105, the block reference quantization parameter is stored in the second quantization
На этапе S1107 таблица вероятности возникновения сохраняется во втором модуле 806 хранения таблицы вероятности возникновения как вторая таблица вероятности возникновения. Вторая таблица вероятности возникновения будет использоваться в качестве опорной таблицы вероятности возникновения строки блоков, когда первый модуль 802 декодирования будет арифметически декодировать самый левый блок в следующей строке блоков.In step S1107, the occurrence probability table is stored in the second occurrence probability
Далее будет описана последовательность операций, когда первый модуль 802 декодирования декодирует четную строку блоков.Next, a flow will be described when the
Сначала на этапе S1101 второй параметр квантования вводится из второго модуля 807 хранения параметра квантования как опорный параметр квантования блока. Затем на этапе S1102 вторая таблица вероятности возникновения вводится из второго модуля 806 хранения таблицы вероятности возникновения как опорная таблица вероятности возникновения строки блоков.First, in step S1101, the second quantization parameter is input from the second quantization
Обработка этапов S1103-S1108 аналогична обработке этапов S1003-S1008, и поэтому ее описание здесь опущено.The processing of steps S1103 to S1108 is the same as the processing of steps S1003 to S1008, and therefore, description thereof is omitted here.
Описанные выше конфигурация и операции дают возможность параллельного выполнения декодирования, позволяя обращаться к опорному параметру квантования блока в дополнение к таблице вероятности возникновения, которая является статистической информацией, во время обработки самого левого блока даже до завершения обработки строки блоков непосредственно перед строкой блоков, которая в настоящий момент декодируется. Каждая из фиг. 7A и 7B иллюстрирует, каким образом осуществляется обращение к упомянутому опорному параметру квантования блока. В соответствии с традиционной методикой, как проиллюстрировано на фиг. 7A, обработка следующей строки блоков не может начаться, пока не завершена обработка предыдущей строки блоков. Однако в соответствии с настоящим иллюстративным вариантом осуществления может быть осуществлено обращение к более верхнему в пространстве блоку, когда обрабатывается самый левый блок, что обеспечивает шаблон обращений, проиллюстрированный на фиг. 7B, и тем самым устраняется потребность ожидания завершения обработки предыдущей строки блоков.The above-described configuration and operations enable decoding to be performed in parallel by allowing the reference block quantization parameter in addition to the occurrence probability table, which is statistical information, to be accessed during processing of the leftmost block even before the block line processing is completed immediately before the block line that is currently the moment is decoded. Each of FIGS. 7A and 7B illustrate how the reference block quantization parameter is accessed. In accordance with the conventional technique, as illustrated in FIG. 7A, processing of the next block line cannot start until processing of the previous block line is completed. However, in accordance with the present exemplary embodiment, the upper block in space can be accessed when the leftmost block is being processed, providing the access pattern illustrated in FIG. 7B, thereby eliminating the need to wait for the previous block line to complete.
Кроме того, в настоящем иллюстративном варианте осуществления параметр квантования, используемый в самом левом блоке в расположенной непосредственно сверху строке блоков, используется в качестве опорного параметра квантования блока, когда декодируется самый левый блок. Однако настоящее изобретение не ограничено этим и может быть воплощено посредством любой конфигурации, способной улучшить параллелизм обработки по строкам блоков. Например, начальное значение параметра квантования, обеспеченное для слайса, может использоваться в качестве опорного параметра квантования блока, когда декодируются самые левые блоки во всех строках блоков. В качестве другой возможной конфигурации условие сохранения опорного параметра квантования блока может быть таким же, как условие для сохранения таблицы вероятности возникновения, обеспеченное на этапах S1006 и S1106. Более определенно, когда декодируется блок с предопределенным номером от самого левого блока в строке блоков, параметр квантования может использоваться в качестве опорного параметра квантования блока для самого левого блока в следующей строке блоков. Кроме того, устройство декодирования изображения может быть выполнено с возможностью переключать блок, к которому обращаются в качестве опорного параметра квантования блока, на основе режима кодирования самого левого блока.In addition, in the present exemplary embodiment, a quantization parameter used in the leftmost block in the immediately top row of blocks is used as a block quantization reference parameter when the leftmost block is decoded. However, the present invention is not limited thereto, and may be embodied by any configuration capable of improving block row parallelism. For example, an initial quantization parameter value provided for a slice may be used as a block quantization reference parameter when the left-most blocks in all block lines are decoded. As another possible configuration, the condition for storing the block reference quantization parameter may be the same as the condition for storing the occurrence probability table provided in steps S1006 and S1106. More specifically, when a block with a predetermined number from the leftmost block in a block line is decoded, the quantization parameter can be used as a block quantization reference parameter for the leftmost block in the next block line. In addition, the image decoding apparatus may be configured to switch the block referred to as the block quantization reference parameter based on the coding mode of the leftmost block.
Кроме того, в настоящем иллюстративном варианте осуществления в качестве энтропийного декодирования используется арифметическое декодирование, но настоящее изобретение не ограничено этим. Может использоваться любое декодирование, пока во время энтропийного декодирования на основе статистической информации, такой как таблица вероятности возникновения, статистическая информация в середине декодирования строки блоков используется для выполнения энтропийного декодирования самого левого блока следующей строки блоков.In addition, in the present exemplary embodiment, arithmetic decoding is used as entropy decoding, but the present invention is not limited thereto. Any decoding can be used as long as, during entropy decoding based on statistical information such as a probability table, the statistical information in the middle of decoding of a block line is used to perform entropy decoding of the leftmost block of the next block line.
Настоящий иллюстративный вариант осуществления был описан на основе примера, использующего два модуля декодирования. Однако очевидно, что добавление, например, третьего модуля декодирования, третьего модуля хранения таблицы вероятности возникновения и третьего модуля хранения параметра квантования дает возможность параллельной обработки посредством большего количества модулей декодирования.The present illustrative embodiment has been described based on an example using two decoding units. However, it is obvious that adding, for example, a third decoding unit, a third occurrence probability table storage unit, and a third quantization parameter storage unit enables parallel processing by more decoding units.
Фиг. 14 является блок-схемой, иллюстрирующей устройство кодирования изображения в соответствии с третьим иллюстративным вариантом осуществления.FIG. 14 is a block diagram illustrating an image encoding apparatus according to the third illustrative embodiment.
Как показано на фиг. 14, селектор 1401 определяет, принадлежит ли целевой блок обработки четной строке блоков. Селектор 1401 выдает блок первому модулю 1402 кодирования, если блок принадлежит четной строке блоков, в ином случае выдает блок второму модулю 1403 кодирования.As shown in FIG. 14, the
Первый и второй модули 1402 и 1403 кодирования кодируют блоки, на которые входное изображение разделено по n x n пикселей ("n" - положительное целое число, равное или больше 2), по строкам, как проиллюстрировано на фиг. 2. Настоящий иллюстративный вариант осуществления будет описан на основе примера, использующего два модуля кодирования, но настоящее изобретение, не ограничено этим. Как показано на фиг. 2, слайс 201, обозначенный квадратом, нарисованным тонкой линией, представляет блок, и слайс 202, обозначенный прямоугольником, нарисованным толстой линией, представляет строку блоков. Кроме того, блоки в белых областях, которые указывают четные строки блоков, в том числе верхнюю строку блоков (строку блоков с номером 0), кодируются первым модулем 1402 кодирования. Блоки в затененных областях, которые указывают нечетные строки блоков, кодируются вторым модулем 1403 кодирования.The first and
Каждый из первого и второго модулей 1402 и 1403 кодирования сначала формирует ошибки предсказания в соответствии с предсказанием посредством обращения к пикселям, окружающим целевой блок кодирования, или другому кадру и выполняет ортогональное преобразование, чтобы сформировать коэффициенты преобразования. Затем каждый из первого и второго модулей 1402 и 1403 кодирования определяет параметр квантования для ортогонально преобразованных коэффициентов преобразования и квантует каждый коэффициент преобразования, чтобы сформировать коэффициенты квантования. Затем каждый из первого и второго модулей 1402 и 1403 кодирования преобразует в двоичную форму каждый синтаксический элемент, включающий в себя коэффициенты квантования, чтобы сформировать двоичные сигналы. Вероятность возникновения заранее назначается каждому синтаксическому элементу как таблица (именуемая в дальнейшем "таблица вероятности возникновения"). Двоичные сигналы арифметически кодируются на основе описанной выше таблицы вероятности возникновения. Затем, каждый раз, когда кодируется двоичный сигнал, таблица вероятности возникновения обновляется с использованием статистической информации, указывающей, является ли кодированный двоичный сигнал наиболее вероятным символом.Each of the first and
Модуль хранения 1404 начального параметра квантования хранит начальное значение параметра квантования.The initial quantization
Первый модуль 1405 хранения таблицы вероятности возникновения хранит таблицу вероятности возникновения, сформированную первым модулем 1402 кодирования. В дальнейшем таблица вероятности возникновения, сохраненная в первом модуле 1405 хранения таблицы вероятности возникновения, будет упоминаться как "первая таблица вероятности возникновения".The first occurrence probability
Второй модуль 1406 хранения таблицы вероятности возникновения хранит таблицу вероятности возникновения, сформированную вторым модулем 1403 кодирования. В дальнейшем таблица вероятности возникновения, сохраненная во втором модуле 1406 хранения таблицы вероятности возникновения, будет упоминаться как "вторая таблица вероятности возникновения".The second occurrence probability
Модуль 1407 интеграции кодирования интегрирует кодированные данные, сформированные первым модулем 1402 кодирования, и кодированные данные, сформированные вторым модулем 1403 кодирования, и выдает интегрированные данные как битовый поток.The
Работа устройства кодирования изображения в соответствии с настоящим иллюстративным вариантом осуществления будет подробно описана со ссылкой на блок-схемы последовательности операций, проиллюстрированные на фиг. 3, 15 и 16. В настоящем иллюстративном варианте осуществления данные динамического изображения вводятся по кадрам, разделяются на блоки и обрабатываются в растровом порядке. Настоящий иллюстративный вариант осуществления выполнен с возможностью вводить данные динамического изображения по кадрам, но может быть выполнен с возможностью вводить данные неподвижного изображения, соответствующие одному кадру, или вводить данные изображения по слайсам, на которые разделен кадр. Далее для упрощения описания настоящий иллюстративный вариант осуществления будет описан только на основе обработки кодирования с интра-предсказанием, но он не ограничен этим. Настоящий иллюстративный вариант осуществления также может использоваться в обработке кодирования с интер-предсказанием.The operation of an image encoding apparatus according to the present illustrative embodiment will be described in detail with reference to the flowcharts illustrated in FIGS. 3, 15, and 16. In the present exemplary embodiment, dynamic image data is input frame by frame, chunked, and processed in raster order. The present illustrative embodiment is configured to input dynamic image data on a frame-by-frame basis, but may be configured to input still image data corresponding to one frame, or to input image data on slices into which a frame is divided. In the following, for simplicity of description, the present illustrative embodiment will be described only based on intra-prediction coding processing, but it is not limited thereto. The present illustrative embodiment may also be used in inter-prediction coding processing.
Обработка этапов S301, S304 и S305, проиллюстрированных на фиг. 3, является такой же, как в первом иллюстративном варианте осуществления, и поэтому ее описание здесь опущено.The processing of steps S301, S304, and S305 illustrated in FIG. 3 is the same as in the first illustrative embodiment, and therefore, description thereof is omitted here.
Далее, обработка этапа S302 (обработка для кодирования верхней строки блоков) будет подробно описан со ссылкой на блок-схему последовательности операций, проиллюстрированную на фиг. 15. Поскольку верхняя строка блоков является четной строкой блоков, целевой блок обработки вводится селектором 1401 в первый модуль 1402 кодирования и кодируется первым модулем 1402 кодирования.Next, the processing of step S302 (processing for encoding the upper block row) will be described in detail with reference to the flowchart illustrated in FIG. 15. Since the top line of blocks is an even line of blocks, the target processing block is input by the
Сначала на этапе S1501 на основе того, какой блок кодируется, параметр квантования инициализируется таким образом, чтобы он совпадал с начальным значением параметра квантования для слайса, и сохраняется в модуле 1404 хранения начального параметра квантования. В дальнейшем параметр квантования на основе того, какой блок кодируется, будет упоминаться как "опорный параметр квантования блока" подобно первому иллюстративному варианту осуществления. Что касается параметра квантования, используемого для квантования целевого блока кодирования, его значение непосредственно не кодируется как синтаксический элемент, а кодируется значение его разности с опорным параметром квантования блока.First, in step S1501, based on which block is being encoded, the quantization parameter is initialized to match the initial value of the quantization parameter for the slice, and stored in the initial quantization
Затем на этапе S1502 первый модуль 1402 кодирования считывает инициализированный параметр квантования из модуля 1404 хранения начального параметра квантования как опорный параметр квантования блока для кодирования самого левого блока в строке блоков. Затем обработка этапов S1503-S1507 аналогична обработке этапов S402, S403 и S406-S408, проиллюстрированным на фиг. 4, соответственно, и поэтому ее описание здесь опущено.Then, in step S1502, the
Однако на этапе S1504 первый модуль 1402 кодирования кодирует пиксельные данные по блокам.However, in step S1504, the
Затем обработка этапа S303 (обработка для кодирования строки блоков, отличающейся от верхней строки блоков) будет подробно описан со ссылкой на блок-схему последовательности операций, проиллюстрированную на фиг. 16. Селектор 1401 определяет для каждой строки блоков, является ли строка блоков четной строкой блоков. Если строка блоков является четной строкой блоков, изображение целевой строки блоков обработки вводится в первый модуль 1402 кодирования и кодируется первым модулем 1402 кодирования. Если строка блоков является нечетной строкой блоков, изображение целевой строки блоков обработки вводится во второй модуль 1403 кодирования и кодируется вторым модулем 1403 кодирования. Сначала будет описана последовательность операций, когда второй модуль 1403 кодирования кодирует нечетную строку блоков.Next, the processing of step S303 (processing for encoding a block row other than the top block row) will be described in detail with reference to the flowchart illustrated in FIG. 16.
Сначала на этапе S1601 опорный параметр квантования блока для кодирования самого левого блока в строке блоков вводится из модуля 1404 хранения начального параметра квантования. Затем на этапе S1602 первая таблица вероятности возникновения вводится из первого модуля 1405 хранения таблицы вероятности возникновения как опорная таблица вероятности возникновения строки блоков.First, in step S1601, the reference block quantization parameter for encoding the leftmost block in the block row is input from the initial quantization
На этапе S1603 второй модуль 1403 кодирования кодирует пиксельные данные по блокам. Обработка этапа S1604 аналогична обработки этапа S1505, проиллюстрированного на фиг. 15.In step S1603, the
На этапе S1605 таблица вероятности возникновения сохраняется во втором модуле 1406 хранения таблицы вероятности возникновения как вторая таблица вероятности возникновения. Вторая таблица вероятности возникновения будет использоваться в качестве опорной таблицы вероятности возникновения строки блоков, когда первый модуль 1402 кодирования арифметически кодирует самый левый блок в следующей строке блоков.In step S1605, the occurrence probability table is stored in the second occurrence probability
Обработка этапа S1606 аналогична обработки этапа S1507, проиллюстрированного на фиг. 15.The processing of step S1606 is similar to the processing of step S1507 illustrated in FIG. 15.
Далее будет описана последовательность операций, когда первый модуль 1402 кодирования кодирует четную строку блоков.Next, a flow will be described when the
Сначала на этапе S1601 опорный параметр квантования блока для кодирования самого левого блока в строке блоков вводится из модуля 1404 хранения начального параметра квантования. Затем на этапе S1602 вторая таблица вероятности возникновения вводится из второго модуля 1406 хранения таблицы вероятности возникновения как опорная таблица вероятности возникновения строки блоков.First, in step S1601, the reference block quantization parameter for encoding the leftmost block in the block row is input from the initial quantization
Обработка этапов S1603-S1606 аналогична обработке этапов S1504-S1507, и поэтому ее описание здесь опущено.The processing of steps S1603 to S1606 is the same as the processing of steps S1504 to S1507, and therefore, description thereof is omitted here.
Описанные выше конфигурация и операции дают возможность параллельного выполнения кодирования, позволяя осуществлять обращение к опорному параметру квантования блока в дополнение к таблице вероятности возникновения, которая является статистической информацией, во время обработки самого левого блока даже до завершения обработки строки блоков непосредственно перед строкой блоков, которая в настоящий момент кодируется. Каждая из фиг. 17A и 17B иллюстрирует, каким образом осуществляется обращение к опорному параметру квантования блока. На фиг. 17A и 17B, "параметр квантования слайса" указывает начальное значение параметра квантования, обеспеченное для слайса. В соответствии с традиционной методикой, как проиллюстрировано на фиг. 17A, обработка следующей строки блоков не может начаться, пока не завершена обработка предыдущей строки блоков. Однако в соответствии с настоящим иллюстративным вариантом осуществления к начальному значению параметра квантования, обеспеченному для слайса, может быть осуществлено обращение как к опорному параметру квантования блока для кодирования самого левого блока в строке блоков, и тем самым устраняется потребность ожидания завершения обработки предыдущей строки блоков, как проиллюстрировано на фиг. 17B.The above-described configuration and operations enable coding to be performed in parallel, allowing the reference block quantization parameter in addition to the occurrence probability table, which is statistical information, to be accessed during processing of the leftmost block even before the block line processing is completed immediately before the block line, which is is currently being encoded. Each of FIGS. 17A and 17B illustrate how the block quantization reference parameter is accessed. FIG. 17A and 17B, “slice quantization parameter” indicates an initial quantization parameter value provided for a slice. In accordance with the conventional technique, as illustrated in FIG. 17A, processing of the next block line cannot start until processing of the previous block line is completed. However, in accordance with the present exemplary embodiment, the initial quantization parameter value provided for the slice can be accessed as a block quantization reference parameter for encoding the leftmost block in a block row, thereby eliminating the need to wait for the processing of a previous block row to complete as illustrated in FIG. 17B.
Кроме того, в настоящем иллюстративном варианте осуществления в качестве энтропийного кодирования используется арифметическое кодирование, но настоящее изобретение не ограничено этим. Может использоваться любое кодирование, пока во время энтропийного кодирования на основе статистической информации, такой как таблица вероятности возникновения, статистическая информация в середине кодирования строки блоков используется для выполнения энтропийного кодирования самого левого блока следующей строки блоков.In addition, in the present illustrative embodiment, arithmetic coding is used as entropy coding, but the present invention is not limited thereto. Any encoding can be used, as long as during entropy encoding based on statistical information such as a probability table, the statistical information in the middle of the encoding of a block line is used to perform entropy encoding of the leftmost block of the next block line.
Настоящий иллюстративный вариант осуществления был описан на основе примера, использующего два модуля кодирования. Однако очевидно, что добавление, например, третьего модуля кодирования и третьего модуля хранения таблицы вероятности возникновения дает возможность параллельной обработки посредством большего количества модулей кодирования.The present illustrative embodiment has been described based on an example using two encoding units. However, it is obvious that adding, for example, a third coding unit and a third occurrence probability table storage unit enables parallel processing by more coding units.
Фиг. 18 является блок-схемой, иллюстрирующей устройство декодирования изображения в соответствии с четвертым иллюстративным вариантом осуществления.FIG. 18 is a block diagram illustrating an image decoding apparatus according to a fourth illustrative embodiment.
Как показано на фиг. 18, селектор 1801 определяет, принадлежит ли целевой блок обработки четной строке блоков. Селектор 1801 выдает описанный выше битовый поток первому модулю 1802 декодирования, если целевой блок обработки принадлежит четной строке блоков, в ином случае выдает описанный выше битовый поток второму модулю 1803 декодирования.As shown in FIG. 18, the
Модули 1802 и 1803 декодирования декодируют входной битовый поток по строкам блоков, как проиллюстрировано на фиг. 2. Настоящий иллюстративный вариант осуществления будет описан на основе примере, использующего два модуля декодирования, но настоящее изобретение не ограничено этим. Как показано на фиг. 2, блоки в белых областях, которые указывают четные строки блоков, в том числе верхнюю строку блоков (строку блоков с номером 0), декодируются первым модулем 1802 декодирования. Блоки в затененных областях, которые указывают нечетные строки блоков, декодируются вторым модулем 1803 декодирования.Decoding
Каждый из первого и второго модулей 1802 и 1803 декодирования сначала выбирает таблицу вероятности возникновения для двоичных сигналов битового потока, который является целью декодирования, и арифметически декодирует двоичные сигналы на основе таблицы вероятности возникновения, чтобы сформировать коэффициенты квантования. Затем каждый из первого и второго модулей 1802 и 1803 декодирования выполняет обратное квантование коэффициентов квантования на основе параметра квантования, чтобы сформировать коэффициенты преобразования. Затем каждый из первого и второго модулей 1802 и 1803 декодирования выполняет обратное ортогональное преобразование над коэффициентами преобразования, чтобы сформировать ошибки предсказания. Затем каждый из первого и второго модулей 1802 и 1803 декодирования выполняет компенсацию движения посредством обращения к пикселям, окружающим целевой блок декодирования, или другому кадру, чтобы сформировать данные изображения целевого блока декодирования. Модуль 1804 хранения начального параметра квантования хранит начальное значение параметра квантования. Первый модуль 1805 хранения таблицы вероятности возникновения хранит таблицу вероятности возникновения, сформированную первым модулем 1802 декодирования.Each of the first and
Второй модуль 1806 хранения таблицы вероятности возникновения хранит таблицу вероятности возникновения, сформированную вторым модулем 1803 декодирования. Модуль 1807 интеграции данных изображения формирует данные изображения, сформированные первым модулем 1802 декодирования, и данные изображения, сформированные вторым модулем 1803 декодирования, и выдает сформированные данные изображения.The second occurrence probability
Работа устройства декодирования изображения в соответствии с настоящим иллюстративным вариантом осуществления будет подробно описана со ссылкой на блок-схемы последовательности операций, проиллюстрированные на фиг. 9, 19 и 20. В настоящем иллюстративном варианте осуществления битовый поток вводится по кадрам. Битовый поток разделяется на кодированные части данных, каждая из которых соответствует одному блоку, и затем декодируется. Настоящий иллюстративный вариант осуществления выполнен таким образом, что битовый поток вводится по кадрам, но может быть выполнен таким образом, что кадр разделен на слайсы, и битовый поток вводится по слайсам. Кроме того, для упрощения описания настоящий иллюстративный вариант осуществления будет описан только на основе обработки декодирования с интра-предсказанием, но он не ограничен этим. Настоящий иллюстративный вариант осуществления также может использоваться в обработке декодирования с интер-предсказанием.The operation of the image decoding apparatus according to the present exemplary embodiment will be described in detail with reference to the flowcharts illustrated in FIGS. 9, 19, and 20. In the present exemplary embodiment, the bitstream is inserted frame by frame. The bitstream is split into coded pieces of data, each corresponding to one block, and then decoded. The present illustrative embodiment is configured such that the bitstream is inputted frame by frame, but may be configured such that the frame is divided into slices and the bitstream is inputted frame by slice. In addition, for simplicity of description, the present illustrative embodiment will be described only based on intra prediction decoding processing, but it is not limited thereto. The present illustrative embodiment may also be used in inter-prediction decoding processing.
Обработка этапов S901, S904 и S905, проиллюстрированных на фиг. 9, является такой же, как во втором иллюстративном варианте осуществления, и поэтому ее описание здесь опущено.The processing of steps S901, S904, and S905 illustrated in FIG. 9 is the same as in the second illustrative embodiment, and therefore, description thereof is omitted here.
Обработка этапа S902 (обработку для декодирования верхней строки блоков) будет подробно описана со ссылкой на блок-схему последовательности операций, проиллюстрированную на фиг. 19. Поскольку верхняя строка блоков является четной строкой блоков, кодированные данные целевой строки блоков обработки вводятся селектором 1801 в первый модуль 1802 декодирования и декодируются первым модулем 1802 декодирования.The processing of step S902 (processing for decoding the upper block row) will be described in detail with reference to the flowchart illustrated in FIG. 19. Since the top line of the blocks is an even line of blocks, the encoded data of the target line of the processing blocks is input by the
Сначала на этапе S1901 на основе того, какой блок декодируется, параметр квантования инициализируется таким образом, чтобы он совпадал с начальным значением параметра квантования для слайса, и сохраняется в модуле 1804 хранения начального параметра квантования. В дальнейшем параметр квантования на основе того, какой блок декодируется, будет упоминаться как "опорный параметр квантования блока" подобно устройству декодирования изображения в соответствии со вторым иллюстративным вариантом осуществления. Когда выполняется обратное квантование целевого блока декодирования, параметр квантования блока находится в таком состоянии, что само значение не кодировано, а в качестве синтаксического элемента кодировано значение его разности с опорным параметром квантования блока. Поэтому во время декодирования параметр квантования блока должен быть формирован посредством сложения опорного параметра квантования блока и описанного выше значения разности, и устройство декодирования должно выполнить обратное квантование с использованием сформированного параметра квантования блока.First, in step S1901, based on which block is being decoded, the quantization parameter is initialized to match the initial quantization parameter for the slice, and stored in the initial quantization
Затем на в этапе S1902, первый модуль 1802 декодирования считывает значение из модуля 1804 хранения начального параметра квантования как опорный параметр квантования блока для декодирования самого левого блока в строке блоков. Затем обработка этапов S1903-S1907 аналогична обработке этапов S1002, S1003, S1006-S1008, соответственно, и поэтому ее описание здесь опущено.Then, in step S1902, the
Далее обработка этапа S903 (обработка для декодирования строки блоков, отличающейся от верхней строки блоков) будет подробно описан со ссылкой на блок-схему последовательности операций, проиллюстрированную на фиг. 20. Селектор 1801 определяет для каждой строки блоков, является ли строка блоков четной строкой блоков. Если строка блоков является четной строкой блоков, битовый поток целевого блока обработки вводится в первый модуль 1802 декодирования и декодируется первым модулем 1802 декодирования. Если строка блоков является нечетной строкой блоков, битовый поток целевого блока обработки вводится во второй модуль 1803 декодирования и декодируется вторым модулем 1803 декодирования. Сначала будет описана последовательность операций, когда второй модуль 1803 декодирования декодирует нечетную строку блоков.Next, the processing of step S903 (processing for decoding a block row other than the top block row) will be described in detail with reference to the flowchart illustrated in FIG. 20.
Сначала на этапе S2001 опорный параметр квантования блока для декодирования самого левого блока в строке блоков вводится из модуля 1804 хранения начального параметра квантования. Затем на этапе S2002 первая таблица вероятности возникновения вводится из первого модуля 1805 хранения таблицы вероятности возникновения как опорная таблица вероятности возникновения строки блоков.First, in step S2001, the reference block quantization parameter for decoding the leftmost block in the block row is input from the initial quantization
На этапе S2003 второй модуль 1403 декодирования декодирует пиксельные данные по блокам. Обработка этапа S2004 аналогична обработке этапа S1905, и поэтому ее описание здесь опущено.In step S2003, the
На этапе S2005 таблица вероятности возникновения сохраняется во втором модуле 1806 хранения таблицы вероятности возникновения как вторая таблица вероятности возникновения. Вторая таблица вероятности возникновения будет использоваться в качестве опорной таблицы вероятности возникновения строки блоков, когда первый модуль 1402 декодирования будет арифметически декодировать самый левый блок в следующей строке блоков.In step S2005, the occurrence probability table is stored in the second occurrence probability
Обработка этапа S2006 аналогично обработке этапа S1907, и поэтому ее описание здесь опущено. Далее будет описана последовательность операций, когда первый модуль 1802 декодирования декодирует четную строку блоков.The processing of step S2006 is the same as that of step S1907, and therefore, description thereof is omitted here. Next, a flow will be described when the
Сначала на этапе S2001 опорный параметр квантования блока для декодирования самого левого блока в строке блоков вводится из модуля 1804 хранения начального параметра квантования. Затем на этапе S2002 первая таблица вероятности возникновения вводится из второго модуля 1806 хранения таблицы вероятности возникновения как опорная таблица вероятности возникновения строки блоков.First, in step S2001, the reference block quantization parameter for decoding the leftmost block in the block row is input from the initial quantization
Обработка этапов S2003-S2006 аналогична обработке этапов S1904-S1907, и поэтому ее описание здесь опущено.The processing of steps S2003 to S2006 is the same as the processing of steps S1904 to S1907, and therefore, description thereof is omitted here.
Описанные выше конфигурация и операции дают возможность параллельного выполнения декодирования, позволяя осуществлять обращение к опорному параметру квантования блока в дополнение к таблице вероятности возникновения, которая является статистической информацией, во время обработки самого левого блока даже до завершения обработки строки блоков непосредственно перед строкой блоков, которая в настоящий момент декодируется.The above-described configuration and operations enable decoding to be performed in parallel, allowing the reference block quantization parameter in addition to the occurrence probability table, which is statistical information, to be accessed during processing of the leftmost block even before the completion of the block line immediately before the block line, which is currently being decoded.
Кроме того, в настоящем иллюстративном варианте осуществления в качестве энтропийного декодирования используется арифметическое декодирование, но настоящее изобретение не ограничено этим. Может использоваться любое декодирование, пока во время энтропийного декодирования на основе статистической информации, такой как таблица вероятности возникновения, статистическая информация в середине декодирования строки блоков используется для выполнения энтропийного декодирования самого левого блока следующей строки блоков.In addition, in the present exemplary embodiment, arithmetic decoding is used as entropy decoding, but the present invention is not limited thereto. Any decoding can be used as long as, during entropy decoding based on statistical information such as a probability table, the statistical information in the middle of decoding of a block line is used to perform entropy decoding of the leftmost block of the next block line.
Настоящий иллюстративный вариант осуществления был описан на основе примера, использующего два модуля декодирования. Однако очевидно, что добавление, например, третьего модуля декодирования и третьего модуля хранения таблицы вероятности возникновения дает возможность параллельной обработки посредством большего количества модулей декодирования.The present illustrative embodiment has been described based on an example using two decoding units. However, it is obvious that adding, for example, a third decoding unit and a third occurrence probability table storage unit enables parallel processing by more decoding units.
Фиг. 21 является блок-схемой, иллюстрирующей устройство кодирования изображения в соответствии с пятым иллюстративным вариантом осуществления.FIG. 21 is a block diagram illustrating an image encoding apparatus according to a fifth illustrative embodiment.
Как показано на фиг. 21, селектор 2101 определяет, принадлежит ли целевой блок обработки четной строке блоков. Селектор 2101 выдает блок к первому модулю 2102 кодирования, если блок принадлежит четной строке блоков, в ином случае выдает блок второму 2103 модулю кодирования 2103.As shown in FIG. 21, the
Первый и второй модули 2102 и 2103 кодирования кодируют блоки, на которые входное изображение разделено по n x n пикселей ("n" положительное целое число, равное или больше 2), по строкам, как проиллюстрировано на фиг. 2. Настоящий иллюстративный вариант осуществления будет описан на основе примера, использующего два модуля кодирования, но настоящее изобретение, не ограничено этим. Как показано на фиг. 2, слайс 201, обозначенный квадратом, нарисованный тонкой линией, представляет блок, и слайс 202, обозначенный прямоугольником, нарисованным толстой линией, представляет строку блоков. Кроме того, блоки в белых областях, которые указывают четные строки блоков, в том числе верхнюю строку блоков (строку блоков с номером 0), кодируются первым модулем 2102 кодирования. Блоки в затененных областях, которые указывают нечетные строки блоков, кодируются вторым модулем 2103 кодирования.The first and
Каждый из первого и второго модулей 2102 и 2103 кодирования сначала формирует ошибки предсказания в соответствии с предсказанием посредством обращения к пикселям, окружающим кодирующий целевой блок, или другому кадру и выполняет ортогональное преобразование, чтобы сформировать коэффициенты преобразования. Затем каждый из первого и второго модулей 2102 и 2103 кодирования определяет параметр квантования для ортогонально преобразованных коэффициентов преобразования и квантует каждый коэффициент преобразования, чтобы сформировать коэффициенты квантования. Затем каждый из первого и второго модулей 2102 и 2103 кодирования преобразует в двоичную форму каждый синтаксический элемент, включающий в себя коэффициенты квантования, чтобы сформировать двоичные сигналы. Вероятность возникновения заранее назначается каждому синтаксическому элементу как таблица (именуемая в дальнейшем "таблица вероятности возникновения"). Двоичные сигналы арифметически кодируются на основе описанной выше таблицы вероятности возникновения. Затем, каждый раз, когда кодируется двоичный сигнал, таблица вероятности возникновения обновляется с использованием статистической информации, указывающей, является ли кодированный двоичный сигнал наиболее вероятным символом.Each of the first and
Модуль 2104 хранения начального параметра квантования хранит начальное значение параметра квантования. Модуль 2105 хранения начальной таблицы вероятности возникновения хранит начальное значение таблицы вероятности возникновения. Модуль 2106 интеграции кодирования интегрирует кодированные данные, сформированные первым модулем 2102 кодирования, и кодированные данные, сформированные вторым модулем 2103 кодирования, и выдает интегрированные данные как битовый поток.The initial quantization
Работа устройства кодирования изображения в соответствии с настоящим иллюстративным вариантом осуществления будет подробно описана со ссылкой на блок-схемы последовательности операций, проиллюстрированные на фиг. 3, 22 и 23. В настоящем иллюстративном варианте осуществления данные динамического изображения вводятся по кадрам, разделяются на блоки и обрабатываются в растровом порядке. Настоящий иллюстративный вариант осуществления выполнен с возможностью вводить данные динамического изображения по кадрам, но может быть выполнен с возможностью вводить данные неподвижного изображения, соответствующие одному кадру, или вводить данные изображения по слайсам, на которые разделен кадр. Далее для упрощения описания настоящий иллюстративный вариант осуществления будет описан только на основе обработки кодирования с интра-предсказанием, но он не ограничен этим. Настоящий иллюстративный вариант осуществления также может использоваться в обработке кодирования с интер-предсказанием.The operation of an image encoding apparatus according to the present illustrative embodiment will be described in detail with reference to the flowcharts illustrated in FIGS. 3, 22, and 23. In the present exemplary embodiment, dynamic image data is input frame by frame, chunked, and processed in raster order. The present illustrative embodiment is configured to input dynamic image data on a frame-by-frame basis, but may be configured to input still image data corresponding to one frame, or to input image data on slices into which a frame is divided. In the following, for simplicity of description, the present illustrative embodiment will be described only based on intra-prediction coding processing, but it is not limited thereto. The present illustrative embodiment may also be used in inter-prediction coding processing.
Обработка этапов S301, S304 и S305, проиллюстрированных на фиг. 3, являются такой же, как в первом иллюстративном варианте осуществления, и поэтому ее описание здесь опущено.The processing of steps S301, S304, and S305 illustrated in FIG. 3 are the same as in the first illustrative embodiment, and therefore, description thereof is omitted here.
Обработка этапа S302 (обработка для кодирования верхней строки блоков) будет подробно описан со ссылкой на блок-схему последовательности операций, проиллюстрированную на фиг. 22. Поскольку верхняя строка блоков является четной строкой блоков, целевой блок обработки вводится селектором 2101 в первый модуль 2102 кодирования и кодируется первым модулем 2102 кодирования.The processing of step S302 (processing for encoding the upper block row) will be described in detail with reference to the flowchart illustrated in FIG. 22. Since the top line of blocks is an even line of blocks, the target processing block is input by the
Сначала на этапе S2201 на основе того, какой блок кодируется, параметр квантования инициализируется таким образом, чтобы он совпадал с начальным значением параметра квантования для слайса, и сохраняется в модуле 2104 хранения начального параметра квантования. В дальнейшем параметр квантования, основанный на том, какой блок кодируется, будет упоминаться как "опорный параметр квантования блока" подобно первому иллюстративному варианту осуществления. Что касается параметра квантования, используемого для квантования целевого блока кодирования, его значение непосредственно не кодируется как синтаксический элемент, а кодируется значение его разности с опорным параметром квантования блока.First, in step S2201, based on which block is being encoded, the quantization parameter is initialized to match the initial value of the quantization parameter for the slice, and stored in the initial quantization
Затем на этапе S2202 первый модуль 2102 кодирования считывает инициализированный параметр квантования из модуля 2104 хранения начального параметра квантования как опорный параметр квантования блока для кодирования самого левого блока в строке блоков. Затем на этапе S2203 таблица вероятности возникновения инициализируется предопределенным способом и сохраняется в модуле 2105 хранения начальной таблицы вероятности возникновения. Таблица вероятности возникновения, сохраненная в модуле 2105 хранения начальной таблицы вероятности возникновения, используется для арифметического кодирования первого двоичного сигнала самого левого блока в строке блоков и обновляется по мере необходимости на этапе S2205, который будет описан ниже. В дальнейшем таблица вероятности возникновения, используемая для арифметического кодирования двоичного сигнала первого блока в строке блоков, будет упоминаться как "опорная таблица вероятности возникновения строки блоков" подобно первому иллюстративному варианту осуществления.Then, in step S2202, the
Затем на этапе S2204 первый модуль 2102 кодирования считывает инициализированный параметр квантования из модуля 2105 хранения начальной таблицы вероятности возникновения как опорную таблицу вероятности возникновения строки блоков.Then, in step S2204, the
Затем обработка этапов S2205 и S2206 аналогична обработке этапов S403 и S408, иллюстрированным на фиг. 4, соответственно, и поэтому ее описание здесь опущено. Однако на этапе S2205 первый модуль 2012 кодирования кодирует пиксельные данные по блокам. Далее обработка этапа S303 (обработка для кодирования строки блоков, отличающихся от верхней строки блоков) будет подробно описан со ссылкой на блок-схему последовательности операций, проиллюстрированную на фиг. 23. Селектор 2101 определяет для каждой строки блоков, является ли строка блоков четной строкой блоков. Если строка блоков является четной строкой блоков, изображение целевой строки блоков обработки вводится в первый модуль 2102 кодирования и кодируется первым модулем 2102 кодирования. Если строка блоков является нечетной строкой блоков, изображение целевой строки блоков обработки вводится во второй модуль 2103 кодирования и кодируется вторым модулем 2103 кодирования. Сначала будет описана последовательность операций, когда второй модуль 2103 кодирования кодирует нечетную строку блоков.Then, the processing of steps S2205 and S2206 is similar to the processing of steps S403 and S408 illustrated in FIG. 4, respectively, and therefore its description is omitted here. However, in step S2205, the first encoding unit 2012 encodes the pixel data block by block. Next, the processing of step S303 (processing for encoding a block row other than the top block row) will be described in detail with reference to the flowchart illustrated in FIG. 23.
Сначала на этапе S2301 опорный параметр квантования блока для кодирования самого левого блока в строке блоков вводится из модуля 2104 хранения начального параметра квантования.First, in step S2301, the reference block quantization parameter for encoding the leftmost block in the block row is input from the initial quantization
Затем на этапе S2302 значение вводится из модуля 2105 хранения начальной таблицы вероятности возникновения как опорная таблица вероятности возникновения строки блоков.Then, in step S2302, a value is input from the initial occurrence probability
Затем на этапе S2303 второй модуль 2103 кодирования кодирует пиксельные данные по блокам. Обработка этапа S2304 аналогична обработке этапа S2206, проиллюстрированного на фиг. 22. Далее будет описана последовательность операций, когда первый модуль 2102 кодирования кодирует четную строку блоков. Сначала на этапе S2301 опорный параметр квантования блока для кодирования самого левого блока в строке блоков вводится из модуля 2104 хранения начального параметра квантования. Затем на этапе S2302 значение вводится из модуля 2105 хранения начальной таблицы вероятности возникновения как опорная таблица вероятности возникновения строки блоков.Then, in step S2303, the
Обработка этапов S2303 и S2304 аналогична обработке этапов S2205 и S2206, и поэтому их описание здесь опущено.The processing of steps S2303 and S2304 is the same as the processing of steps S2205 and S2206, and therefore their description is omitted here.
Описанные выше конфигурация и операции дают возможность параллельного выполнения кодирования посредством использования таблицы вероятности возникновения, которая является статистической информацией, и инициализированного значения в качестве опорного параметра квантования блока во время обработки самого левого блока даже до завершения обработки строки блоков непосредственно перед строкой блоков, которая в настоящий момент кодируется. Кроме того, в настоящем иллюстративном варианте осуществления арифметическое кодирование используется для энтропийного кодирования, но настоящее изобретение не ограничено этим. Любой способ кодирования может использоваться, пока статистическая информация инициализируется в начале обработки кодирования, обработка кодирования выполняется с использованием статистической информации, и статистическая информация обновляется каждый раз, когда выполняется обработка кодирования.The above-described configuration and operations enable coding to be performed in parallel by using an occurrence probability table, which is statistical information, and an initialized value as a block quantization reference parameter during processing of the leftmost block, even before the block line processing is completed immediately before the block line that is currently the moment is encoded. In addition, in the present illustrative embodiment, arithmetic coding is used for entropy coding, but the present invention is not limited thereto. Any encoding method can be used as long as the statistical information is initialized at the start of the encoding processing, the encoding processing is performed using the statistical information, and the statistical information is updated every time the encoding processing is performed.
Настоящий иллюстративный вариант осуществления был описан на основе примера, использующего два модуля кодирования. Однако очевидно, что добавление, например, третьего модуля кодирования дает возможность параллельной обработки посредством большего количества модулей кодирования.The present illustrative embodiment has been described based on an example using two encoding units. However, it is obvious that the addition of, for example, a third coding unit enables parallel processing by means of more coding units.
Фиг. 24 является блок-схемой, иллюстрирующей устройство декодирования изображения в соответствии с шестым иллюстративным вариантом осуществления.FIG. 24 is a block diagram illustrating an image decoding apparatus according to a sixth illustrative embodiment.
Как показано на фиг. 24, селектор 2401 определяет, принадлежит ли целевой блок обработки четной строке блоков. Селектор 2401 выдает блок к первому модулю 2402 декодирования, если блок принадлежит четной строке блоков, в ином случае выдает блок второму модулю 2403 декодирования.As shown in FIG. 24,
Первый и второй модули 2402 и 2403 декодирования декодируют входной битовый поток по строкам блоков, как проиллюстрировано на фиг. 2. В дальнейшем строка из блоков будет упоминаться как "строка блоков". Настоящий иллюстративный вариант осуществления будет описан на основе примера, использующего два модуля декодирования, но настоящее изобретение не ограничено этим. Как показано на фиг, слайс 201, обозначенный квадратом, нарисованным тонкой линией, представляет блок, и слайс 202, обозначенный прямоугольником, нарисованным толстой линией, представляет строку блоков. Кроме того, блоки с белыми областями, которые указывают четные строки блоков, в том числе верхнюю строку блоков (строку блоков с номером 0), декодируются первым модулем 2402 декодирования. Блоки с затененными областями, которые указывают нечетные строки блоков, декодируются вторым модулем 2403 декодирования.The first and
Каждый из первого и второго модулей 2402 и 2403 декодирования сначала выбирает таблицу вероятности возникновения для двоичного сигнала битового потока, который является целью декодирования, и арифметически декодирует двоичный сигнал на основе таблицы вероятности возникновения, чтобы сформировать коэффициенты квантования. Затем каждый из первого и второго модулей 2402 и 2403 декодирования выполняет обратное квантование коэффициентов квантования на основе параметра квантования, чтобы сформировать коэффициенты преобразования. Затем каждый из первого и второго модулей 2402 и 2403 декодирования выполняет обратное ортогональное преобразование над коэффициентами преобразования, чтобы сформировать ошибки предсказания. Затем каждый из первого и второго модулей 2402 и 2403 декодирования выполняет предсказание посредством обращения к пикселям, окружающим целевой блок декодирования, или другому кадру, чтобы сформировать данные изображения целевого блока декодирования.Each of the first and
Модуль 2404 хранения начального параметра квантования хранит начальное значение параметра квантования. Модуль 2405 хранения начальной таблицы вероятности возникновения хранит начальное значение таблицы вероятности возникновения. Блок 2406 интеграции данных изображения формирует данные изображения, сформированных первым модулем 2402 декодирования, и данные изображения, сформированные вторым модулем 2403 декодирования, и выдает сформированные данные.The initial quantization
Работа устройства декодирования изображения в соответствии с настоящим иллюстративным вариантом осуществления будет подробно описана со ссылкой на блок-схемы последовательности операций, проиллюстрированные на фиг. 9, 25 и 26. В настоящем иллюстративном варианте осуществления битовый поток вводится по кадрам. Битовый поток разделяется на кодированные части данных, каждая из которых соответствует одному блоку, и затем декодируется. Настоящий иллюстративный вариант осуществления выполнен таким образом, что битовый поток вводится по кадрам, но может быть выполнен таким образом, что кадр разделен на слайсы, и битовый поток вводится по слайсам. Кроме того, для упрощения описания настоящий иллюстративный вариант осуществления будет описан только на основе обработки декодирования с интра-предсказанием, но он не ограничен этим. Настоящий иллюстративный вариант осуществления также может использоваться в обработке декодирования с интер-предсказанием.The operation of the image decoding apparatus according to the present exemplary embodiment will be described in detail with reference to the flowcharts illustrated in FIGS. 9, 25, and 26. In the present exemplary embodiment, the bitstream is inserted frame by frame. The bitstream is split into coded pieces of data, each corresponding to one block, and then decoded. The present illustrative embodiment is configured such that the bitstream is inputted frame by frame, but may be configured such that the frame is divided into slices and the bitstream is inputted frame by slice. In addition, for simplicity of description, the present illustrative embodiment will be described only based on intra prediction decoding processing, but it is not limited thereto. The present illustrative embodiment may also be used in inter-prediction decoding processing.
Обработка этапов S901, S904 и S905, проиллюстрированных на фиг. 9, является такой же, как во втором иллюстративном варианте осуществления, и поэтому ее описание здесь опущено.The processing of steps S901, S904, and S905 illustrated in FIG. 9 is the same as in the second illustrative embodiment, and therefore, description thereof is omitted here.
Обработка этапа S902 (обработка для декодирования верхней строки блоков) будет подробно описана со ссылкой на блок-схему последовательности операций, проиллюстрированную на фиг. 25. Поскольку верхняя строка блоков является четной строкой блоков, кодированные данные целевой строки блоков обработки вводятся селектором 2401 в первый модуль 2402 декодирования и декодируются первым модулем 2402 декодирования.The processing of step S902 (processing for decoding the upper block row) will be described in detail with reference to the flowchart illustrated in FIG. 25. Since the top line of blocks is an even line of blocks, encoded data of the target line of processing blocks is input by the
Сначала на этапе S2501 на основе того, какой блок декодируется, параметр квантования инициализируется таким образом, чтобы он совпадал с начальным значением параметра квантования для слайса, и сохраняется в модуле 2404 хранения начального параметра квантования. В дальнейшем параметр квантования на основе того, какой блок декодируется, будет упоминаться как "опорный параметр квантования блока" подобно второму иллюстративному варианту осуществления. Когда выполняется обратное квантование целевого блока декодирования, параметр квантования блока находится в таком состоянии, что само значение не кодировано, а в качестве синтаксического элемента кодировано значение его разности с опорным параметром квантования блока. Поэтому во время декодирования параметр квантования блока должен быть формирован посредством сложения опорного параметра квантования блока и описанного выше значения разности, и устройство декодирования должно выполнить обратное квантование.First, in step S2501, based on which block is being decoded, the quantization parameter is initialized to match the initial quantization parameter for the slice, and stored in the initial quantization
Затем на этапе S2502 первый модуль 2402 декодирования считывает значение из модуля 2404 хранения начального параметра квантования как опорный параметр квантования блока для кодирования самого левого блока в строке блоков. Затем на этапе S2503 таблица вероятности возникновения инициализируется предопределенным способом и сохраняется в модуле 2405 хранения начальной таблицы вероятности возникновения. Таблица вероятности возникновения, сохраненная в модуле 2405 хранения начальной таблицы вероятности возникновения, используется для арифметического декодирования первого двоичного сигнала самого левого блока в строке блоков и обновляется по мере необходимости на этапе S2505, который будет описан ниже. В дальнейшем таблица вероятности возникновения, используемая для арифметического декодирования первого двоичного сигнала начального блока в строке блоков, будет упоминаться как "опорная таблица вероятности возникновения строки блоков" подобно второму иллюстративному варианту осуществления.Then, in step S2502, the
Затем на этапе S2504 первый модуль 2402 декодирования считывает значение из модуля 2405 хранения начальной таблицы вероятности возникновения как опорную таблицу вероятности возникновения строки блоков.Then, in step S2504, the
Затем обработка этапов S2505 и S2506 аналогична обработке этапов S1003 и S1008, проиллюстрированных на фиг. 10, соответственно, и поэтому их описание здесь опущено.Then, the processing of steps S2505 and S2506 is similar to the processing of steps S1003 and S1008 illustrated in FIG. 10, respectively, and therefore their description is omitted here.
Однако на этапе S2505 первый модуль 2402 декодирования декодирует пиксельные данные по блокам.However, in step S2505, the
Далее обработка этапа S903 (обработка для декодирования строки блоков, отличающейся от верхней строки блоков) будет подробно описан со ссылкой на блок-схему последовательности операций, проиллюстрированную на фиг. 26. Селектор 2401 определяет для каждой строки блоков, является ли строка блоков четной строкой блоков. Если строка блоков является четной строкой блоков, битовый поток целевого блока обработки вводится в первый модуль 2402 декодирования и декодируется первым модулем 2402 декодирования. Если строка блоков является нечетной строкой блоков, битовый поток целевого блока обработки вводится во второй модуль 2403 декодирования и декодируется вторым модулем 2403 декодирования. Сначала будет описана последовательность операций, когда второй модуль 2403 декодирования декодирует нечетную строку блоков.Next, the processing of step S903 (processing for decoding a block row other than the top block row) will be described in detail with reference to the flowchart illustrated in FIG. 26.
Сначала на этапе S2601 опорный параметр квантования блока для декодирования самого левого блока в строке блоков вводится из модуля 2404 хранения начального параметра квантования.First, in step S2601, the reference block quantization parameter for decoding the leftmost block in the block row is input from the initial quantization
Затем на этапе S2602 значение вводится из модуля 2405 хранения начальной таблицы вероятности возникновения как опорная таблица вероятности возникновения строки блоков.Then, in step S2602, a value is input from the initial occurrence probability
Затем на этапе S2603 второй модуль 2403 декодирования декодирует пиксельные данные по блокам. Обработка этапа S2604 аналогична обработке этапа S2506, проиллюстрированного на фиг. 25. Далее будет описана последовательность операций, когда первый модуль 2402 декодирования декодирует четную строку блоков. Сначала на этапе S2601 опорный параметр квантования блока для декодирования самого левого блока в строке блоков вводится из модуля 2404 хранения начального параметра квантования. Затем на этапе S2602 значение вводится из модуля 2405 хранения начальной таблицы вероятности возникновения как опорная таблица вероятности возникновения строки блоков.Then, in step S2603, the
Обработка этапов S2603 и S2604 аналогична обработке этапов S2505 и S2506, и поэтому ее описание здесь опущено.The processing of steps S2603 and S2604 is the same as that of steps S2505 and S2506, and therefore, description thereof is omitted here.
Описанные выше конфигурация и операции дают возможность параллельного выполнения декодирования посредством использования таблицы вероятности возникновения, которая является статистической информацией, и инициализированного значения в качестве опорного параметра квантования блока во время обработки самого левого блока даже до завершения обработки строки блоков непосредственно перед строкой блоков, которая в настоящий момент декодируется.The above-described configuration and operations enable decoding to be performed in parallel by using the occurrence probability table, which is statistical information, and the initialized value as the block quantization reference parameter during processing of the leftmost block, even before the block line processing is completed immediately before the block line that is currently the moment is decoded.
Кроме того, в настоящем иллюстративном варианте осуществления арифметическое декодирование используется для энтропийного декодирования, но настоящее изобретение не ограничено этим. Любой способ декодирования может использоваться, пока статистическая информация инициализируется в начале обработки декодирования, обработка декодирования выполняется с использованием статистической информации, и статистическая информация обновляется каждый раз, когда выполняется обработка декодирования.In addition, in the present exemplary embodiment, arithmetic decoding is used for entropy decoding, but the present invention is not limited thereto. Any decoding method can be used as long as the statistical information is initialized at the start of the decoding processing, the decoding processing is performed using the statistical information, and the statistical information is updated every time the decoding processing is performed.
Настоящий иллюстративный вариант осуществления был описан на основе примера, использующего два модуля декодирования. Однако очевидно, что добавление, например, третьего модуля декодирования дает возможность параллельной обработки посредством большего количества модулей декодирования.The present illustrative embodiment has been described based on an example using two decoding units. However, it is obvious that the addition of, for example, a third decoding unit enables parallel processing by more decoding units.
Представленные выше иллюстративные варианты осуществления были описаны в предположении, что соответствующие модули обработки, проиллюстрированные на фиг. 1, 8, 14, 18, 21 и 24, реализованы посредством аппаратных устройств. Однако обработка, выполняемая соответствующими модулями обработки, проиллюстрированными на фиг. 1, 8, 14, 18, 21 и 24, может быть реализована посредством компьютерной программы.The above illustrative embodiments have been described with the assumption that the respective processing units illustrated in FIG. 1, 8, 14, 18, 21 and 24 are implemented by hardware devices. However, the processing performed by the respective processing units illustrated in FIG. 1, 8, 14, 18, 21 and 24 can be implemented by a computer program.
Фиг. 13 является блок-схемой, иллюстрирующая пример аппаратной конфигурации компьютера, который может быть использован как устройства обработки изображений в соответствии с описанными выше соответствующими иллюстративными вариантами осуществления.FIG. 13 is a block diagram illustrating an example of a hardware configuration of a computer that can be used as an image processing apparatus in accordance with the respective illustrative embodiments described above.
Центральный процессор (ЦП) 1301 управляет всем компьютером с использованием компьютерной программы и данных, хранящихся в оперативном запоминающем устройстве (ОЗУ; RAM) 1302 и постоянном запоминающем устройстве (ПЗУ; ROM) 1303, и выполняет соответствующие описанные виды обработки, которые должны выполняться устройствами обработки изображений в соответствии с описанными выше соответствующими иллюстративными вариантами осуществления. Другими словами, ЦП 1301 функционирует как соответствующие модули обработки, проиллюстрированные на фиг. 1, 8, 14, 18, 21 и 24.A central processing unit (CPU) 1301 controls the entire computer using a computer program and data stored in a random access memory (RAM) 1302 and a read only memory (ROM) 1303, and performs the corresponding described processing to be performed by the processing devices. images in accordance with the above-described corresponding illustrative options for implementation. In other words, the
ОЗУ 1302 имеет область для временного хранения, например, компьютерной программы и данных, загруженных из внешнего устройства 1306 хранения, и данных, полученные от внешней стороны через интерфейс (I/F) 1307. Кроме того, ОЗУ 1302 имеет рабочую область, используемую, когда ЦП 1301 выполняет различные виды обработки. Другими словами, например, ОЗУ 1302 может быть назначено в качестве памяти кадров или может обеспечить другие различные виды областей по мере необходимости.The
ПЗУ 1303 хранит, например, данные установки настоящего компьютера и программу начальной загрузки. Функциональный модуль 1304 включает в себя клавиатуру и мышь. Пользователь настоящего компьютера может вводить различные виды инструкций для ЦП 1301 посредством управления функциональным модулем 1304. Модуль 1305 отображения отображает результат обработки, выполняемой ЦП 1301. Кроме того, модуль 1305 отображения включает в себя устройство отображения, такое как жидкокристаллический дисплей.
Внешним устройством 1306 хранения является устройство хранения информации большой емкости, представленное накопителем на жестком диске. Внешнее устройство 1306 хранения хранит операционную систему (OS) и компьютерную программу для того, чтобы дать возможность ЦП 1301 реализовать функции соответствующих модулей, проиллюстрированных на фиг. 1, 8, 14, 18, 21 и 24. Кроме того, внешнее устройство 1306 хранения может хранить данные изображения как цель обработки.The
Компьютерная программа и данные, хранящиеся на внешнем устройстве 1306 хранения, загружаются в ОЗУ 1302 по мере необходимости в соответствии с управлением посредством ЦП 1301 и обрабатываются посредством ЦП 1301. Сеть, такая как локальная сеть (LAN) и Интернет, и другое устройство, такое как проекционное устройство и устройство отображения, могут быть соединены с интерфейсом 1307. Компьютер может получать и передавать различные виды информации через интерфейс 1307. Шина 1308 соединяет описанные выше соответствующие модули с друг другом.The computer program and data stored on the
Что касается операций описанной выше конфигурации, ЦП 1301 играет центральную роль в управлении операциями, объясненными со ссылками на описанные выше блок-схемы последовательности операций.With regard to the operations of the above-described configuration, the
Настоящее изобретение также может быть воплощено посредством того, что для системы обеспечивают носитель, хранящий коды компьютерной программы, которая может реализовать описанные выше функции, и заставляют систему считывать и исполнять коды компьютерной программы. В этом случае коды компьютерной программы, считанные с носителя, реализуют функции описанных выше иллюстративных вариантов осуществления, и носитель, хранящий коды компьютерной программы, находится в рамках объема настоящего изобретения. В качестве альтернативы, операционная система и т.п., которая работает на компьютере, может выполнять часть фактической обработки или всю фактическую обработку на основе инструкций кодов компьютерной программы, тем самым реализуя описанные выше функции посредством этой обработки. Этот случай также находится в рамках объема настоящего изобретения.The present invention can also be embodied by providing a storage medium for the system storing computer program codes that can implement the above-described functions, and causing the system to read and execute the computer program codes. In this case, the computer program codes read from the medium implement the functions of the above-described illustrative embodiments, and the medium storing the computer program codes falls within the scope of the present invention. Alternatively, an operating system or the like that runs on a computer may perform part of the actual processing or all of the actual processing based on instructions of the computer program codes, thereby realizing the above-described functions through this processing. This case is also within the scope of the present invention.
Кроме того, в качестве альтернативы, настоящее изобретение может быть воплощено посредством следующего варианта осуществления; коды компьютерной программы, считанные с носителя, могут быть записаны на функциональной плате расширения, вставленной в компьютер, или на запоминающее устройство, обеспеченное для функционального блока расширения, соединенного с компьютером, и ЦП и т.п., обеспеченные для функциональной платы расширения или функционального блока расширения, могут выполнять часть фактической обработки или всю фактическую обработку на основе инструкций кодов компьютерной программы, тем самым реализуя описанные выше функции. Этот случай также находится в рамках объема настоящего изобретения.Moreover, alternatively, the present invention can be embodied by the following embodiment; the computer program codes read from the medium can be written on a functional expansion board inserted into the computer, or on a memory provided for the functional expansion unit connected to the computer and the CPU and the like provided for the functional expansion board or functional the expansion unit can perform part of the actual processing or all of the actual processing based on instructions of the computer program codes, thereby realizing the functions described above. This case is also within the scope of the present invention.
В случае, когда настоящее изобретение воплощено посредством описанного выше носителя, носитель хранит коды компьютерной программы, соответствующие описанным выше блок-схемам последовательности операций.In the case where the present invention is embodied by the above-described medium, the medium stores computer program codes corresponding to the above-described flowcharts.
Хотя настоящее изобретение было описано со ссылкой на иллюстративные варианты осуществления, следует понимать, что изобретение не ограничено раскрытыми иллюстративными вариантами осуществления. Объем следующей формулы изобретения должен получить самую широкую интерпретацию для охвата всех модификаций, эквивалентных структур и функций.Although the present invention has been described with reference to illustrative embodiments, it should be understood that the invention is not limited to the disclosed illustrative embodiments. The scope of the following claims is to be construed as broadly as possible to encompass all modifications, equivalent structures and functions.
Эта заявка испрашивает приоритет заявки на патент Японии № 2011-243940, поданной 7 ноября 2011 года, которая тем самым включена в настоящий документ по ссылке во всей своей полноте.This application claims priority from Japanese Patent Application No. 2011-243940, filed November 7, 2011, which is hereby incorporated by reference in its entirety.
Claims (37)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011-243940 | 2011-11-07 | ||
JP2011243940 | 2011-11-07 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2020111040A Division RU2746746C1 (en) | 2011-11-07 | 2020-03-17 | Image encoding device, image encoding method, image decoding device, image decoding method and program |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2758583C1 true RU2758583C1 (en) | 2021-10-29 |
Family
ID=47358509
Family Applications (7)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2016116007A RU2634212C1 (en) | 2011-11-07 | 2012-11-05 | Image encoding device, image encoding method, image decoding device, image decoding method, and program |
RU2014123374/08A RU2586024C2 (en) | 2011-11-07 | 2012-11-05 | Image encoding device, image encoding method, image decoding device, image decoding method and program |
RU2017134031A RU2668729C1 (en) | 2011-11-07 | 2017-10-02 | Image encoding device, image encoding method, image decoding device, image decoding method and program |
RU2018133687A RU2695531C1 (en) | 2011-11-07 | 2018-09-25 | Image encoding device, an image encoding method, an image decoding device, an image decoding method and a program |
RU2019121671A RU2718424C1 (en) | 2011-11-07 | 2019-07-11 | Image encoding device, an image encoding method, an image decoding device, an image decoding method and a program |
RU2020111040A RU2746746C1 (en) | 2011-11-07 | 2020-03-17 | Image encoding device, image encoding method, image decoding device, image decoding method and program |
RU2021109864A RU2758583C1 (en) | 2011-11-07 | 2021-04-09 | Image encoding device, image encoding method, image decoding device, image decoding method and program |
Family Applications Before (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2016116007A RU2634212C1 (en) | 2011-11-07 | 2012-11-05 | Image encoding device, image encoding method, image decoding device, image decoding method, and program |
RU2014123374/08A RU2586024C2 (en) | 2011-11-07 | 2012-11-05 | Image encoding device, image encoding method, image decoding device, image decoding method and program |
RU2017134031A RU2668729C1 (en) | 2011-11-07 | 2017-10-02 | Image encoding device, image encoding method, image decoding device, image decoding method and program |
RU2018133687A RU2695531C1 (en) | 2011-11-07 | 2018-09-25 | Image encoding device, an image encoding method, an image decoding device, an image decoding method and a program |
RU2019121671A RU2718424C1 (en) | 2011-11-07 | 2019-07-11 | Image encoding device, an image encoding method, an image decoding device, an image decoding method and a program |
RU2020111040A RU2746746C1 (en) | 2011-11-07 | 2020-03-17 | Image encoding device, image encoding method, image decoding device, image decoding method and program |
Country Status (16)
Country | Link |
---|---|
US (6) | US10070129B2 (en) |
EP (5) | EP3806464B1 (en) |
JP (7) | JP6080375B2 (en) |
KR (8) | KR101700889B1 (en) |
CN (6) | CN107360428B (en) |
BR (4) | BR112014010898B1 (en) |
ES (5) | ES2956216T3 (en) |
HR (3) | HRP20231357T1 (en) |
HU (5) | HUE064820T2 (en) |
IN (1) | IN2014CN04001A (en) |
PL (5) | PL3806464T3 (en) |
PT (3) | PT3806465T (en) |
RS (3) | RS64714B1 (en) |
RU (7) | RU2634212C1 (en) |
TR (1) | TR201905906T4 (en) |
WO (1) | WO2013069245A1 (en) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6080375B2 (en) * | 2011-11-07 | 2017-02-15 | キヤノン株式会社 | Image encoding device, image encoding method and program, image decoding device, image decoding method and program |
JP2013150215A (en) | 2012-01-20 | 2013-08-01 | Fujitsu Ltd | Moving image decoding device, moving image encoding device, moving image decoding method, moving image encoding method, moving image decoding program, and moving image encoding program |
HUE052133T2 (en) * | 2012-01-30 | 2021-04-28 | Samsung Electronics Co Ltd | Apparatus for hierarchical data unit-based video encoding and decoding comprising quantization parameter prediction |
JP6080405B2 (en) * | 2012-06-29 | 2017-02-15 | キヤノン株式会社 | Image encoding device, image encoding method and program, image decoding device, image decoding method and program |
CN104581158B (en) * | 2013-10-16 | 2019-02-26 | 中兴通讯股份有限公司 | Quantify table, image compress processing method, device, terminal and image search system |
JP6395219B2 (en) | 2015-01-27 | 2018-09-26 | 日本電気株式会社 | Network system |
JP6317720B2 (en) * | 2015-11-09 | 2018-04-25 | 富士通株式会社 | Moving picture coding apparatus, moving picture coding method, and moving picture coding program |
JP2016054514A (en) * | 2015-11-09 | 2016-04-14 | 富士通株式会社 | Moving image encoding device, moving image encoding method, and moving image encoding program |
JP6065090B2 (en) * | 2015-11-09 | 2017-01-25 | 富士通株式会社 | Moving picture decoding apparatus, moving picture decoding method, and moving picture decoding program |
EP3244610A1 (en) * | 2016-05-12 | 2017-11-15 | Thomson Licensing | Method and device for context-adaptive binary arithmetic coding a sequence of binary symbols representing a syntax element related to video data |
CN106791408A (en) * | 2016-12-27 | 2017-05-31 | 努比亚技术有限公司 | A kind of shooting preview device, terminal and method |
JP6311821B2 (en) * | 2017-04-18 | 2018-04-18 | 富士通株式会社 | Moving image processing apparatus and moving image processing method |
CN109246431B (en) * | 2017-07-10 | 2021-06-04 | 北京君正集成电路股份有限公司 | Video coding method and device based on quantization parameter configuration and electronic equipment |
KR20230119739A (en) * | 2018-03-29 | 2023-08-16 | 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. | Concept for enhancing parallel coding capabilities |
JP6982253B2 (en) | 2018-10-31 | 2021-12-17 | 日本電信電話株式会社 | Decoding device, coding device, decoding method, coding method, and program |
WO2020213963A1 (en) * | 2019-04-17 | 2020-10-22 | 주식회사 엑스리스 | Method for encoding/decoding image signal, and device for same |
CN111726626B (en) * | 2020-06-18 | 2022-05-03 | 格兰菲智能科技有限公司 | Integrated circuit and probability table storage method for video decoding |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030128753A1 (en) * | 2002-01-07 | 2003-07-10 | Samsung Electronics Co., Ltd. | Optimal scanning method for transform coefficients in coding/decoding of image and video |
US20090154820A1 (en) * | 2007-10-01 | 2009-06-18 | Junlin Li | Context adaptive hybrid variable length coding |
RU2369039C1 (en) * | 2007-01-12 | 2009-09-27 | Мицубиси Электрик Корпорейшн | Image encoding device, imade decoding device, image encoding method and image decoding method |
US20110038410A1 (en) * | 2006-01-09 | 2011-02-17 | Matthias Narroschke | Adaptive coding of a prediction error in hybrid video coding |
US20110090952A1 (en) * | 2009-10-21 | 2011-04-21 | Cohen Robert A | Directional Transforms for Video and Image Coding |
Family Cites Families (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2911468B2 (en) * | 1989-02-21 | 1999-06-23 | キヤノン株式会社 | Storage device and playback device |
KR0170937B1 (en) * | 1994-12-14 | 1999-03-20 | 배순훈 | Image data encoder |
CN101232618B (en) * | 2002-04-23 | 2013-03-27 | 诺基亚有限公司 | Method and device for indicating quantizer parameters in a video coding system |
JP3679083B2 (en) * | 2002-10-08 | 2005-08-03 | 株式会社エヌ・ティ・ティ・ドコモ | Image encoding method, image decoding method, image encoding device, image decoding device, image encoding program, image decoding program |
WO2006078594A1 (en) * | 2005-01-19 | 2006-07-27 | Thomson Licensing | Method and apparatus for real time parallel encoding |
WO2006106935A1 (en) * | 2005-04-01 | 2006-10-12 | Matsushita Electric Industrial Co., Ltd. | Image decoding apparatus and image decoding method |
JP2007089035A (en) * | 2005-09-26 | 2007-04-05 | Toshiba Corp | Moving image encoding method, apparatus, and program |
US20070086528A1 (en) * | 2005-10-18 | 2007-04-19 | Mauchly J W | Video encoder with multiple processors |
KR100772873B1 (en) * | 2006-01-12 | 2007-11-02 | 삼성전자주식회사 | Video encoding method, video decoding method, video encoder, and video decoder, which use smoothing prediction |
US8848789B2 (en) | 2006-03-27 | 2014-09-30 | Qualcomm Incorporated | Method and system for coding and decoding information associated with video compression |
JP4735375B2 (en) * | 2006-04-04 | 2011-07-27 | 株式会社日立製作所 | Image processing apparatus and moving image encoding method. |
US8000388B2 (en) | 2006-07-17 | 2011-08-16 | Sony Corporation | Parallel processing apparatus for video compression |
US7460725B2 (en) * | 2006-11-09 | 2008-12-02 | Calista Technologies, Inc. | System and method for effectively encoding and decoding electronic information |
JP5026092B2 (en) | 2007-01-12 | 2012-09-12 | 三菱電機株式会社 | Moving picture decoding apparatus and moving picture decoding method |
KR101083051B1 (en) * | 2007-03-13 | 2011-11-16 | 노키아 코포레이션 | System and method for video encoding and decoding |
US8724698B2 (en) * | 2007-04-13 | 2014-05-13 | Apple Inc. | Method and system for video rate control |
JP4835554B2 (en) | 2007-09-06 | 2011-12-14 | ソニー株式会社 | Encoding apparatus and method, decoding apparatus and method, and program |
US8542730B2 (en) * | 2008-02-22 | 2013-09-24 | Qualcomm, Incorporated | Fast macroblock delta QP decision |
US8542748B2 (en) | 2008-03-28 | 2013-09-24 | Sharp Laboratories Of America, Inc. | Methods and systems for parallel video encoding and decoding |
US9042457B2 (en) * | 2008-06-10 | 2015-05-26 | Panasonic Intellectual Property Management Co., Ltd. | Image decoding apparatus and image coding apparatus wth parallel decoding |
EP2286595A1 (en) * | 2008-06-16 | 2011-02-23 | Dolby Laboratories Licensing Corporation | Rate control model adaptation based on slice dependencies for video coding |
JP5241622B2 (en) * | 2008-07-02 | 2013-07-17 | キヤノン株式会社 | Encoding apparatus and encoding method |
CN101939994B (en) * | 2008-12-08 | 2013-07-17 | 松下电器产业株式会社 | Image decoding apparatus and image decoding method |
JP5604825B2 (en) * | 2009-08-19 | 2014-10-15 | ソニー株式会社 | Image processing apparatus and method |
US8879623B2 (en) * | 2009-09-02 | 2014-11-04 | Sony Computer Entertainment Inc. | Picture-level rate control for video encoding a scene-change I picture |
JP5389187B2 (en) * | 2009-10-29 | 2014-01-15 | パナソニック株式会社 | Image encoding method and image encoding apparatus |
KR101279507B1 (en) * | 2009-12-15 | 2013-06-28 | 한국전자통신연구원 | Pipelined decoding apparatus and method based on parallel processing |
JP5914962B2 (en) * | 2010-04-09 | 2016-05-11 | ソニー株式会社 | Image processing apparatus and method, program, and recording medium |
KR20110126417A (en) | 2010-05-17 | 2011-11-23 | 삼성전기주식회사 | Resistor and method for forming resistor |
JP5875236B2 (en) * | 2011-03-09 | 2016-03-02 | キヤノン株式会社 | Image encoding device, image encoding method and program, image decoding device, image decoding method and program |
US9521418B2 (en) * | 2011-07-22 | 2016-12-13 | Qualcomm Incorporated | Slice header three-dimensional video extension for slice header prediction |
US9077998B2 (en) * | 2011-11-04 | 2015-07-07 | Qualcomm Incorporated | Padding of segments in coded slice NAL units |
JP6080375B2 (en) * | 2011-11-07 | 2017-02-15 | キヤノン株式会社 | Image encoding device, image encoding method and program, image decoding device, image decoding method and program |
CN107257463B (en) * | 2011-11-07 | 2020-02-28 | 太阳专利托管公司 | Image encoding method and image encoding device |
JP2013102297A (en) * | 2011-11-07 | 2013-05-23 | Canon Inc | Image encoding method, image encoder and program, image decoding method, and image decoder and program |
JP2013150215A (en) * | 2012-01-20 | 2013-08-01 | Fujitsu Ltd | Moving image decoding device, moving image encoding device, moving image decoding method, moving image encoding method, moving image decoding program, and moving image encoding program |
HUE052133T2 (en) * | 2012-01-30 | 2021-04-28 | Samsung Electronics Co Ltd | Apparatus for hierarchical data unit-based video encoding and decoding comprising quantization parameter prediction |
JP6080405B2 (en) * | 2012-06-29 | 2017-02-15 | キヤノン株式会社 | Image encoding device, image encoding method and program, image decoding device, image decoding method and program |
US9544566B2 (en) * | 2012-12-14 | 2017-01-10 | Qualcomm Incorporated | Disparity vector derivation |
WO2014106496A1 (en) * | 2013-01-07 | 2014-07-10 | Mediatek Inc. | Method and apparatus of depth to disparity vector conversion for three-dimensional video coding |
US10721471B2 (en) * | 2017-10-26 | 2020-07-21 | Intel Corporation | Deep learning based quantization parameter estimation for video encoding |
-
2012
- 2012-04-10 JP JP2012089552A patent/JP6080375B2/en active Active
- 2012-11-05 HU HUE20205785A patent/HUE064820T2/en unknown
- 2012-11-05 US US14/356,506 patent/US10070129B2/en active Active
- 2012-11-05 KR KR1020167010847A patent/KR101700889B1/en active IP Right Grant
- 2012-11-05 PT PT202057857T patent/PT3806465T/en unknown
- 2012-11-05 HU HUE20205787A patent/HUE063705T2/en unknown
- 2012-11-05 PL PL20205782.4T patent/PL3806464T3/en unknown
- 2012-11-05 CN CN201710680730.4A patent/CN107360428B/en active Active
- 2012-11-05 RS RS20230969A patent/RS64714B1/en unknown
- 2012-11-05 HR HRP20231357TT patent/HRP20231357T1/en unknown
- 2012-11-05 RU RU2016116007A patent/RU2634212C1/en active
- 2012-11-05 KR KR1020197022475A patent/KR102047640B1/en active IP Right Grant
- 2012-11-05 EP EP20205782.4A patent/EP3806464B1/en active Active
- 2012-11-05 BR BR112014010898-6A patent/BR112014010898B1/en active IP Right Grant
- 2012-11-05 HU HUE12801780A patent/HUE043263T2/en unknown
- 2012-11-05 PL PL20205787.3T patent/PL3806466T3/en unknown
- 2012-11-05 KR KR1020187020887A patent/KR101962396B1/en active IP Right Grant
- 2012-11-05 EP EP19151520.4A patent/EP3499893B1/en active Active
- 2012-11-05 ES ES20205787T patent/ES2956216T3/en active Active
- 2012-11-05 PL PL20205785.7T patent/PL3806465T3/en unknown
- 2012-11-05 HU HUE19151520A patent/HUE053341T2/en unknown
- 2012-11-05 ES ES20205785T patent/ES2964924T3/en active Active
- 2012-11-05 EP EP20205787.3A patent/EP3806466B1/en active Active
- 2012-11-05 BR BR122019025424-9A patent/BR122019025424B1/en active IP Right Grant
- 2012-11-05 CN CN201710680518.8A patent/CN107396119B/en active Active
- 2012-11-05 KR KR1020197008121A patent/KR102007713B1/en active IP Right Grant
- 2012-11-05 PT PT202057873T patent/PT3806466T/en unknown
- 2012-11-05 RS RS20231270A patent/RS65025B1/en unknown
- 2012-11-05 EP EP20205785.7A patent/EP3806465B1/en active Active
- 2012-11-05 KR KR1020177002011A patent/KR101799248B1/en active IP Right Grant
- 2012-11-05 HU HUE20205782A patent/HUE064821T2/en unknown
- 2012-11-05 KR KR1020147015322A patent/KR101645830B1/en active IP Right Grant
- 2012-11-05 BR BR122019025425-7A patent/BR122019025425B1/en active IP Right Grant
- 2012-11-05 CN CN201710680762.4A patent/CN107371031B/en active Active
- 2012-11-05 WO PCT/JP2012/007065 patent/WO2013069245A1/en active Application Filing
- 2012-11-05 KR KR1020177033981A patent/KR101882157B1/en active IP Right Grant
- 2012-11-05 BR BR122019025427-3A patent/BR122019025427B1/en active IP Right Grant
- 2012-11-05 PL PL19151520T patent/PL3499893T3/en unknown
- 2012-11-05 RU RU2014123374/08A patent/RU2586024C2/en active
- 2012-11-05 ES ES20205782T patent/ES2961824T3/en active Active
- 2012-11-05 TR TR2019/05906T patent/TR201905906T4/en unknown
- 2012-11-05 RS RS20231271A patent/RS65026B1/en unknown
- 2012-11-05 HR HRP20231736TT patent/HRP20231736T1/en unknown
- 2012-11-05 KR KR1020177002010A patent/KR101803020B1/en active IP Right Grant
- 2012-11-05 CN CN201710680761.XA patent/CN107529058B/en active Active
- 2012-11-05 PL PL12801780T patent/PL2777275T3/en unknown
- 2012-11-05 HR HRP20231737TT patent/HRP20231737T1/en unknown
- 2012-11-05 ES ES12801780T patent/ES2725559T3/en active Active
- 2012-11-05 ES ES19151520T patent/ES2861801T3/en active Active
- 2012-11-05 PT PT202057824T patent/PT3806464T/en unknown
- 2012-11-05 CN CN201710680729.1A patent/CN107396120B/en active Active
- 2012-11-05 CN CN201280054786.4A patent/CN103931187B/en active Active
- 2012-11-05 EP EP12801780.3A patent/EP2777275B1/en active Active
-
2014
- 2014-05-28 IN IN4001CHN2014 patent/IN2014CN04001A/en unknown
-
2017
- 2017-01-19 JP JP2017007750A patent/JP6410853B2/en active Active
- 2017-07-05 US US15/642,185 patent/US10110897B2/en active Active
- 2017-10-02 RU RU2017134031A patent/RU2668729C1/en active
-
2018
- 2018-07-19 US US16/040,368 patent/US10582199B2/en active Active
- 2018-07-19 US US16/040,371 patent/US10609369B2/en active Active
- 2018-09-25 JP JP2018178355A patent/JP6591019B2/en active Active
- 2018-09-25 JP JP2018178356A patent/JP6591020B2/en active Active
- 2018-09-25 JP JP2018178351A patent/JP6591018B2/en active Active
- 2018-09-25 RU RU2018133687A patent/RU2695531C1/en active
-
2019
- 2019-07-11 RU RU2019121671A patent/RU2718424C1/en active
- 2019-09-18 JP JP2019169905A patent/JP2019213232A/en active Pending
-
2020
- 2020-02-24 US US16/799,431 patent/US11064198B2/en active Active
- 2020-03-17 RU RU2020111040A patent/RU2746746C1/en active
-
2021
- 2021-04-09 RU RU2021109864A patent/RU2758583C1/en active
- 2021-06-02 JP JP2021092736A patent/JP7102586B2/en active Active
- 2021-06-25 US US17/359,096 patent/US11647190B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030128753A1 (en) * | 2002-01-07 | 2003-07-10 | Samsung Electronics Co., Ltd. | Optimal scanning method for transform coefficients in coding/decoding of image and video |
US20110038410A1 (en) * | 2006-01-09 | 2011-02-17 | Matthias Narroschke | Adaptive coding of a prediction error in hybrid video coding |
RU2369039C1 (en) * | 2007-01-12 | 2009-09-27 | Мицубиси Электрик Корпорейшн | Image encoding device, imade decoding device, image encoding method and image decoding method |
US20090154820A1 (en) * | 2007-10-01 | 2009-06-18 | Junlin Li | Context adaptive hybrid variable length coding |
US20110090952A1 (en) * | 2009-10-21 | 2011-04-21 | Cohen Robert A | Directional Transforms for Video and Image Coding |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2758583C1 (en) | Image encoding device, image encoding method, image decoding device, image decoding method and program |