RU2812616C1 - Image coding method, image decoding method, image coding device, image decoding device and image coding and decoding device - Google Patents

Image coding method, image decoding method, image coding device, image decoding device and image coding and decoding device Download PDF

Info

Publication number
RU2812616C1
RU2812616C1 RU2023116658A RU2023116658A RU2812616C1 RU 2812616 C1 RU2812616 C1 RU 2812616C1 RU 2023116658 A RU2023116658 A RU 2023116658A RU 2023116658 A RU2023116658 A RU 2023116658A RU 2812616 C1 RU2812616 C1 RU 2812616C1
Authority
RU
Russia
Prior art keywords
sao
encoding
decoding
image
unit
Prior art date
Application number
RU2023116658A
Other languages
Russian (ru)
Inventor
Кенго ТЕРАДА
Йоудзи Сибахара
Киоко ТАНИКАВА
Хисао Сасаи
Тосиясу СУГИО
Тору МАЦУНОБУ
Original Assignee
Сан Пэтент Траст
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Сан Пэтент Траст filed Critical Сан Пэтент Траст
Application granted granted Critical
Publication of RU2812616C1 publication Critical patent/RU2812616C1/en

Links

Abstract

FIELD: image encoding.
SUBSTANCE: image to be encoded is divided into a plurality of blocks to form target blocks. The predicted block is formed. The predicted block is subtracted from the target block to form a residual block. The residual block is converted and quantized to form a quantized block. Inverse quantization and inverse transformation of the quantized block are performed to form a local reconstructed residual block. A reconstructed block is formed by adding the reconstructed residual block and the predicted block. A SAO type parameter is determined for the SAO value of the reconstructed block, wherein the SAO type parameter indicates whether the SAO value is a boundary offset value or a range offset value, and the SAO value is to be added to the pixel value of the reconstructed image. A set of bins is found that represents an integer indicating the magnitude of the SAO value.
EFFECT: improved efficiency of image encoding.
1 cl, 38 dwg

Description

[Область техники][Technical field]

[0001] Настоящее изобретение относится к способу кодирования изображений, устройству кодирования изображений, способу декодирования изображений, устройству декодирования изображений и устройству кодирования и декодирования изображений, и в частности, к способу кодирования изображений, устройству кодирования изображений, способу декодирования изображений, устройству декодирования изображений и устройству кодирования и декодирования изображений для выполнения арифметического кодирования или арифметического декодирования над параметром адаптивного смещения выборок (SAO).[0001] The present invention relates to an image encoding method, an image encoding apparatus, an image decoding method, an image decoding apparatus, and an image encoding and decoding apparatus, and in particular to an image encoding method, an image encoding apparatus, an image decoding method, an image decoding apparatus, and an image encoding and decoding device for performing arithmetic encoding or arithmetic decoding on the sample adaptive offset (SAO) parameter.

[Предшествующий уровень техники][Prior Art]

[0002] В последнее время наблюдается значительное техническое развитие в устройствах цифрового видео, и увеличивающиеся возможности для кодирования видеосигнала (множество изображений, организованных во временной ряд) со сжатием и записи видеосигнала на носители записи, например DVD и жесткие диски, или распространения видеосигнала в Интернете. Например, H.264/AVC (MPEG-4 AVC) является одним из стандартов для кодирования видеосигнала со сжатием. Кроме того, стандарт Высокоэффективного кодирования видео (HEVC) в настоящее время рассматривается в качестве стандарта следующего поколения.[0002] Recently, there has been significant technological development in digital video devices, and increasing capabilities for encoding video (multiple images organized in a time series) with compression and recording the video onto recording media such as DVDs and hard drives, or distributing the video on the Internet . For example, H.264/AVC (MPEG-4 AVC) is one of the standards for compressed video encoding. Additionally, the High Efficiency Video Coding (HEVC) standard is currently being considered as a next-generation standard.

[0003] Текущий стандарт HEVC (NPL 1) содержит процесс смещения, называемый SAO. Процесс SAO является процессом для добавления значения смещения к каждому пикселю изображения, декодированного из потока двоичных сигналов (кодированного потока двоичных сигналов). Выполнение процесса SAO дает возможность уменьшить ухудшение изображения в результате кодирования и сделать декодированное изображение больше похожим на исходное изображение. В соответствии с текущим стандартом HEVC в процессе SAO выполняется арифметическое кодирование над значением смещения, и значение смещения добавляется в поток двоичных сигналов.[0003] The current HEVC standard (NPL 1) contains an offset process called SAO. The SAO process is a process for adding an offset value to each pixel of an image decoded from a bitstream (coded bitstream). Performing the SAO process makes it possible to reduce image degradation resulting from encoding and make the decoded image more similar to the original image. According to the current HEVC standard, the SAO process performs arithmetic encoding on the offset value and adds the offset value to the bit stream.

[Список библиографических ссылок][List of bibliographic references]

[Непатентная литература][Non-patent literature]

[0004] [NPL 1] Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 9th Meeting: Geneva, CH, 27 April-7 May 2012, JCTVC-I0602_CDTexts_r2.doc, BoG report on integrated text of SAO adoptions on top of JCTVC-I0030, http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I0602-v3.zip[0004] [NPL 1] Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 9th Meeting: Geneva, CH, 27 April-7 May 2012, JCTVC- I0602_CDTexts_r2.doc, BoG report on integrated text of SAO adoptions on top of JCTVC-I0030, http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I0602-v3.zip

[Сущность изобретения][Essence of the invention]

[Техническая задача][Technical challenge]

[0005] В традиционной методике при кодировании и декодировании изображения желательна ускоренная обработка.[0005] In the traditional technique, when encoding and decoding an image, faster processing is desired.

[0006] Здесь настоящее изобретение предоставляет способ кодирования изображений и способ декодирования изображений, в которых обработку можно ускорить.[0006] Here, the present invention provides an image encoding method and an image decoding method in which processing can be accelerated.

[Решение задачи][The solution of the problem]

[0007] Способ кодирования изображений в соответствии с аспектом настоящего изобретения является способом кодирования изображений для кодирования входного изображения и включает в себя: преобразование в строку бинов значения смещения, используемого в процессе смещения, которое должно быть применено к значению пикселя восстановленного изображения, соответствующего входному изображению; и выполнение обходного арифметического кодирования над строкой бинов с использованием постоянной вероятности.[0007] An image encoding method according to an aspect of the present invention is an image encoding method for encoding an input image and includes: converting into a bin string an offset value used in an offset process to be applied to a pixel value of a reconstructed image corresponding to the input image ; and performing bypass arithmetic encoding on the string of bins using constant probability.

[0008] Кроме того, способ декодирования изображений в соответствии с другим аспектом настоящего изобретения является способом декодирования изображений для декодирования кодированного изображения и включает в себя: выполнение обходного арифметического декодирования над строкой бинов с использованием постоянной вероятности, причем строка бинов закодирована и указывает значение смещения, используемое в процессе смещения, которое должно быть применено к значению пикселя восстановленного изображения, соответствующего кодированному изображению; и преобразование в значение смещения строки бинов, над которой выполняется обходное арифметическое декодирование.[0008] In addition, an image decoding method according to another aspect of the present invention is an image decoding method for decoding an encoded image and includes: performing bypass arithmetic decoding on a string of bins using a constant probability, wherein the string of bins is encoded and indicates an offset value, used in the process offset, which must be applied to the pixel value of the reconstructed image corresponding to the encoded image; and converting to an offset value the string of bins on which bypass arithmetic decoding is performed.

[0009] Эти общие или специфические аспекты настоящего изобретения могут быть реализованы с помощью системы, устройства, интегральной схемы, компьютерной программы, машиночитаемого носителя записи, например CD-ROM, или произвольного сочетания системы, устройства, интегральной схемы, компьютерной программы и носителя записи.[0009] These general or specific aspects of the present invention may be implemented by a system, device, integrated circuit, computer program, computer-readable recording medium, such as a CD-ROM, or any combination of a system, device, integrated circuit, computer program, and recording medium.

[Полезные результаты изобретения][Useful results of the invention]

[0010] С помощью способа кодирования изображений, устройства кодирования изображений, способа декодирования изображений, устройства декодирования изображений и устройства кодирования и декодирования изображений в соответствии с настоящим изобретением можно ускорить обработку.[0010] By using the image encoding method, image encoding apparatus, image decoding method, image decoding apparatus, and image encoding and decoding apparatus according to the present invention, processing can be accelerated.

[Краткое описание чертежей][Brief description of drawings]

[0011] Фиг. 1 - блок-схема, иллюстрирующая примерную конфигурацию устройства кодирования изображений в соответствии с Вариантом 1 осуществления.[0011] FIG. 1 is a block diagram illustrating an exemplary configuration of an image encoding apparatus according to Embodiment 1.

Фиг. 2 - блок-схема, иллюстрирующая примерную конфигурацию узла кодирования параметров SAO.Fig. 2 is a block diagram illustrating an exemplary configuration of an SAO parameter encoding unit.

Фиг. 3 - блок-схема, иллюстрирующая примерную конфигурацию узла кодирования sao_offset.Fig. 3 is a block diagram illustrating an exemplary configuration of a sao_offset encoding node.

Фиг. 4 - блок-схема алгоритма, указывающая примерные процессы в устройстве кодирования изображений в соответствии с Вариантом 1 осуществления.Fig. 4 is a flowchart indicating exemplary processes in an image encoding apparatus according to Embodiment 1.

Фиг. 5 - блок-схема алгоритма, указывающая примерные процессы в узле кодирования параметров SAO в соответствии с Вариантом 1 осуществления.Fig. 5 is a flowchart indicating exemplary processes in the SAO parameter encoding unit in accordance with Embodiment 1.

Фиг. 6A - блок-схема алгоритма, указывающая примерные процессы в узле кодирования sao_offset в соответствии с Вариантом 1 осуществления.Fig. 6A is a flowchart indicating exemplary processes in the sao_offset encoding unit in accordance with Embodiment 1.

Фиг. 6B - блок-схема алгоритма, указывающая примерные процессы в узле кодирования sao_offset в соответствии с Разновидностью 2 Варианта 1 осуществления.Fig. 6B is a flowchart indicating exemplary processes in the sao_offset encoding unit in accordance with Flat 2 of Embodiment 1.

Фиг. 7 - таблица, указывающая примерное соответствие между недвоичными сигналами и строками бинов.Fig. 7 is a table indicating the approximate correspondence between non-binary signals and bin strings.

Фиг. 8 - таблица, указывающая соответствие между бинами, включенными в binIdx, и арифметическим кодированием, которое будет применено.Fig. 8 is a table indicating the correspondence between the bins included in binIdx and the arithmetic encoding that will be applied.

Фиг. 9 - таблица, показывающая результат эксперимента над эффективностью кодирования в соответствии с Вариантом 1 осуществления и Разновидностью 1.Fig. 9 is a table showing the result of an experiment on encoding efficiency in accordance with Embodiment 1 and Flavor 1.

Фиг. 10 - блок-схема, иллюстрирующая примерную конфигурацию устройства декодирования изображений в соответствии с Вариантом 2 осуществления.Fig. 10 is a block diagram illustrating an exemplary configuration of an image decoding apparatus according to Embodiment 2.

Фиг. 11 - блок-схема, иллюстрирующая примерную конфигурацию узла декодирования параметров SAO.Fig. 11 is a block diagram illustrating an exemplary configuration of an SAO parameter decoding section.

Фиг. 12 - блок-схема, иллюстрирующая примерную конфигурацию узла декодирования sao_offset.Fig. 12 is a block diagram illustrating an exemplary configuration of a sao_offset decoding unit.

Фиг. 13 - блок-схема алгоритма, указывающая примерные процессы в устройстве декодирования изображений в соответствии с Вариантом 2 осуществления.Fig. 13 is a flowchart indicating exemplary processes in an image decoding apparatus according to Embodiment 2.

Фиг. 14 - блок-схема алгоритма, указывающая примерные процессы в узле декодирования параметров SAO в соответствии с Вариантом 2 осуществления.Fig. 14 is a flowchart indicating exemplary processes in the SAO parameter decoding section in accordance with Embodiment 2.

Фиг. 15A - блок-схема алгоритма, указывающая примерные процессы в узле декодирования sao_offset в соответствии с Вариантом 2 осуществления.Fig. 15A is a flowchart indicating exemplary processes in the sao_offset decoding unit in accordance with Embodiment 2.

Фиг. 15B - блок-схема алгоритма, указывающая примерные процессы в узле декодирования sao_offset в соответствии с Разновидностью 2 Варианта 2 осуществления.Fig. 15B is a flowchart indicating exemplary processes in the sao_offset decoding unit in accordance with Type 2 of Embodiment 2.

Фиг. 16 иллюстрирует общую конфигурацию системы предоставления контента для реализации услуг распространения контента.Fig. 16 illustrates a general configuration of a content delivery system for implementing content distribution services.

Фиг. 17 иллюстрирует общую конфигурацию системы цифрового вещания.Fig. 17 illustrates a general configuration of a digital broadcast system.

Фиг. 18 иллюстрирует блок-схему примера конфигурации телевизора.Fig. 18 illustrates a block diagram of an example configuration of a TV.

Фиг. 19 иллюстрирует блок-схему, иллюстрирующую пример конфигурации узла воспроизведения/записи информации, который считывает и записывает информацию с носителя записи или на него, который является оптическим диском.Fig. 19 is a block diagram illustrating an example configuration of an information reproducing/recording unit that reads and writes information from or onto a recording medium that is an optical disc.

Фиг. 20 иллюстрирует пример конфигурации носителя записи, который является оптическим диском.Fig. 20 illustrates a configuration example of a recording medium that is an optical disc.

Фиг. 21A иллюстрирует пример сотового телефона.Fig. 21A illustrates an example of a cell phone.

Фиг. 21B иллюстрирует блок-схему примера конфигурации сотового телефона.Fig. 21B illustrates a block diagram of an example configuration of a cellular phone.

Фиг. 22 иллюстрирует структуру мультиплексированных данных.Fig. 22 illustrates the structure of multiplexed data.

Фиг. 23 схематически иллюстрирует, как каждый поток мультиплексируется в мультиплексированные данные.Fig. 23 schematically illustrates how each stream is multiplexed into multiplexed data.

Фиг. 24 подробнее иллюстрирует то, как видеопоток сохраняется в потоке пакетов PES.Fig. 24 illustrates in more detail how the video stream is stored in the PES packet stream.

Фиг. 25 иллюстрирует структуру пакетов TS и исходных пакетов в мультиплексированных данных.Fig. 25 illustrates the structure of TS packets and source packets in multiplexed data.

Фиг. 26 иллюстрирует структуру данных PMT.Fig. 26 illustrates the PMT data structure.

Фиг. 27 иллюстрирует внутреннюю структуру информации о мультиплексированных данных.Fig. 27 illustrates the internal structure of multiplexed data information.

Фиг. 28 иллюстрирует внутреннюю структуру информации об атрибутах потока.Fig. 28 illustrates the internal structure of stream attribute information.

Фиг. 29 иллюстрирует этапы для идентификации видеоданных.Fig. 29 illustrates steps for identifying video data.

Фиг. 30 иллюстрирует блок-схему, иллюстрирующую пример конфигурации интегральной схемы для реализации способа кодирования кинофильма и способа декодирования кинофильма в соответствии с каждым из Вариантов осуществления.Fig. 30 is a block diagram illustrating an example of an integrated circuit configuration for implementing a movie encoding method and a movie decoding method according to each of the Embodiments.

Фиг. 31 иллюстрирует конфигурацию для переключения между частотами возбуждения.Fig. 31 illustrates a configuration for switching between driving frequencies.

Фиг. 32 иллюстрирует этапы для идентификации видеоданных и переключения между частотами возбуждения.Fig. 32 illustrates steps for identifying video data and switching between excitation frequencies.

Фиг. 33 иллюстрирует пример справочной таблицы, в которой стандарты видеоданных ассоциируются с частотами возбуждения.Fig. 33 illustrates an example of a lookup table in which video data standards are associated with excitation frequencies.

Фиг. 34A иллюстрирует пример конфигурации для совместного использования модуля в узле обработки сигналов.Fig. 34A illustrates an example configuration for sharing a module in a signal processing unit.

Фиг. 34B иллюстрирует пример конфигурации для совместного использования модуля в узле обработки сигналов.Fig. 34B illustrates an example configuration for sharing a module in a signal processing unit.

[Описание вариантов осуществления][Description of embodiments]

[0012] (Сведения, на которых основывается настоящее изобретение)[0012] (Information on which the present invention is based)

Авторы изобретения обнаружили, что способ кодирования изображений и прочие, описанные в "Предшествующем уровне техники", имеют следующие проблемы.The inventors have discovered that the image encoding method and others described in the "Prior Art" have the following problems.

[0013] Как описано выше, в соответствии с текущим стандартом HEVC в процессе SAO, который является процессом смещения, выполняется арифметическое кодирование над значением смещения, и значение смещения добавляется в поток двоичных сигналов. Точнее говоря, в арифметическом кодировании по стандарту HEVC сигнал, который должен быть кодирован (например, значение смещения SAO), преобразуется из недвоичного сигнала в строку бинов, и арифметическое кодирование выполняется над строкой бинов.[0013] As described above, according to the current HEVC standard, in the SAO process, which is an offset process, arithmetic encoding is performed on the offset value, and the offset value is added to the bitstream. More precisely, in HEVC arithmetic encoding, the signal to be encoded (for example, the SAO offset value) is converted from a non-binary signal to a string of bins, and arithmetic encoding is performed on the string of bins.

[0014] Арифметическое кодирование имеет два типа: (1) контекстное арифметическое кодирование, в котором арифметическое кодирование выполняется с использованием адаптивной вероятности появления символа; и (2) обходное арифметическое кодирование, в котором арифметическое кодирование выполняется путем установления вероятности появления символа, например, в 50%.[0014] Arithmetic coding has two types: (1) context arithmetic coding, in which arithmetic coding is performed using an adaptive symbol occurrence probability; and (2) bypass arithmetic encoding, in which arithmetic encoding is performed by setting the probability of occurrence of a symbol to, for example, 50%.

[0015] (1) В контекстном арифметическом кодировании контекст выбирается на каждый сигнал, который должен быть кодирован. Вероятность появления символа определяется в соответствии с тем контекстом. Кроме того, в контекстном арифметическом кодировании загружается выбранный контекст, и арифметическое кодирование выполняется над сигналом, который должен быть кодирован, на основе вероятности появления символа, соответствующей загруженному контексту. Кроме того, в контекстном арифметическом кодировании процесс обновления контекста для обновления вероятности появления символа (например, вероятностей появления 1) у контекста выполняется в соответствии со значением сигнала, который должен быть кодирован.[0015] (1) In context arithmetic encoding, a context is selected for each signal to be encoded. The probability of a symbol appearing is determined according to that context. Moreover, in context arithmetic encoding, a selected context is loaded, and arithmetic encoding is performed on the signal to be encoded based on the probability of occurrence of a symbol corresponding to the loaded context. Moreover, in context arithmetic encoding, a context updating process for updating the probability of occurrence of a symbol (eg, the probability of occurrence of 1) of the context is performed in accordance with the value of the signal to be encoded.

[0016] (2) В отличие от этого в обходном арифметическом кодировании арифметическое кодирование выполняется над сигналом, который должен быть кодирован, путем установления вероятности появления символа, например, в 50% без использования какого-либо контекста. Таким образом, обходное арифметическое кодирование не требует загрузки и обновления контекста.[0016] (2) In contrast, in bypass arithmetic encoding, arithmetic encoding is performed on the signal to be encoded by setting the symbol occurrence probability to, for example, 50% without using any context. Thus, bypass arithmetic encoding does not require loading and updating the context.

[0017] Традиционно устройство кодирования изображений выполняет контекстное арифметическое кодирование над значением смещения SAO. Причина в том, что вероятность появления символа у строки бинов, указывающей значение смещения SAO, скорее всего, имеет некое отклонение в соответствии со стандартом HEVC (NPL 1). Когда вероятность появления символа имеет отклонение, уменьшение эффективности кодирования можно остановить с использованием контекстного арифметического кодирования.[0017] Traditionally, an image encoding apparatus performs context arithmetic encoding on the SAO offset value. The reason is that the character probability of the bin string indicating the SAO offset value most likely has some deviation according to the HEVC standard (NPL 1). When the probability of occurrence of a symbol has a deviation, the decrease in coding efficiency can be stopped using context arithmetic coding.

[0018] Однако контекстное арифметическое кодирование требует такой обработки, как загрузка и обновление контекста. Кроме того, когда контекст, идентичный контексту, выбранному в контекстном арифметическом кодировании над заранее установленным значением смещения SAO, выбирается в контекстном арифметическом кодировании над другим значением смещения SAO, нельзя начать контекстное арифметическое кодирование над следующим значением смещения SAO, пока не обновится контекст для значения смещения SAO, над которым арифметическое кодирование выполнено первым. Таким образом, возникают проблемы с последовательными процессами и уменьшением пропускной способности.[0018] However, context arithmetic encoding requires processing such as loading and updating the context. In addition, when a context identical to the context selected in context arithmetic encoding over a predetermined SAO offset value is selected in context arithmetic encoding over another SAO offset value, context arithmetic encoding cannot begin over the next SAO offset value until the context for the offset value is updated The SAO on which arithmetic encoding is performed first. Thus, there are problems with sequential processes and reduced throughput.

[0019] Чтобы решить такие проблемы, способ кодирования изображений в соответствии с аспектом настоящего изобретения является способом кодирования изображений для кодирования входного изображения и включает в себя: преобразование в строку бинов значения смещения, используемого в процессе смещения, которое должно быть применено к значению пикселя восстановленного изображения, соответствующего входному изображению; и выполнение обходного арифметического кодирования над строкой бинов с использованием постоянной вероятности.[0019] To solve such problems, an image encoding method according to an aspect of the present invention is an image encoding method for encoding an input image and includes: converting into a bin string the offset value used in the offset process to be applied to the pixel value of the reconstructed image corresponding to the input image; and performing bypass arithmetic encoding on the string of bins using constant probability.

[0020] Поскольку в способе кодирования изображений арифметическое кодирование выполняется над значением смещения SAO с использованием обходного арифметического кодирования, то обработку можно ускорить.[0020] Since in the image encoding method, arithmetic encoding is performed on the SAO offset value using bypass arithmetic encoding, processing can be accelerated.

[0021] Авторы изобретения обнаружили, что вероятности появления символов у строк бинов, указывающих значение смещения SAO, имеют небольшие отклонения, которые будут описываться позже. Таким образом, эффективность кодирования, скорее всего, не уменьшается, даже когда выполняется обходное арифметическое кодирование. Таким образом, авторы изобретения подтвердили в эксперименте, что обходное арифметическое кодирование в качестве арифметического кодирования над значением смещения SAO не уменьшает эффективность кодирования.[0021] The inventors have discovered that the character probabilities of bin strings indicating the SAO offset value have slight variations, which will be described later. Thus, the encoding efficiency is likely not reduced even when bypass arithmetic encoding is performed. Thus, the inventors have confirmed by experiment that bypass arithmetic coding as arithmetic coding over the SAO offset value does not reduce the coding efficiency.

[0022] Таким образом, способ кодирования изображений с этой конфигурацией дает возможность ускорения обработки без снижения эффективности кодирования.[0022] Thus, the method of encoding images with this configuration makes it possible to speed up processing without reducing encoding efficiency.

[0023] Кроме того, способ декодирования изображений в соответствии с другим аспектом настоящего изобретения является способом декодирования изображений для декодирования кодированного изображения и включает в себя: выполнение обходного арифметического декодирования над строкой бинов с использованием постоянной вероятности, причем строка бинов закодирована и указывает значение смещения, используемое в процессе смещения, которое должно быть применено к значению пикселя восстановленного изображения, соответствующего кодированному изображению; и преобразование в значение смещения строки бинов, над которой выполняется обходное арифметическое декодирование.[0023] In addition, an image decoding method according to another aspect of the present invention is an image decoding method for decoding an encoded image and includes: performing bypass arithmetic decoding on a string of bins using a constant probability, wherein the string of bins is encoded and indicates an offset value, used in the process offset, which must be applied to the pixel value of the reconstructed image corresponding to the encoded image; and converting to an offset value the string of bins on which bypass arithmetic decoding is performed.

[0024] Кроме того, устройство кодирования изображений в соответствии с другим аспектом настоящего изобретения является устройством кодирования изображений, которое кодирует входное изображение и включает в себя схему управления и запоминающее устройство, электрически подключенное к схеме управления, причем схема управления исполняет: преобразование в строку бинов значения смещения, используемого в процессе смещения, которое должно быть применено к значению пикселя восстановленного изображения, соответствующего входному изображению; и выполнение обходного арифметического кодирования над строкой бинов с использованием постоянной вероятности.[0024] In addition, an image encoding device in accordance with another aspect of the present invention is an image encoding device that encodes an input image and includes a control circuit and a memory electrically connected to the control circuit, wherein the control circuit performs: conversion to a bin string an offset value used in the offset process to be applied to the pixel value of the reconstructed image corresponding to the input image; and performing bypass arithmetic encoding on the string of bins using constant probability.

[0025] Кроме того, устройство декодирования изображений в соответствии с другим аспектом настоящего изобретения является устройством декодирования изображений, которое декодирует кодированное изображение и включает в себя схему управления и запоминающее устройство, электрически подключенное к схеме управления, причем схема управления исполняет: выполнение обходного арифметического декодирования над строкой бинов с использованием постоянной вероятности, причем строка бинов закодирована и указывает значение смещения, используемое в процессе смещения, которое должно быть применено к значению пикселя восстановленного изображения, соответствующего кодированному изображению; и преобразование в значение смещения строки бинов, над которой выполняется обходное арифметическое декодирование.[0025] In addition, an image decoding device according to another aspect of the present invention is an image decoding device that decodes an encoded image and includes a control circuit and a memory electrically connected to the control circuit, wherein the control circuit performs: performing bypass arithmetic decoding over a row of bins using a constant probability, wherein the row of bins is encoded and indicates an offset value used in the offset process to be applied to a pixel value of the reconstructed image corresponding to the encoded image; and converting to an offset value the string of bins on which bypass arithmetic decoding is performed.

[0026] Кроме того, устройство кодирования и декодирования изображений в соответствии с другим аспектом настоящего изобретения включает в себя устройство кодирования изображений и устройство декодирования изображений.[0026] In addition, an image encoding and decoding apparatus according to another aspect of the present invention includes an image encoding apparatus and an image decoding apparatus.

[0027] Эти общие или специфические аспекты настоящего изобретения могут быть реализованы с помощью системы, способа, интегральной схемы, компьютерной программы, машиночитаемого носителя записи, например CD-ROM, или произвольного сочетания системы, способа, интегральной схемы, компьютерной программы и носителя записи.[0027] These general or specific aspects of the present invention may be implemented by a system, method, integrated circuit, computer program, computer-readable recording medium, such as a CD-ROM, or any combination of a system, method, integrated circuit, computer program, and recording medium.

[0028] Варианты осуществления в соответствии с настоящим изобретением будут описываться со ссылкой на чертежи.[0028] Embodiments in accordance with the present invention will be described with reference to the drawings.

[0029] Описанные ниже варианты осуществления указывают специфические или общие примеры настоящего изобретения. Значения, формы, материалы, составляющие элементы, положения и соединения составляющих элементов, этапы и порядки этапов, указанные в Вариантах осуществления, являются примерами и не ограничивают настоящее изобретение. Составляющие элементы в Вариантах осуществления, которые не описываются в независимых пунктах формулы изобретения, которые описывают самую общую идею настоящего изобретения, описываются как произвольные составляющие элементы.[0029] The embodiments described below indicate specific or general examples of the present invention. The values, shapes, materials, constituent elements, positions and connections of constituent elements, steps and orders of steps shown in the Embodiments are examples and do not limit the present invention. The constituent elements in the Embodiments that are not described in the independent claims that describe the most general idea of the present invention are described as arbitrary constituent elements.

[0030] (Вариант 1 осуществления)[0030] (Embodiment 1)

Устройство кодирования изображений и способ кодирования изображений в соответствии с Вариантом 1 осуществления будут описываться со ссылкой на фиг. 1-9.An image encoding apparatus and an image encoding method according to Embodiment 1 will be described with reference to FIG. 1-9.

[0031]<1-1. Конфигурация устройства>[0031]<1-1. Device Configuration>

Устройство кодирования изображений в соответствии с Вариантом 1 осуществления будет описываться со ссылкой на фиг. 1. Фиг. 1 - блок-схема, иллюстрирующая конфигурацию устройства 100 кодирования изображений в соответствии со стандартом HEVC в соответствии с Вариантом 1 осуществления.An image encoding apparatus according to Embodiment 1 will be described with reference to FIG. 1. Fig. 1 is a block diagram illustrating the configuration of an image encoding apparatus 100 in accordance with the HEVC standard in accordance with Embodiment 1.

[0032] Устройство 100 кодирования изображений является устройством, которое кодирует изображение, которое должно быть введено (входное изображение), по блокам для формирования потока двоичных сигналов (кодированного потока двоичных сигналов).[0032] The image encoding device 100 is a device that encodes an image to be input (input image) block by block to generate a bit stream (coded bit stream).

[0033] Как проиллюстрировано на фиг. 1, устройство 100 кодирования изображений включает в себя узел 101 разбиения на блоки, узел 102 вычитания, узел 103 преобразования, узел 104 кодирования переменной длины (узел энтропийного кодирования), узел 105 обратного преобразования, узел 106 сложения, узел 107 обработки SAO, узел 110 кодирования параметров SAO, память 108 кадров и узел 109 предсказания.[0033] As illustrated in FIG. 1, the image encoding device 100 includes a block partitioning unit 101, a subtraction unit 102, a transform unit 103, a variable length encoding unit 104 (entropy encoding unit), an inverse transform unit 105, an addition unit 106, an SAO processing unit 107, and a unit 110. SAO parameter encoding, frame memory 108 and prediction unit 109.

[0034] Узел 101 разбиения на блоки разбивает входное изображение на блоки, которые должны предсказываться и включают в себя пиксели. Блоки, которые будут предсказываться, являются блоками переменного размера. Например, минимальный размер блоков составляет 4×4 пикселя, а максимальный размер блоков составляет 32×32 пикселя.[0034] The block partitioning unit 101 partitions the input image into blocks to be predicted, which include pixels. The blocks that will be predicted are variable size blocks. For example, the minimum block size is 4x4 pixels, and the maximum block size is 32x32 pixels.

[0035] Узел 102 вычитания вычитает блок предсказания, предсказанный узлом 109 предсказания, который будет описан позже, из каждого из блоков, которые должны предсказываться, чтобы вычислить разностный блок. Узел 103 преобразования преобразует разностный блок из области изображения в частотную область, чтобы вывести частотные коэффициенты, и квантует эти частотные коэффициенты. Квантованные частотные коэффициенты в дальнейшем будут называться квантованными коэффициентами.[0035] The subtraction unit 102 subtracts the prediction block predicted by the prediction unit 109, which will be described later, from each of the blocks to be predicted in order to calculate the difference block. The conversion unit 103 converts the difference block from the image domain to the frequency domain to output frequency coefficients, and quantizes these frequency coefficients. Quantized frequency coefficients will henceforth be called quantized coefficients.

[0036] Узел 104 кодирования переменной длины выполняет энтропийное кодирование над квантованными коэффициентами, выводимыми из узла 103 преобразования, и различной информацией, необходимой для декодирования (информация о разбиении для блоков, которые должны предсказываться, тип предсказания, вектор движения, режим предсказания (режим внутреннего предсказания), квантованный параметр и т.п.), чтобы сформировать поток двоичных сигналов.[0036] The variable length encoding unit 104 performs entropy encoding on the quantized coefficients output from the transform unit 103 and various information required for decoding (partitioning information for blocks to be predicted, prediction type, motion vector, prediction mode (intra mode) prediction), quantized parameter, etc.) to generate a stream of binary signals.

[0037] Узел 105 обратного преобразования выполняет обратное квантование для преобразования квантованных коэффициентов, выводимых из узла 103 преобразования, в частотные коэффициенты и выполняет обратное преобразование для преобразования частотных коэффициентов из частотной области в область изображения, чтобы вывести восстановленный разностный блок. Узел 106 сложения складывает блок предсказания, предсказанный узлом 109 предсказания, который будет описан позже, с восстановленным разностным блоком, выведенным узлом 105 обратного преобразования, чтобы сформировать восстановленный блок.[0037] The inverse transform unit 105 performs inverse quantization to convert the quantized coefficients output from the transform unit 103 into frequency coefficients, and performs inverse transform to convert the frequency coefficients from the frequency domain to the image domain to output a reconstructed difference block. The addition unit 106 adds the prediction block predicted by the prediction unit 109, which will be described later, with the reconstructed difference block output by the inverse transform unit 105 to form a reconstructed block.

[0038] Узел 107 обработки SAO выполняет процесс SAO (процесс смещения) над восстановленным блоком для добавления к значению пикселя у каждого пикселя, включенного в восстановленный блок, значения смещения SAO, соответствующего категории (классу), которой принадлежит пиксель, что будет описываться позже. Поскольку процесс, выполняемый узлом 103 преобразования, является необратимым процессом, возникает ошибка между каждым из блоков, которые должны предсказываться во входном изображении, и восстановленным блоком. Значение смещения SAO является значением для исправления ошибки и устанавливается на каждую категорию.[0038] The SAO processing unit 107 performs an SAO process (offset process) on the reconstructed block to add to the pixel value of each pixel included in the reconstructed block an SAO offset value corresponding to the category (class) to which the pixel belongs, which will be described later. Since the process performed by the transformation unit 103 is an irreversible process, an error occurs between each of the blocks to be predicted in the input image and the reconstructed block. The SAO offset value is an error correction value and is set per category.

[0039] Узел 110 кодирования параметров SAO выполняет кодирование переменной длины над различными параметрами, которые должны использоваться в процессе SAO, и добавляет параметры в поток двоичных сигналов, выводимый из узла 104 кодирования переменной длины. Вариант 1 осуществления в качестве параметров SAO приводит sao_offset, указывающее значение смещения SAO, и sao_type_idx, указывающее категорию значения смещения SAO.[0039] The SAO parameter encoding section 110 performs variable length encoding on various parameters to be used in the SAO process, and adds the parameters to the bitstream output from the variable length encoding section 104. Embodiment 1 provides sao_offset indicating the SAO offset value and sao_type_idx indicating the category of the SAO offset value as the SAO parameters.

[0040] Фиг. 2 - блок-схема, иллюстрирующая примерную конфигурацию узла 110 кодирования параметров SAO. Как проиллюстрировано на фиг. 2, узел 110 кодирования параметров SAO включает в себя узел 111 кодирования sao_type_idx и узел 112 кодирования sao_offset.[0040] FIG. 2 is a block diagram illustrating an exemplary configuration of the SAO parameter encoding unit 110. As illustrated in FIG. 2, the SAO parameter encoding unit 110 includes a sao_type_idx encoding unit 111 and a sao_offset encoding unit 112.

[0041] Узел 111 кодирования sao_type_idx выполняет арифметическое кодирование над sao_type_idx, указывающим категорию у sao_offset. Здесь sao_offset классифицируется на две категории: значение смещения по границе, определенное в соответствии с состоянием окружающих пикселей; и значение смещения по диапазону, определенное в соответствии с областью, которой принадлежит значение пикселя у пикселя.[0041] The sao_type_idx encoding unit 111 performs arithmetic encoding on the sao_type_idx indicating the category of the sao_offset. Here sao_offset is classified into two categories: the edge offset value determined according to the state of the surrounding pixels; and a range offset value determined according to the region to which the pixel value of the pixel belongs.

[0042] Узел 112 кодирования sao_offset выполняет арифметическое кодирование над sao_offset. Фиг. 3 - блок-схема, иллюстрирующая примерную конфигурацию узла 112 кодирования sao_offset.[0042] The sao_offset encoding unit 112 performs arithmetic encoding on the sao_offset. Fig. 3 is a block diagram illustrating an exemplary configuration of sao_offset encoding unit 112.

[0043] Как проиллюстрировано на фиг. 3, узел 112 кодирования sao_offset включает в себя узел 113 преобразования sao_offset в двоичную форму, узел 114 переключения арифметического кодирования, узел 115 арифметического кодирования контекста 0, узел 116 арифметического кодирования контекста 1 и узел 117 обходного арифметического кодирования.[0043] As illustrated in FIG. 3, the sao_offset encoding unit 112 includes a sao_offset binary conversion unit 113, an arithmetic encoding switching unit 114, a context 0 arithmetic encoding unit 115, a context 1 arithmetic encoding unit 116, and a bypass arithmetic encoding unit 117.

[0044] Узел 113 преобразования sao_offset в двоичную форму преобразует sao_offset, которое является недвоичным сигналом, в двоичную форму (преобразует sao_offset в сигнал, представляющий 0 и 1). Узел 114 переключения арифметического кодирования переключает способ арифметического кодирования, который должен быть применен к sao_offset. Узел 115 арифметического кодирования контекста 0 выполняет арифметическое кодирование контекста 0 с использованием первого контекста (контекста 0). Узел 116 арифметического кодирования контекста 1 выполняет арифметическое кодирование контекста 1 с использованием второго контекста (контекста 1). Узел 117 обходного арифметического кодирования выполняет обходное арифметическое кодирование с использованием постоянной вероятности.[0044] The sao_offset to binary conversion unit 113 converts sao_offset, which is a non-binary signal, into binary form (converts sao_offset to a signal representing 0 and 1). The arithmetic encoding switching unit 114 switches the arithmetic encoding method to be applied to sao_offset. Context 0 arithmetic encoding unit 115 performs arithmetic encoding of context 0 using the first context (context 0). Context 1 arithmetic encoding unit 116 performs arithmetic encoding of context 1 using a second context (context 1). The bypass arithmetic encoding unit 117 performs bypass arithmetic encoding using a constant probability.

[0045] Память 108 кадров включает в себя некое запоминающее устройство, например оперативное запоминающее устройство (RAM) и постоянное запоминающее устройство (ROM).[0045] The frame memory 108 includes some storage device, such as random access memory (RAM) and read only memory (ROM).

[0046] Узел 109 предсказания формирует блок предсказания посредством внешнего предсказания или внутреннего предсказания. При внешнем предсказании узел 109 предсказания выводит вектор движения, используя блок, который должен предсказываться, и формирует блок предсказания, используя выведенный вектор движения и восстановленный блок, полученный в процессе SAO и сохраненный в памяти 108 кадров. При внутреннем предсказании узел 109 предсказания формирует блок предсказания, используя восстановленный блок, полученный в процессе SAO и сохраненный в памяти 108 кадров, в соответствии с режимом предсказания.[0046] The prediction unit 109 generates a prediction block by inter-prediction or intra-prediction. In external prediction, the prediction unit 109 outputs a motion vector using the block to be predicted, and generates a prediction block using the output motion vector and the reconstructed block obtained in the SAO process and stored in the frame memory 108. In intra prediction, the prediction unit 109 generates a prediction block using the reconstructed block obtained in the SAO process and stored in the frame memory 108, in accordance with the prediction mode.

[0047]<1-2 Общие операции>[0047]<1-2 General operations>

Далее со ссылкой на фиг. 4 будут описываться операции устройства кодирования изображений. Фиг. 4 - блок-схема алгоритма, указывающая процедуру в устройстве 100 кодирования изображений.Next, with reference to FIG. 4, operations of the image encoding apparatus will be described. Fig. 4 is a flowchart indicating a procedure in the image encoding apparatus 100.

[0048] В устройстве 100 кодирования изображений узел 101 разбиения на блоки сначала разбивает входное изображение на блоки, которые должны предсказываться, и последовательно выводит эти блоки в узел 102 вычитания и узел 109 предсказания (этап S101). Блоки, которые должны предсказываться, имеют переменный размер в соответствии с Вариантом 1 осуществления. Входное изображение разбивается с использованием признаков изображения. Минимальный размер блоков, которые должны предсказываться, равен 4 пикселям по горизонтали (4 пикселя по вертикали в соответствии с Вариантом 1 осуществления. Кроме того, максимальный размер блоков, которые должны предсказываться, равен 32 пикселям по горизонтали (32 пикселя по вертикали в соответствии с Вариантом 1 осуществления.[0048] In the image encoding apparatus 100, the block partitioning unit 101 first divides the input image into blocks to be predicted, and sequentially outputs these blocks to the subtraction unit 102 and the prediction unit 109 (step S101). The blocks to be predicted have a variable size in accordance with Embodiment 1. The input image is split using image features. The minimum size of blocks to be predicted is 4 pixels horizontally (4 pixels vertically according to Embodiment 1. Additionally, the maximum size of blocks to be predicted is 32 pixels horizontally (32 pixels vertically according to Embodiment 1). 1 implementation.

[0049] Узел 109 предсказания в устройстве 100 кодирования изображений формирует блок предсказания, используя блоки, которые должны предсказываться, и восстановленный блок, сохраненный в памяти 108 кадров (этап S102).[0049] The prediction unit 109 in the image encoding device 100 generates a prediction block using the blocks to be predicted and the reconstructed block stored in the frame memory 108 (step S102).

[0050] Узел 102 вычитания в устройстве 100 кодирования изображений вычитает блок предсказания из каждого из блоков, которые должны предсказываться, чтобы сформировать разностный блок (этап S103).[0050] The subtraction unit 102 in the image encoding device 100 subtracts a prediction block from each of the blocks to be predicted to generate a difference block (step S103).

[0051] Узел 103 преобразования в устройстве 100 кодирования изображений преобразует разностный блок в частотные коэффициенты и преобразует частотные коэффициенты в квантованные коэффициенты (этап S104).[0051] The conversion unit 103 in the image encoding device 100 converts the difference block into frequency coefficients, and converts the frequency coefficients into quantized coefficients (step S104).

[0052] Узел 105 обратного преобразования в устройстве 100 кодирования изображений обратно квантует квантованные коэффициенты, чтобы вывести частотные коэффициенты, и преобразует частотные коэффициенты из частотной области в область изображения, чтобы сформировать восстановленный разностный блок (этап S105).[0052] The inverse transform unit 105 in the image encoding apparatus 100 inversely quantizes the quantized coefficients to output frequency coefficients, and converts the frequency coefficients from the frequency domain to the image domain to form a reconstructed difference block (step S105).

[0053] Узел 106 сложения в устройстве 100 кодирования изображений складывает блок предсказания с восстановленным разностным блоком, чтобы сформировать восстановленный блок (этап S106).[0053] The adding unit 106 in the image encoding device 100 adds the prediction block with the reconstructed difference block to form a reconstructed block (step S106).

[0054] Узел 107 обработки SAO в устройстве 100 кодирования изображений выполняет процесс SAO (этап S107). Узел 107 обработки SAO сначала определяет параметры SAO, которые должны использоваться для процесса SAO. В Варианте 1 осуществления параметрами SAO являются sao_offset, указывающее значение смещения SAO, и sao_type_idx, указывающее категорию значения смещения SAO. Узел 107 обработки SAO складывает значение смещения SAO со значением пикселя у каждого пикселя, включенного в восстановленный блок, и сохраняет в памяти 108 кадров восстановленный блок, к которому добавляются значения смещения SAO. В процессе SAO каждый из пикселей, включенных в восстановленный блок, классифицируется по категориям, и для каждой из тех категорий выводится значение смещения SAO. Способы для классификации пикселей многочисленны. Таким образом, используется параметр sao_type_idx, указывающий категорию значения смещения SAO.[0054] The SAO processing unit 107 in the image encoding device 100 executes the SAO process (step S107). The SAO processing unit 107 first determines the SAO parameters to be used for the SAO process. In Embodiment 1, the SAO parameters are sao_offset indicating the SAO offset value, and sao_type_idx indicating the category of the SAO offset value. The SAO processing unit 107 adds the SAO offset value to the pixel value of each pixel included in the reconstructed block, and stores in the 108 frame memory the reconstructed block to which the SAO offset values are added. In the SAO process, each of the pixels included in the reconstructed block is classified into categories, and for each of those categories, an SAO offset value is output. Methods for classifying pixels are numerous. Therefore, the sao_type_idx parameter is used to indicate the category of the SAO offset value.

[0055] Узел 110 кодирования параметров SAO в устройстве 100 кодирования изображений выполняет кодирование переменной длины над параметром SAO и добавляет этот параметр в поток двоичных сигналов, выводимый из узла 104 кодирования переменной длины (этап S108). Подробности узла 110 кодирования параметров SAO будут описываться позже.[0055] The SAO parameter encoding section 110 in the image encoding device 100 performs variable length encoding on the SAO parameter and adds the parameter to the bit stream output from the variable length encoding section 104 (step S108). Details of the SAO parameter encoding unit 110 will be described later.

[0056] Узел 104 кодирования переменной длины в устройстве 100 кодирования изображений выполняет кодирование переменной длины над квантованными коэффициентами, выводимыми из узла 103 преобразования, чтобы вывести поток двоичных сигналов (этап S109).[0056] The variable length encoding unit 104 in the image encoding device 100 performs variable length encoding on the quantized coefficients output from the transform unit 103 to output a bitstream (step S109).

[0057] Устройство 100 кодирования изображений повторно выполняет Этапы S102 - S109 до тех пор, пока не завершится кодирование всех блоков входного изображения, которые должны предсказываться (этап S110).[0057] The image encoding apparatus 100 repeatedly executes Steps S102 to S109 until encoding of all input image blocks to be predicted is completed (Step S110).

[0058]<1-2-1. Операции узла кодирования параметров SAO>[0058]<1-2-1. SAO Parameter Encoding Node Operations>

Операции узла 110 кодирования параметров SAO в соответствии с Вариантом 1 осуществления будут описываться со ссылкой на фиг. 5.Operations of the SAO parameter encoding unit 110 according to Embodiment 1 will be described with reference to FIG. 5.

[0059] Фиг. 5 - блок-схема алгоритма, указывающая примерные процессы узла 110 кодирования параметров SAO, и подробно описывает Этап S108 из фиг. 4.[0059] FIG. 5 is a flowchart indicating exemplary processes of the SAO parameter encoding unit 110, and details Step S108 of FIG. 4.

[0060] Узел 111 кодирования sao_type_idx в узле 110 кодирования параметров SAO кодирует sao_type_idx (этап S111).[0060] The sao_type_idx encoding unit 111 in the SAO parameter encoding unit 110 encodes the sao_type_idx (step S111).

[0061] Узел 112 кодирования sao_offset в узле 110 кодирования параметров SAO кодирует sao_offset (этап S112).[0061] The sao_offset encoding unit 112 in the SAO parameter encoding unit 110 encodes the sao_offset (step S112).

[0062]<1-2-2. Операции узла кодирования sao_offset>[0062]<1-2-2. Encoding node operations sao_offset>

Операции узла 112 кодирования sao_offset в соответствии с Вариантом 1 осуществления будут описываться со ссылкой на фиг. 6A. Фиг. 6A - блок-схема алгоритма, указывающая примерные процессы в узле 112 кодирования sao_offset.Operations of the sao_offset encoding unit 112 according to Embodiment 1 will be described with reference to FIG. 6A. Fig. 6A is a flowchart indicating exemplary processes in sao_offset encoding unit 112.

[0063] Узел 113 преобразования sao_offset в двоичную форму в узле 112 кодирования sao_offset преобразует sao_offset из недвоичного сигнала в строку бинов (этап S121).[0063] The sao_offset to binary conversion unit 113 in the sao_offset encoding unit 112 converts the sao_offset from a non-binary signal to a string of bins (step S121).

[0064] Вариант 1 осуществления описывает случай, где sao_offset принимает значения от 0 до 7. Фиг. 7 - таблица, указывающая соответствие между недвоичными сигналами и строками бинов. Как видно из фиг. 7, количество последовательных "1" от начала каждой строки бинов равно значению, указанному недвоичным сигналом. Кроме того, "0" добавляется в конец, когда недвоичный сигнал находится между 0 и 6. Когда недвоичный сигнал равен 7, то есть максимальному числу, никакого "0" в конец не добавляется. Здесь binIdx является индексом бина (одного разряда), включенного в строку бинов. Первым значением binIdx является 0, а последующие значения увеличиваются на 1. Строка бинов выводится в узел 114 переключения арифметического кодирования последовательно от бина, чей binIdx равен 0.[0064] Embodiment 1 describes a case where sao_offset takes values from 0 to 7. FIG. 7 is a table indicating the correspondence between non-binary signals and bin strings. As can be seen from Fig. 7, the number of consecutive "1s" from the beginning of each line of bins is equal to the value indicated by the non-binary signal. Also, "0" is added to the end when the non-binary signal is between 0 and 6. When the non-binary signal is 7, which is the maximum number, no "0" is added to the end. Here binIdx is the index of the bin (one bit) included in the bin string. The first value of binIdx is 0, and subsequent values are incremented by 1. A string of bins is output to the arithmetic encoding switching unit 114 sequentially from the bin whose binIdx is 0.

[0065] Узел 114 переключения арифметического кодирования в узле 112 кодирования sao_offset определяет значение binIdx (этапы S122, S124 и S126).[0065] The arithmetic encoding switching unit 114 in the sao_offset encoding unit 112 determines the value of binIdx (steps S122, S124 and S126).

[0066] Когда значение равно 0 (Да на этапе S122), узел 114 переключения арифметического кодирования выводит бин в узел 115 арифметического кодирования контекста 0. Узел 115 арифметического кодирования контекста 0 выполняет контекстное арифметическое кодирование с использованием контекста 0 (этап S123).[0066] When the value is 0 (Yes in step S122), the arithmetic encoding switching unit 114 outputs a bin to the context 0 arithmetic encoding unit 115. The context 0 arithmetic encoding unit 115 performs context arithmetic encoding using context 0 (step S123).

[0067] Когда значение равно 1 (Нет на этапе S122 и Да на этапе S124), узел 114 переключения арифметического кодирования выводит бин в узел 116 арифметического кодирования контекста 1. Узел 116 арифметического кодирования контекста 1 выполняет контекстное арифметическое кодирование с использованием контекста 1 (этап S125).[0067] When the value is 1 (No in step S122 and Yes in step S124), the arithmetic encoding switching unit 114 outputs a bin to the context 1 arithmetic encoding unit 116. The context 1 arithmetic encoding unit 116 performs context arithmetic encoding using context 1 (step S125).

[0068] Когда значение не равно ни 0, ни 1 (Нет на этапе S122 и Нет на этапе S124), узел 114 переключения арифметического кодирования выводит бин в узел 117 обходного арифметического кодирования. Узел 117 обходного арифметического кодирования выполняет обходное арифметическое кодирование (этап S126).[0068] When the value is neither 0 nor 1 (No in step S122 and No in step S124), the arithmetic encoding switching unit 114 outputs the bin to the bypass arithmetic encoding unit 117. The bypass arithmetic encoding unit 117 performs bypass arithmetic encoding (step S126).

[0069] Поскольку узел 117 обходного арифметического кодирования не использует никакой контекст, узел 112 кодирования sao_offset в целом использует два типа контекстов в соответствии с Вариантом 1 осуществления.[0069] Since the bypass arithmetic encoding unit 117 does not use any context, the sao_offset encoding unit 112 generally uses two types of contexts in accordance with Embodiment 1.

[0070] Узел 112 кодирования sao_offset повторяет процессы с Этапа 122 по Этап 127 до тех пор, пока не завершится обработка всех бинов, включенных в строку бинов (этап S127).[0070] The sao_offset encoding unit 112 repeats the processes from Step 122 to Step 127 until processing of all bins included in the bin string is completed (Step S127).

[0071]<1-3. Преимущества, разновидности и т.п.>[0071]<1-3. Advantages, varieties, etc.>

Устройство 100 кодирования изображений в соответствии с Вариантом 1 осуществления может ускорить обработку путем выполнения обходного арифметического кодирования над бинами во второй половине sao_offset. Точнее говоря, в соответствии с Вариантом 1 осуществления не контекстное арифметическое кодирование, а обходное арифметическое кодирование выполняется над бинами, чей binIdx равен 2 или выше. Как описано выше, обходное арифметическое кодирование не требует загрузки и обновления никакого контекста. Таким образом, арифметическое кодирование над значением смещения SAO у блока, который должен предсказываться, может начинаться без ожидания завершения арифметического кодирования над другим значением смещения SAO, и обработку можно ускорить.The image encoding apparatus 100 according to Embodiment 1 can speed up processing by performing bypass arithmetic encoding on the bins in the second half of sao_offset. More precisely, according to Embodiment 1, not context arithmetic encoding, but bypass arithmetic encoding is performed on bins whose binIdx is 2 or higher. As described above, bypass arithmetic encoding does not require loading or updating any context. In this way, arithmetic encoding on the SAO offset value of a block to be predicted can be started without waiting for completion of arithmetic encoding on another SAO offset value, and processing can be accelerated.

[0072] Кроме того, вероятности появления символов (вероятности появления 1) у binIdx с 1 по 6 в соответствии со стандартом HEVC (NPTL 1), который изучается в настоящее время, почти одинаковы, но не равны 50% и имеют отклонение. Другими словами, при наличии binIdx после binIdx1 (когда sao_offset равно 1 или выше), случаи часто делятся на случай, где binIdx1 равен 0 без какого-либо binIdx2 и после (sao_offset равно 1), и случай, где все binIdx с 1 по 6 равны 1 (sao_offset равно 7).[0072] In addition, the character occurrence probabilities (occurrence probabilities 1) of binIdx 1 to 6 according to the HEVC standard (NPTL 1) that is currently being studied are almost the same, but not equal to 50% and have a deviation. In other words, when there is a binIdx after binIdx1 (when sao_offset is 1 or higher), the cases are often divided into a case where binIdx1 is 0 without any binIdx2 and after (sao_offset is 1), and a case where all binIdx 1 to 6 are equal to 1 (sao_offset is equal to 7).

[0073] Однако авторы изобретения обнаружили, что в результате эксперимента для кодирования binIdx с 1 по 6 с постоянной вероятностью появления символа в 50% эффективность кодирования почти не ухудшается. В частности, эксперимент показал, что sao_offset часто указывает промежуточное значение (от 2 до 6), и вероятности появления символов у binIdx с 1 по 6 близки к 50%. Таким образом, обработку для подавления уменьшения эффективности кодирования можно ускорить, используя не контекстное арифметическое кодирование, а обходное арифметическое кодирование над binIdx после binIdx2.[0073] However, the inventors found that, as a result of the experiment, for encoding binIdx 1 to 6 with a constant symbol occurrence probability of 50%, the encoding efficiency is almost not degraded. In particular, the experiment showed that sao_offset often indicates an intermediate value (from 2 to 6), and the probabilities of binIdx 1 to 6 appearing are close to 50%. Thus, processing for suppressing reduction in encoding efficiency can be accelerated by using not context arithmetic encoding, but bypass arithmetic encoding on binIdx after binIdx2.

[0074]<1-3-1. Разновидности>[0074]<1-3-1. Varieties>

Хотя обходное арифметическое кодирование выполняется над бинами после binIdx2 в соответствии с Вариантом 1 осуществления, обработка этим не ограничивается.Although bypass arithmetic encoding is performed on bins after binIdx2 in accordance with Embodiment 1, the processing is not limited to this.

[0075] Фиг. 8 - таблица, указывающая соответствие между бинами, включенными в binIdx, и арифметическим кодированием, которое будет применено. На фиг. 8 "Вариант 1 осуществления" указывает соответствие между бинами, описанными в Варианте 1 осуществления, и арифметическим кодированием, которое должно быть применено. Кроме того, "Контекст 0" указывает контекстное арифметическое кодирование с использованием контекста 0. "Контекст 1" указывает контекстное арифметическое кодирование с использованием контекста 1. "Обходное" указывает обходное арифметическое кодирование.[0075] FIG. 8 is a table indicating the correspondence between the bins included in binIdx and the arithmetic encoding that will be applied. In fig. 8 "Embodiment 1" indicates the correspondence between the bins described in Embodiment 1 and the arithmetic encoding to be applied. In addition, "Context 0" indicates context arithmetic encoding using context 0. "Context 1" indicates context arithmetic encoding using context 1. "Bypass" indicates bypass arithmetic encoding.

[0076] "Изменение 1" на фиг. 8 указывает Разновидность 1. В соответствии с Разновидностью 1, контекстное арифметическое кодирование выполняется над бином в binIdx0, а обходное арифметическое кодирование выполняется над бинами после binIdx1. Кроме того, в соответствии с Разновидностью 1 узел 112 кодирования sao_offset на фиг. 2 должен включать в себя только узел 113 преобразования sao_offset в двоичную форму, узел 114 переключения арифметического кодирования, узел 115 арифметического кодирования контекста 0 и узел 117 обходного арифметического кодирования. Другими словами, узел 112 кодирования sao_offset не должен включать в себя узел 116 арифметического кодирования контекста 1.[0076] "Change 1" in FIG. 8 indicates Flavor 1. According to Flavor 1, context arithmetic encoding is performed on the bin at binIdx0, and bypass arithmetic encoding is performed on bins after binIdx1. Moreover, according to Type 1, the sao_offset encoding node 112 in FIG. 2 should only include sao_offset binary conversion unit 113, arithmetic encoding switching unit 114, context 0 arithmetic encoding unit 115, and arithmetic encoding bypass unit 117. In other words, the sao_offset encoding node 112 does not need to include the context 1 arithmetic encoding node 116.

[0077] "Изменение 2" на фиг. 8 указывает Разновидность 2. В Разновидности 2 обходное арифметическое кодирование выполняется над каждым из бинов в binIdx, как показано на фиг. 8.[0077] "Change 2" in FIG. 8 indicates Flavor 2. In Flavor 2, bypass arithmetic encoding is performed on each of the bins in binIdx, as shown in FIG. 8.

[0078] Фиг. 6B - блок-схема алгоритма, указывающая примерные процессы (способ кодирования изображений) в узле 112 кодирования sao_offset в соответствии с Разновидностью 2. На фиг. 6B sao_offset преобразуется в двоичную форму (этап S121 для преобразования значения смещения в строку бинов), и обходное арифметическое кодирование выполняется над всеми бинами, включенными в sao_offset (этапы S126 и S127 для выполнения обходного арифметического кодирования). Поскольку обходное арифметическое кодирование выполняется над всеми бинами, обработка может быть самой быстрой в Разновидности 2.[0078] FIG. 6B is a flowchart indicating exemplary processes (image encoding method) in the sao_offset encoding unit 112 according to Type 2. FIG. 6B sao_offset is converted to binary form (step S121 to convert the offset value into a string of bins), and bypass arithmetic encoding is performed on all bins included in sao_offset (steps S126 and S127 to perform bypass arithmetic encoding). Because bypass arithmetic encoding is performed on all bins, processing can be fastest in Type 2.

[0079] Кроме того, в соответствии с Разновидностью 2 узел 112 кодирования sao_offset на фиг. 2 должен включать в себя только узел 113 преобразования sao_offset в двоичную форму и узел 117 обходного арифметического кодирования. Другими словами, узел 112 кодирования sao_offset не должен включать в себя узел 115 арифметического кодирования контекста 0 и узел 116 арифметического кодирования контекста 1.[0079] In addition, according to Type 2, sao_offset encoding unit 112 in FIG. 2 should only include a sao_offset binary conversion node 113 and a bypass arithmetic encoding node 117. In other words, the sao_offset encoding unit 112 need not include the context 0 arithmetic encoding unit 115 and the context 1 arithmetic encoding unit 116.

[0080] Хотя и не проиллюстрировано, приемлемо выполнять контекстное арифметическое кодирование над binIdx с 0 по 2 и обходное арифметическое кодирование над binIdx после binIdx3.[0080] Although not illustrated, it is acceptable to perform context arithmetic encoding on binIdx 0 to 2 and bypass arithmetic encoding on binIdx after binIdx3.

[0081]<1-3-2. Результат эксперимента по эффективности кодирования>[0081]<1-3-2. Coding efficiency experiment result>

Фиг. 9 - таблица, показывающая результат эксперимента по эффективности кодирования в соответствии с Вариантом 1 осуществления и Разновидностью 1.Fig. 9 is a table showing the result of an experiment on encoding efficiency in accordance with Embodiment 1 and Flavor 1.

[0082] Фиг. 9 показывает результат сравнения между эффективностью кодирования, полученной путем выполнения арифметического кодирования над значением смещения SAO в соответствии с текущим стандартом HEVC (NPL 1), и эффективностью кодирования в соответствии с Вариантом 1 осуществления и Разновидностью 1. Условия эксперимента придерживаются общих условий эксперимента в структуре стандарта HEVC.[0082] FIG. 9 shows the comparison result between the encoding efficiency obtained by performing arithmetic encoding on the SAO offset value in accordance with the current HEVC standard (NPL 1), and the encoding efficiency in accordance with Embodiment 1 and Variation 1. The experimental conditions adhere to the general experimental conditions in the structure of the standard. HEVC.

[0083] Чем больше значение, тем ниже эффективность кодирования. Отрицательное значение указывает повышение эффективности кодирования.[0083] The larger the value, the lower the coding efficiency. A negative value indicates an increase in encoding efficiency.

[0084] Как показано в "Варианте 1 осуществления" из фиг. 9, значения, указывающие результат сравнения, колеблются между -0,1% и 0,1%. Это указывает, что эффективность кодирования для кодирования binIdx2 - binIdx6 у значения смещения SAO почти одинакова между контекстным арифметическим кодированием и обходным арифметическим кодированием.[0084] As shown in "Embodiment 1" of FIG. 9, the values indicating the comparison result range between -0.1% and 0.1%. This indicates that the encoding efficiency for binIdx2 - binIdx6 encoding at the SAO offset value is almost the same between context arithmetic encoding and bypass arithmetic encoding.

[0085] Хотя эффективность кодирования у Разновидности 1 ниже, чем у Варианта 1 осуществления, как видно из "Изменения 1" на фиг. 9, результаты колеблются между 0 и 0,1%, и эффективность кодирования почти одинакова.[0085] Although the coding efficiency of Variation 1 is lower than that of Embodiment 1, as seen in "Variation 1" in FIG. 9, the results range between 0 and 0.1%, and the coding efficiency is almost the same.

[0086] Хотя эффективность кодирования у Разновидности 2 также ниже, чем у Варианта 1 осуществления, как видно из "Изменения 2" на фиг. 9, результаты колеблются между 0 и 0,1%, и эффективность кодирования почти одинакова.[0086] Although the coding efficiency of Variation 2 is also lower than that of Embodiment 1, as seen in "Variation 2" in FIG. 9, the results range between 0 and 0.1%, and the coding efficiency is almost the same.

[0087] В результате эксперимента по эффективности кодирования применение обходного арифметического кодирования при выполнении арифметического кодирования над значением смещения SAO дает возможность ускорения арифметического кодирования наряду с тем, что эффективность кодирования снижается с меньшей вероятностью.[0087] As a result of the encoding efficiency experiment, using bypass arithmetic encoding when performing arithmetic encoding on the SAO offset value makes it possible to speed up arithmetic encoding while the encoding efficiency is less likely to degrade.

[0088] (Вариант 2 осуществления)[0088] (Embodiment 2)

Устройство декодирования изображений и способ декодирования изображений в соответствии с Вариантом 2 осуществления будут описываться со ссылкой на фиг. 10-15A.An image decoding apparatus and an image decoding method according to Embodiment 2 will be described with reference to FIG. 10-15A.

[0089]<2-1. Конфигурация устройства>[0089]<2-1. Device Configuration>

Устройство декодирования изображений в соответствии с Вариантом 2 осуществления будет описываться со ссылкой на фиг. 10. Фиг. 10 - блок-схема, иллюстрирующая конфигурацию устройства 200 декодирования изображений в соответствии со стандартом HEVC в соответствии с Вариантом 2 осуществления.An image decoding apparatus according to Embodiment 2 will be described with reference to FIG. 10. Fig. 10 is a block diagram illustrating the configuration of an image decoding apparatus 200 in accordance with the HEVC standard in accordance with Embodiment 2.

[0090] Устройство 200 декодирования изображений является устройством, которое декодирует входной поток двоичных сигналов (кодированный поток двоичных сигналов), чтобы сформировать декодированное изображение ("Изображение" на фиг. 10).[0090] The image decoding device 200 is a device that decodes an input bit stream (coded bit stream) to generate a decoded image ("Image" in FIG. 10).

[0091] Как проиллюстрировано на фиг. 10, устройство 200 декодирования изображений включает в себя узел 201 декодирования переменной длины, узел 202 обратного преобразования, узел 210 декодирования параметров SAO, узел 204 обработки SAO, узел 205 объединения декодированных блоков, память 206 кадров и узел 207 предсказания.[0091] As illustrated in FIG. 10, the image decoding apparatus 200 includes a variable length decoding unit 201, an inverse transform unit 202, an SAO parameter decoding unit 210, an SAO processing unit 204, a decoded block combining unit 205, a frame memory 206, and a prediction unit 207.

[0092] Узел 201 декодирования переменной длины выполняет энтропийное декодирование (декодирование переменной длины) над потоком двоичных сигналов, введенным в устройство 200 декодирования изображений, чтобы получить квантованные коэффициенты и различную информацию, необходимую для декодирования (информацию о разбиении для блоков, которые должны предсказываться, тип предсказания, вектор движения, режим предсказания (режим внутреннего предсказания), квантованный параметр и т.п.).[0092] The variable length decoding section 201 performs entropy decoding (variable length decoding) on the binary signal stream input to the image decoding apparatus 200 to obtain quantized coefficients and various information required for decoding (partitioning information for blocks to be predicted, prediction type, motion vector, prediction mode (intra prediction mode), quantized parameter, etc.).

[0093] Узел 202 обратного преобразования выполняет обратное квантование для преобразования квантованных коэффициентов, выводимых из узла 201 декодирования переменной длины, в частотные коэффициенты и выполняет обратное преобразование для преобразования частотных коэффициентов из частотной области в область изображения, чтобы вывести разностный блок.[0093] The inverse transform unit 202 performs inverse quantization to convert the quantized coefficients output from the variable length decoding unit 201 into frequency coefficients, and performs inverse transform to convert the frequency coefficients from the frequency domain to the image domain to output a difference block.

[0094] Узел 203 сложения складывает блок предсказания, выводимый из узла 207 предсказания, с разностным блоком, выводимым из узла 202 обратного преобразования, чтобы сформировать декодированный блок.[0094] The addition unit 203 adds the prediction block output from the prediction unit 207 with the difference block output from the inverse transform unit 202 to form a decoded block.

[0095] Узел 210 декодирования параметров SAO декодирует различные параметры, которые должны использоваться в процессе SAO, из потока двоичных сигналов. Вариант 2 осуществления в качестве параметров SAO приводит sao_offset, указывающее значение смещения SAO, и sao_type_idx, указывающее категорию значения смещения SAO.[0095] The SAO parameter decoding section 210 decodes various parameters to be used in the SAO process from the bit stream. Embodiment 2 provides sao_offset indicating the SAO offset value and sao_type_idx indicating the category of the SAO offset value as the SAO parameters.

[0096] Фиг. 11 - блок-схема, иллюстрирующая примерную конфигурацию узла 210 декодирования параметров SAO. Как проиллюстрировано на фиг. 11, узел 210 декодирования параметров SAO включает в себя узел 211 декодирования sao_type_idx, который выполняет арифметическое декодирование над sao_type_idx, и узел 212 декодирования sao_offset, который выполняет арифметическое декодирование над sao_offset.[0096] FIG. 11 is a block diagram illustrating an exemplary configuration of the SAO parameter decoding unit 210. As illustrated in FIG. 11, the SAO parameter decoding unit 210 includes a sao_type_idx decoding unit 211, which performs arithmetic decoding on sao_type_idx, and a sao_offset decoding unit 212, which performs arithmetic decoding on sao_offset.

[0097] Фиг. 12 - блок-схема, иллюстрирующая примерную конфигурацию узла 212 декодирования sao_offset. Как проиллюстрировано на фиг. 12, узел 212 декодирования sao_offset включает в себя узел 213 переключения арифметического декодирования, узел 214 арифметического декодирования контекста 0, узел 215 арифметического декодирования контекста 1, узел 216 обходного арифметического декодирования и узел 217 обратного преобразования sao_offset из двоичной формы.[0097] FIG. 12 is a block diagram illustrating an exemplary configuration of sao_offset decoding unit 212. As illustrated in FIG. 12, the sao_offset decoding unit 212 includes an arithmetic decoding switching unit 213, a context 0 arithmetic decoding unit 214, a context 1 arithmetic decoding unit 215, a bypass arithmetic decoding unit 216, and a sao_offset decoding unit 217 from binary form.

[0098] Узел 213 переключения арифметического декодирования переключает способ арифметического декодирования, которое должно быть применено к потоку двоичных сигналов. Узел 214 арифметического декодирования контекста 0 выполняет арифметическое декодирование контекста 0 с использованием первого контекста (контекста 0). Узел 215 арифметического декодирования контекста 1 выполняет арифметическое декодирование контекста 1 с использованием второго контекста (контекста 1). Узел 216 обходного арифметического декодирования выполняет обходное арифметическое декодирование с использованием постоянной вероятности. Узел 217 обратного преобразования sao_offset из двоичной формы обратно преобразует из двоичной формы строку бинов sao_offset, выводимую из каждого из узла 214 арифметического декодирования контекста 0, узла 215 арифметического декодирования контекста 1, узла 216 обходного арифметического декодирования, чтобы вывести недвоичное значение sao_offset.[0098] The arithmetic decoding switching unit 213 switches the arithmetic decoding method to be applied to the binary signal stream. Context 0 arithmetic decoding section 214 performs arithmetic decoding of context 0 using the first context (context 0). Context 1 arithmetic decoding unit 215 performs arithmetic decoding of context 1 using a second context (context 1). Bypass arithmetic decoding unit 216 performs bypass arithmetic decoding using a constant probability. The sao_offset binary deconversion node 217 debinarizes the string of sao_offset bins output from each of the context 0 arithmetic decoding node 214, the context 1 arithmetic decoding node 215, and the bypass arithmetic decoding node 216 to output a non-binary sao_offset value.

[0099] Узел 204 обработки SAO выполняет процесс SAO (процесс смещения) над декодированным блоком, выводимым из узла 203 сложения, для добавления значения смещения SAO к значению пикселя у каждого пикселя, включенного в декодированный блок, что будет подробно описываться позже.[0099] The SAO processing unit 204 performs an SAO process (offset process) on the decoded block output from the adding unit 203 to add an SAO offset value to the pixel value of each pixel included in the decoded block, which will be described in detail later.

[0100] Узел 205 объединения декодированных блоков объединяет декодированные блоки, полученные в процессе SAO, чтобы восстановить декодированное изображение. Кроме того, узел 205 объединения декодированных блоков сохраняет декодированное изображение в памяти 206 кадров.[0100] The decoded block combining unit 205 combines the decoded blocks obtained in the SAO process to restore the decoded image. In addition, the decoded block combining unit 205 stores the decoded image in the frame memory 206.

[0101] Память 206 кадров включает в себя некое запоминающее устройство, например оперативное запоминающее устройство (RAM) и постоянное запоминающее устройство (ROM).[0101] The frame memory 206 includes some storage device, such as random access memory (RAM) and read only memory (ROM).

[0102] Узел 207 предсказания формирует блок предсказания посредством внешнего предсказания или внутреннего предсказания. Способ предсказания, который должен быть применен узлом 207 предсказания, является таким же, как в узле 109 предсказания.[0102] The prediction unit 207 generates a prediction block by inter-prediction or intra-prediction. The prediction method to be applied by the prediction unit 207 is the same as in the prediction unit 109.

[0103]<2-2 Общие операции>[0103]<2-2 General operations>

Далее со ссылкой на фиг. 13 будут описываться операции устройства 200 декодирования изображений. Фиг. 13 - блок-схема алгоритма, указывающая процедуру в устройстве 200 декодирования изображений.Next, with reference to FIG. 13, operations of the image decoding apparatus 200 will be described. Fig. 13 is a flowchart indicating a procedure in the image decoding apparatus 200.

[0104] Узел 210 декодирования параметров SAO в устройстве 200 декодирования изображений выполняет декодирование переменной длины над параметром SAO (этап S201).[0104] The SAO parameter decoding section 210 in the image decoding apparatus 200 performs variable length decoding on the SAO parameter (step S201).

[0105] Узел 201 декодирования переменной длины в устройстве 200 декодирования изображений выполняет декодирование переменной длины над потоком двоичных сигналов, чтобы получить квантованные коэффициенты, и выводит квантованные коэффициенты в узел 202 обратного преобразования (этап S202).[0105] The variable length decoding section 201 in the image decoding apparatus 200 performs variable length decoding on the bitstream to obtain quantized coefficients, and outputs the quantized coefficients to the inverse transform section 202 (step S202).

[0106] Узел 202 обратного преобразования в устройстве 200 декодирования изображений выполняет обратное квантование над квантованными коэффициентами, чтобы получить частотные коэффициенты, и выполняет обратное преобразование над полученными частотными коэффициентами, чтобы сформировать разностный блок (этап S203).[0106] The inverse transform unit 202 in the image decoding apparatus 200 performs inverse quantization on the quantized coefficients to obtain frequency coefficients, and performs inverse transform on the obtained frequency coefficients to generate a difference block (step S203).

[0107] Узел 207 предсказания в устройстве 200 декодирования изображений формирует блок предсказания из декодированного изображения, сохраненного в памяти 206 кадров. Кроме того, узел 203 сложения в устройстве 200 декодирования изображений складывает блок предсказания, выводимый из узла 207 предсказания, с разностным блоком, выводимым из узла 202 обратного преобразования, чтобы сформировать декодированный блок (этап S204).[0107] The prediction unit 207 in the image decoding device 200 generates a prediction block from the decoded image stored in the frame memory 206. In addition, the adding unit 203 in the image decoding apparatus 200 adds the prediction block output from the prediction unit 207 with the difference block output from the inverse transform unit 202 to form a decoded block (step S204).

[0108] Узел 204 обработки SAO в устройстве 200 декодирования изображений выполняет процесс SAO (этап S205). В процессе SAO узел 204 обработки SAO классифицирует каждый пиксель декодированного блока по категориям в соответствии с параметром SAO и добавляет к пикселю значение смещения, соответствующее каждой из категорий. Параметры SAO включают в себя параметр sao_type_idx, указывающий категорию, и параметр sao_offset, указывающий значение смещения.[0108] The SAO processing unit 204 in the image decoding apparatus 200 performs the SAO process (step S205). In the SAO process, the SAO processing unit 204 classifies each pixel of the decoded block into categories according to the SAO parameter and adds an offset value corresponding to each of the categories to the pixel. SAO parameters include the sao_type_idx parameter, which specifies the category, and the sao_offset parameter, which specifies the offset value.

[0109] Устройство 200 декодирования изображений повторяет процессы с Этапа 201 по Этап 205 до тех пор, пока не завершится декодирование всех блоков, включенных в кодированное изображение (этап S206).[0109] The image decoding apparatus 200 repeats the processes from Step 201 to Step 205 until decoding of all blocks included in the encoded image is completed (Step S206).

[0110] Узел 205 объединения декодированных блоков в устройстве 200 декодирования изображений объединяет декодированные блоки, чтобы сформировать декодированное изображение, и сохраняет декодированное изображение в памяти 206 кадров.[0110] The decoded block combining unit 205 in the image decoding apparatus 200 combines the decoded blocks to form a decoded image, and stores the decoded image in the frame memory 206.

[0111]<2-2-1. Операции узла декодирования переменной длины параметров SAO>[0111]<2-2-1. Variable Length Parameter Decoding Node Operations SAO>

Операции узла 210 декодирования параметров SAO в соответствии с Вариантом 2 осуществления будут описываться со ссылкой на фиг. 14.Operations of the SAO parameter decoding section 210 according to Embodiment 2 will be described with reference to FIG. 14.

[0112] Фиг. 14 - блок-схема алгоритма, указывающая примерные процессы узла 210 декодирования параметров SAO, и подробно описывает Этап S205 из фиг. 13.[0112] FIG. 14 is a flowchart indicating exemplary processes of the SAO parameter decoding unit 210, and details Step S205 of FIG. 13.

[0113] Узел 211 декодирования sao_type_idx в узле 210 декодирования параметров SAO декодирует sao_type_idx (этап S211).[0113] The sao_type_idx decoding section 211 in the SAO parameter decoding section 210 decodes the sao_type_idx (step S211).

[0114] Узел 212 декодирования sao_offset в узле 210 декодирования параметров SAO декодирует sao_offset (этап S212).[0114] The sao_offset decoding section 212 in the SAO parameter decoding section 210 decodes the sao_offset (step S212).

[0115]<2-2-2. Операции узла 212 декодирования sao_offset>[0115]<2-2-2. Operations of decoding node 212 sao_offset>

Операции узла 212 декодирования sao_offset в соответствии с Вариантом 2 осуществления будут описываться со ссылкой на фиг. 15A. Фиг. 15A - блок-схема алгоритма, указывающая примерные процессы в узле 212 декодирования sao_offset.Operations of the sao_offset decoding unit 212 according to Embodiment 2 will be described with reference to FIG. 15A. Fig. 15A is a flowchart indicating exemplary processes in sao_offset decoding unit 212.

[0116] Узел 213 переключения арифметического декодирования в узле 212 декодирования sao_offset определяет значение binIdx у бина, который должен декодироваться (этапы S221, S223 и S225).[0116] The arithmetic decoding switching unit 213 in the sao_offset decoding unit 212 determines the binIdx value of the bin to be decoded (steps S221, S223 and S225).

[0117] Когда значение равно 0 (Да на этапе S221), узел 213 переключения арифметического декодирования выводит бин, который должен декодироваться, в узел 214 арифметического декодирования контекста 0. Узел 214 арифметического декодирования контекста 0 выполняет контекстное арифметическое декодирование с использованием контекста 0 (этап S222).[0117] When the value is 0 (Yes in step S221), the arithmetic decoding switching section 213 outputs the bin to be decoded to the context 0 arithmetic decoding section 214. The context 0 arithmetic decoding section 214 performs context arithmetic decoding using context 0 (step S222).

[0118] Когда значение равно 1 (Нет на этапе S221 и Да на этапе S223), узел 213 переключения арифметического декодирования выводит бин, который должен декодироваться, в узел 215 арифметического декодирования контекста 1. Узел 215 арифметического декодирования контекста 1 выполняет контекстное арифметическое декодирование с использованием контекста 1 (этап S224).[0118] When the value is 1 (No in step S221 and Yes in step S223), the arithmetic decoding switching unit 213 outputs the bin to be decoded to the context 1 arithmetic decoding unit 215. The context 1 arithmetic decoding unit 215 performs context arithmetic decoding with using context 1 (step S224).

[0119] Когда значение не равно ни 0, ни 1 (Нет на этапе S221 и Нет на этапе S223), узел 213 переключения арифметического декодирования выводит бин, который должен декодироваться, в узел 216 обходного арифметического декодирования. Узел 216 обходного арифметического декодирования выполняет обходное арифметическое декодирование.[0119] When the value is neither 0 nor 1 (No in step S221 and No in step S223), the arithmetic decoding switching section 213 outputs the bin to be decoded to the bypass arithmetic decoding section 216. The bypass arithmetic decoding unit 216 performs bypass arithmetic decoding.

[0120] Узел 212 декодирования sao_offset повторяет процессы с Этапа 221 по Этап 226 до тех пор, пока значение бина, полученного в арифметическом декодировании, не равно 0, или не декодируется бин, чей binIdx равен 6 (этап S226).[0120] The sao_offset decoding section 212 repeats the processes from Step 221 to Step 226 until the value of the bin obtained in the arithmetic decoding is not 0, or a bin whose binIdx is 6 is decoded (Step S226).

[0121] Узел 212 декодирования sao_offset преобразует строку бинов, включающую в себя бины, декодированные узлом 217 обратного преобразования sao_offset из двоичной формы, в недвоичный сигнал (этап S227). Соответствие между недвоичными сигналами и строками бинов является таким же, как показано на фиг. 7 в соответствии с Вариантом 1 осуществления.[0121] The sao_offset decoding section 212 converts the string of bins including the bins decoded by the sao_offset decoding section 217 from binary form into a non-binary signal (step S227). The correspondence between non-binary signals and bin strings is the same as shown in FIG. 7 in accordance with Embodiment 1.

[0122]<2-3. Преимущества и т.п.>[0122]<2-3. Benefits, etc.>

Устройство 200 декодирования изображений в соответствии с Вариантом 2 осуществления может ускорить обработку путем выполнения обходного арифметического декодирования над бинами во второй половине sao_offset.The image decoding apparatus 200 according to Embodiment 2 can speed up processing by performing bypass arithmetic decoding on bins in the second half of sao_offset.

[0123]<2-3-1. Разновидности>[0123]<2-3-1. Varieties>

Хотя обходное арифметическое декодирование выполняется над бинами после binIdx2 в соответствии с Вариантом 2 осуществления, обработка этим не ограничивается. Таким же способом, как в Варианте 1 осуществления, обходное арифметическое декодирование может выполняться над бинами после binIdx1 (Разновидность 1) и над всеми бинами (Разновидность 2).Although bypass arithmetic decoding is performed on bins after binIdx2 in accordance with Embodiment 2, the processing is not limited to this. In the same manner as in Embodiment 1, bypass arithmetic decoding can be performed on bins after binIdx1 (Variation 1) and on all bins (Variation 2).

[0124] В Разновидности 1 в соответствии с Вариантом 2 осуществления контекстное арифметическое декодирование выполняется над бином в binIdx0, а обходное арифметическое декодирование выполняется над бинами после binIdx1. Этот процесс является процессом декодирования, соответствующим процессу кодирования из Разновидности 1 Варианта 1 осуществления на фиг. 8. Поскольку узел 212 декодирования sao_offset на фиг. 12 в соответствии с Разновидностью 1 выполняет обходное арифметическое декодирование над бинами после binIdx1, он должен включать в себя только узел 213 переключения арифметического декодирования, узел 214 арифметического декодирования контекста 0, узел 216 обходного арифметического декодирования и узел 217 обратного преобразования sao_offset из двоичной формы. Другими словами, узел 212 декодирования sao_offset в соответствии с Разновидностью 1 Варианта 2 осуществления не должен включать в себя узел 215 арифметического декодирования контекста 1.[0124] In Type 1 according to Embodiment 2, context arithmetic decoding is performed on the bin in binIdx0, and bypass arithmetic decoding is performed on bins after binIdx1. This process is a decoding process corresponding to the encoding process of Type 1 of Embodiment 1 in FIG. 8. Since the sao_offset decoding unit 212 in FIG. 12, according to Flavor 1, performs bypass arithmetic decoding on the bins after binIdx1, it shall only include an arithmetic decoding switch node 213, a context 0 arithmetic decoding node 214, a bypass arithmetic decoding node 216, and a sao_offset from binary form decoding node 217. In other words, the sao_offset decoding unit 212 according to Type 1 of Embodiment 2 does not need to include the context 1 arithmetic decoding unit 215.

[0125] В соответствии с Разновидностью 2 Варианта 2 осуществления узел 212 декодирования sao_offset выполняет обходное арифметическое декодирование над каждым из бинов в binIdx. Этот процесс является процессом декодирования, соответствующим процессу кодирования из Разновидности 2 Варианта 1 осуществления на фиг. 8.[0125] According to Type 2 of Embodiment 2, the sao_offset decoding node 212 performs bypass arithmetic decoding on each of the bins in binIdx. This process is a decoding process corresponding to the encoding process of Type 2 of Embodiment 1 in FIG. 8.

[0126] Фиг. 15B - блок-схема алгоритма, указывающая примерные процессы (способ декодирования изображений) в узле 212 декодирования sao_offset в соответствии с Разновидностью 2 Варианта 2 осуществления. На фиг. 15B обходное арифметическое декодирование выполняется над всеми бинами, включенными в sao_offset (этапы S225 и S226 для выполнения обходного арифметического декодирования), и декодированное sao_offset обратно преобразуется из двоичной формы (этап S227 для преобразования строки бинов в значение смещения). Поскольку обходное арифметическое декодирование выполняется над всеми бинами, обработка может быть самой быстрой в Разновидности 2.[0126] FIG. 15B is a flowchart indicating exemplary processes (image decoding method) in the sao_offset decoding unit 212 according to Type 2 of Embodiment 2. In fig. 15B, bypass arithmetic decoding is performed on all bins included in sao_offset (steps S225 and S226 for performing bypass arithmetic decoding), and the decoded sao_offset is debinned back from binary form (step S227 for converting a string of bins to an offset value). Because bypass arithmetic decoding is performed on all bins, processing can be fastest in Type 2.

[0127] Поскольку узел 212 декодирования sao_offset на фиг. 12 в соответствии с Разновидностью 2 в этом документе выполняет обходное арифметическое декодирование над всеми бинами, он должен включать в себя только узел 216 обходного арифметического декодирования и узел 217 обратного преобразования sao_offset из двоичной формы. Другими словами, узел 212 декодирования sao_offset в соответствии с Разновидностью 2 Варианта 2 осуществления не должен включать в себя узел 213 переключения арифметического декодирования, узел 214 арифметического декодирования контекста 0 и узел 215 арифметического декодирования контекста 1.[0127] Since the sao_offset decoding section 212 in FIG. 12, in accordance with Flavor 2 of this document, performs bypass arithmetic decoding on all bins, it shall only include a bypass arithmetic decoding node 216 and a sao_offset from binary form decoding node 217. In other words, the sao_offset decoding unit 212 according to Type 2 of Embodiment 2 does not need to include the arithmetic decoding switching unit 213, the context 0 arithmetic decoding unit 214, and the context 1 arithmetic decoding unit 215.

[0128] Хотя и не проиллюстрировано, приемлемо выполнять контекстное арифметическое декодирование над binIdx с 0 по 2 и обходное арифметическое декодирование над binIdx после binIdx3, как в Варианте 1 осуществления.[0128] Although not illustrated, it is acceptable to perform context arithmetic decoding on binIdx 0 to 2 and bypass arithmetic decoding on binIdx after binIdx3 as in Embodiment 1.

[0129] (Другие разновидности Вариантов 1 и 2 осуществления)[0129] (Other variations of Embodiments 1 and 2)

(1) Хотя Варианты 1 и 2 осуществления (включая Разновидности) в качестве параметров SAO используют sao_type_idx, указывающее категорию значения смещения SAO, и sao_offset, указывающее значение смещения SAO, параметры SAO этим не ограничиваются. Параметры SAO могут включать в себя, например, параметр, который должен быть вспомогательной информацией для классификации пикселей.(1) Although Embodiments 1 and 2 (including Variants) use sao_type_idx indicating the category of the SAO offset value and sao_offset indicating the SAO offset value as the SAO parameters, the SAO parameters are not limited to this. The SAO parameters may include, for example, a parameter that is intended to be auxiliary information for pixel classification.

[0130] (2) Кроме того, хотя в соответствии с Вариантом 1 осуществления (включая Разновидности) параметр SAO кодируется на каждый блок, который должен предсказываться, кодирование этим не ограничивается. Параметр SAO может кодироваться не на каждый блок, который должен предсказываться, а на единицу меньше блока, который должен предсказываться, или наоборот на единицу, полученную путем объединения блоков, которые должны предсказываться. Кроме того, параметр SAO не кодируется в блоке, который должны предсказываться, а вместо этого можно скопировать и использовать значение другого блока.[0130] (2) In addition, although according to Embodiment 1 (including the Varieties), the SAO parameter is encoded on each block to be predicted, the encoding is not limited to this. The SAO parameter may be encoded not for each block that must be predicted, but for one less than the block that must be predicted, or vice versa, for one obtained by combining the blocks that must be predicted. In addition, the SAO parameter is not encoded in the block that is to be predicted, but instead the value of another block can be copied and used.

[0131] Здесь устройство 200 декодирования изображений в соответствии с Вариантом 2 осуществления (включая Разновидности) декодирует кодированный параметр SAO в соответствии с размером кодирования параметра SAO в устройстве 100 кодирования изображений.[0131] Here, the image decoding apparatus 200 according to Embodiment 2 (including Varieties) decodes the encoded SAO parameter according to the encoding size of the SAO parameter in the image encoding apparatus 100.

[0132] (3) Хотя sao_offset принимает значения от 0 до 7 в соответствии с Вариантами 1 и 2 осуществления (включая Разновидности), sao_offset этим не ограничивается. Оно может принимать значения 8 или выше. Кроме того, sao_offset может принимать отрицательное значение, и в таком случае может предоставляться другой параметр sao_offset_sign, представляющий знаковый разряд.[0132] (3) Although sao_offset takes values from 0 to 7 in accordance with Embodiments 1 and 2 (including Varieties), sao_offset is not limited to this. It can take values of 8 or higher. Additionally, sao_offset may take a negative value, in which case another parameter sao_offset_sign representing the sign bit may be provided.

[0133] (4) Кроме того, хотя Вариант 1 осуществления (включая Разновидности) описывает кодирование sao_offset, обработка этим не ограничивается. Способ для кодирования параметра SAO в соответствии с Вариантом 1 осуществления (включая Разновидности) может применяться для кодирования другого синтаксиса, который должен быть добавлен в поток двоичных сигналов. Кроме того, когда способ для кодирования параметра SAO в соответствии с Вариантом 1 осуществления и его Разновидностью 1 применяется для кодирования синтаксисов, и унифицировано использование контекста (количество бинов и binIdx, которые используют контекст), один и тот же узел кодирования переменной длины доступен при кодировании синтаксисов. Соответственно, конфигурацию устройства можно упростить.[0133] (4) In addition, although Embodiment 1 (including Varieties) describes sao_offset encoding, the processing is not limited to this. The method for encoding the SAO parameter in accordance with Embodiment 1 (including Flavors) may be used to encode other syntax to be added to the bit stream. In addition, when the method for encoding an SAO parameter according to Embodiment 1 and Variation 1 thereof is applied to encoding syntaxes, and the use of context (the number of bins and binIdx that use the context) is unified, the same variable length encoding node is available when encoding syntaxes. Accordingly, the device configuration can be simplified.

[0134] Примеры синтаксисов, к которым применяется способ для кодирования параметра SAO в соответствии с Вариантом 1 осуществления и его Разновидностями 1 и 2, включают в себя ref_idx, указывающий индекс опорного изображения, merge_idx, указывающий источник копирования вектора движения и прочих, и mpm_idx или intra_chroma_pred_mode, указывающий режим внутреннего предсказания, в соответствии с текущим стандартом HEVC (NPL 1).[0134] Examples of syntaxes to which the method for encoding the SAO parameter is applied in accordance with Embodiment 1 and Variants 1 and 2 thereof include ref_idx indicating a reference image index, merge_idx indicating a motion vector copy source and others, and mpm_idx or intra_chroma_pred_mode indicating the intra prediction mode, according to the current HEVC standard (NPL 1).

[0135] Здесь устройство 200 декодирования изображений в соответствии с Вариантом 2 осуществления (включая Разновидности) также декодирует синтаксис, кодированный с использованием способа для кодирования параметра SAO, используя способ для декодирования параметра SAO.[0135] Here, the image decoding apparatus 200 according to Embodiment 2 (including Varieties) also decodes the syntax encoded using the method for encoding the SAO parameter using the method for decoding the SAO parameter.

[0136] (5) Кроме того, хотя размер блока, который должен предсказываться, в соответствии с Вариантами 1 и 2 осуществления (включая Разновидности) равен максимально 32×32 пикселям и минимально 4×4 пикселям, размер этим не ограничивается. Кроме того, хотя Варианты 1 и 2 осуществления (включая Разновидности) описывают блоки, которые должны предсказываться, которые имеют переменный размер, размер блоков может быть постоянным.[0136] (5) In addition, although the size of a block to be predicted according to Embodiments 1 and 2 (including Varieties) is a maximum of 32×32 pixels and a minimum of 4×4 pixels, the size is not limited to this. In addition, although Embodiments 1 and 2 (including Variants) describe blocks to be predicted that have a variable size, the size of the blocks may be constant.

[0137] (6) Кроме того, обработка в соответствии с Вариантами 1 и 2 осуществления (включая Разновидности) может быть реализована с помощью программного обеспечения. Программное обеспечение может распространяться посредством, например, загрузки. Кроме того, программное обеспечение может распространяться путем его записи на носители записи, например CD-ROM. Это справедливо и для других Вариантов осуществления в описании.[0137] (6) Moreover, processing in accordance with Embodiments 1 and 2 (including Varieties) may be implemented by software. The software may be distributed through, for example, downloading. In addition, the software may be distributed by recording it on a recording medium such as a CD-ROM. This is also true for other embodiments in the description.

[0138] (7) В Вариантах 1 и 2 осуществления (включая Разновидности) каждый из функциональных блоков может быть в большинстве случаев реализован с помощью, например, MPU и запоминающего устройства. Кроме того, обычно обработка с помощью каждого из функциональных блоков может быть реализована с помощью программного обеспечения (программы), и такое программное обеспечение записывается на носитель записи, например ROM. К тому же такое программное обеспечение может распространяться, например, путем загрузки и записи на носители записи, например CD-ROM. Каждый из функциональных блоков может быть реализован с помощью аппаратных средств (специализированной схемы).[0138] (7) In Embodiments 1 and 2 (including Varieties), each of the functional blocks can be implemented by, for example, an MPU and a memory device in most cases. In addition, generally, processing by each of the functional blocks may be implemented by software (program), and such software is recorded on a recording medium such as a ROM. In addition, such software can be distributed, for example, by downloading and burning onto recording media such as CD-ROM. Each of the functional blocks can be implemented using hardware (specialized circuitry).

[0139] (8) Обработка, описанная в Вариантах 1 и 2 осуществления (включая Разновидности), может выполняться как централизованная обработка с помощью одного устройства (системы) или как децентрализованная обработка с помощью множества устройств. Здесь программа может исполняться одним или несколькими компьютерами. Другими словами, может выполняться любая из централизованной обработки и децентрализованной обработки.[0139] (8) The processing described in Embodiments 1 and 2 (including Varieties) may be performed as centralized processing by a single device (system) or as decentralized processing by multiple devices. Here the program can be executed by one or more computers. In other words, any of centralized processing and decentralized processing can be performed.

[0140] (9) Кроме того, каждый из составляющих элементов в соответствии с Вариантами 1 и 2 осуществления (включая Разновидности) может быть реализован с помощью специализированных аппаратных средств или с помощью исполнения компьютерной программы, подходящей для составляющего элемента. Каждый из составляющих элементов может быть реализован с помощью узла исполнения программ, например центрального процессора (CPU) и процессора, считывающего и исполняющего компьютерную программу, записанную на носителе записи, таком как жесткий диск или полупроводниковое запоминающее устройство.[0140] (9) In addition, each of the constituent elements according to Embodiments 1 and 2 (including Varieties) may be implemented by specialized hardware or by executing a computer program suitable for the constituent element. Each of the constituent elements may be implemented by a program execution unit, such as a central processing unit (CPU) and a processor that reads and executes a computer program recorded on a recording medium such as a hard disk or a semiconductor storage device.

[0141] В частности, каждое из устройства 100 кодирования изображений и устройства 200 декодирования изображений включает в себя схему управления и запоминающее устройство, электрически подключенное к схеме управления (допускающее обращение из схемы управления). Схема управления включает в себя по меньшей мере одно из специализированных аппаратных средств и узла исполнения программ. Когда схема управления включает в себя узел исполнения программ, запоминающее устройство хранит компьютерную программу, исполняемую узлом исполнения программ.[0141] Specifically, each of the image encoding device 100 and the image decoding device 200 includes a control circuit and a memory electrically connected to the control circuit (accessible from the control circuit). The control circuit includes at least one of specialized hardware and a program execution unit. When the control circuit includes a program execution unit, the storage device stores a computer program executed by the program execution unit.

[0142] Настоящее изобретение не ограничивается Вариантами 1 и 2 осуществления (включая Разновидности), и различные модификации возможны и включаются в объем настоящего изобретения.[0142] The present invention is not limited to Embodiments 1 and 2 (including Varieties), and various modifications are possible and are included within the scope of the present invention.

[0143] (Вариант 3 осуществления)[0143] (Embodiment 3)

Независимая компьютерная система может без труда выполнять обработку, описанную в каждом из Вариантов осуществления, путем записи на некий носитель записи программы для реализации структуры способа кодирования кинофильма (способа кодирования изображений) или способа декодирования кинофильма (способа декодирования изображений) в соответствии с Вариантом осуществления. Носитель записи может быть любым при условии, что на него может быть записана программа, например магнитным диском, оптическим диском, магнитооптическим диском, платой ИС и полупроводниковым запоминающим устройством.An independent computer system can easily perform the processing described in each of the Embodiments by recording on a recording medium a program for implementing the structure of a movie encoding method (image encoding method) or a movie decoding method (image decoding method) according to the Embodiment. The recording medium may be anything as long as the program can be recorded thereon, such as a magnetic disk, an optical disk, a magneto-optical disk, an IC card, and a semiconductor storage device.

[0144] Ниже будут описываться применения способа кодирования кинофильма (способа кодирования изображений) и способа декодирования кинофильма (способа декодирования изображений) в соответствии с каждым из Вариантов осуществления, и система, использующая такие применения. Признаки системы включают в себя устройство кодирования изображений, использующее способ кодирования изображений, и устройство кодирования и декодирования изображений, включающее в себя устройство декодирования изображений, использующее способ декодирования изображений. Другие конфигурации системы можно менять подходящим образом в зависимости от случая.[0144] Applications of a movie encoding method (image encoding method) and a movie decoding method (image decoding method) according to each of the Embodiments, and a system using such applications, will be described below. Features of the system include an image encoding device using an image encoding method, and an image encoding and decoding device including an image decoding device using an image decoding method. Other system configurations can be changed as appropriate depending on the case.

[0145] Фиг. 16 иллюстрирует общую конфигурацию системы ex100 предоставления контента для реализации услуг распространения контента. Область для предоставления услуг связи делится на соты нужного размера, и в каждой из сот размещаются базовые станции ex106-ex110, которые являются стационарными беспроводными станциями.[0145] FIG. 16 illustrates a general configuration of a content delivery system ex100 for implementing content distribution services. The area for providing communication services is divided into cells of the required size, and each cell houses base stations ex106-ex110, which are fixed wireless stations.

[0146] Система ex100 предоставления контента подключается к устройствам, например компьютеру ex111, персональному цифровому помощнику (PDA) ex112, камере ex113, сотовому телефону ex114 и игровому устройству ex115, через Интернет ex101, поставщика ex102 услуг Интернета, телефонную сеть ex104, а также базовые станции ex106-ex110.[0146] The content delivery system ex100 connects to devices, such as a computer ex111, a personal digital assistant (PDA) ex112, a camera ex113, a cell phone ex114, and a gaming device ex115, via the Internet ex101, an Internet service provider ex102, a telephone network ex104, and basic stations ex106-ex110.

[0147] Однако конфигурация системы ex100 предоставления контента не ограничивается конфигурацией, показанной на фиг. 16, и допустимо сочетание, в котором соединяются любые элементы. К тому же каждое из устройств может быть подключено к телефонной сети ex104 напрямую, а не через базовые станции ex106-ex110, которые являются стационарными беспроводными станциями. Кроме того, устройства могут быть взаимосвязаны друг с другом посредством ближней беспроводной связи и других.[0147] However, the configuration of the content providing system ex100 is not limited to the configuration shown in FIG. 16, and a combination in which any elements are connected is acceptable. In addition, each of the devices can be connected to the ex104 telephone network directly, and not through ex106-ex110 base stations, which are fixed wireless stations. In addition, devices can be interconnected with each other through near field communication and others.

[0148] Камера ex113, например цифровая видеокамера, допускает съемку движущихся изображений. Камера ex116, например цифровая видеокамера, допускает съемку как неподвижных изображений, так и движущихся изображений. Кроме того, сотовый телефон ex114 может быть телефоном, который соответствует любому из стандартов, например Глобальной системе мобильной связи (GSM), Коллективному доступу с кодовым разделением каналов (CDMA), Широкополосному коллективному доступу с кодовым разделением каналов (W-CDMA), Системе долгосрочного развития (LTE) и Высокоскоростному пакетному доступу (HSPA). В качестве альтернативы сотовый телефон ex114 может относиться к Системе персональных переносных телефонов (PHS).[0148] The camera ex113, such as a digital video camera, is capable of capturing moving images. The ex116 camera, such as a digital video camera, can capture both still images and moving images. In addition, the ex114 cellular telephone may be a telephone that complies with any of the standards, for example, Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (W-CDMA), Long Range development (LTE) and High Speed Packet Access (HSPA). Alternatively, the ex114 cellular telephone may be a Personal Handheld System (PHS).

[0149] В системе ex100 предоставления контента сервер ex103 потоковой передачи подключается к камере ex113 и другим через телефонную сеть ex104 и базовую станцию ex109, что дает возможность распространения передачи в прямом эфире и прочих. Для такого распространения контент (например, видеоизображение музыкальной передачи в прямом эфире), снятый пользователем с использованием камеры ex113, кодируется как описано выше в каждом из Вариантов осуществления, и кодированный контент передается на сервер ex103 потоковой передачи. С другой стороны, сервер ex103 потоковой передачи осуществляет потоковое распространение данных принятого контента клиентам по их запросам. Клиенты включают в себя компьютер ex111, PDA ex112, камеру ex113, сотовый телефон ex114 и игровое устройство ex115, которые допускают декодирование вышеупомянутых кодированных данных. Каждое из устройств, которое приняло распространенные данные, декодирует и воспроизводит кодированные данные (то есть функционирует в качестве устройства декодирования изображений в соответствии с аспектом настоящего изобретения).[0149] In the content delivery system ex100, the streaming server ex103 is connected to the camera ex113 and others through the telephone network ex104 and the base station ex109, allowing distribution of live broadcasts and others. For such distribution, content (eg, video of a live music show) captured by a user using camera ex113 is encoded as described above in each of the Embodiments, and the encoded content is transmitted to streaming server ex103. On the other hand, the streaming server ex103 streams received content data to clients based on their requests. Clients include computer ex111, PDA ex112, camera ex113, cell phone ex114, and game device ex115, which are capable of decoding the above-mentioned encoded data. Each of the devices that has received the distributed data decodes and reproduces the encoded data (ie, functions as an image decoding device in accordance with an aspect of the present invention).

[0150] Захваченные данные могут кодироваться камерой ex113 или сервером ex103 потоковой передачи, который передает данные, либо процессы кодирования могут распределяться между камерой ex113 и сервером ex103 потоковой передачи. Аналогичным образом, распространенные данные могут декодироваться клиентами или сервером ex103 потоковой передачи, либо процессы декодирования могут распределяться между клиентами и сервером ex103 потоковой передачи. Кроме того, данные неподвижных изображений и движущихся изображений, снятых не только камерой ex113, но также и камерой ex116, могут передаваться серверу ex103 потоковой передачи через компьютер ex111. Процессы кодирования могут выполняться камерой ex116, компьютером ex111 или сервером ex103 потоковой передачи, либо распределяться между ними.[0150] The captured data may be encoded by camera ex113 or a streaming server ex103 that transmits the data, or the encoding processes may be shared between camera ex113 and streaming server ex103. Likewise, the distributed data may be decoded by clients or the streaming server ex103, or the decoding processes may be shared between the clients and the streaming server ex103. In addition, still image data and moving images captured not only by the ex113 but also by the ex116 can be transmitted to the streaming server ex103 via the ex111 computer. Encoding processes can be performed by or shared between the ex116 camera, ex111 computer, or ex103 streaming server.

[0151] Кроме того, обычно компьютер ex111 и LSI ex500, включенные в каждое из устройств, выполняют такие процессы кодирования и декодирования. LSI ex500 может конфигурироваться из одиночной микросхемы или множества микросхем. Программное обеспечение для кодирования и декодирования кинофильма может встраиваться в некоторый тип носителя записи (например, CD-ROM, гибкий диск, жесткий диск), который считывается компьютером ex111 и другими, и процессы кодирования и декодирования могут выполняться с использованием этого программного обеспечения. Кроме того, когда сотовый телефон ex114 оборудован камерой, можно передавать видеоданные, полученные камерой. Видеоданные являются данными, кодированными LSI ex500, включенной в сотовый телефон ex114.[0151] In addition, typically a computer ex111 and an LSI ex500 included in each of the devices perform such encoding and decoding processes. The LSI ex500 can be configured as a single chip or multiple chips. The movie encoding and decoding software may be built into some type of recording medium (eg, CD-ROM, floppy disk, hard disk) that is read by computer ex111 and others, and the encoding and decoding processes may be performed using this software. In addition, when the ex114 cell phone is equipped with a camera, video data captured by the camera can be transmitted. The video data is LSI ex500 encoded data included in the ex114 cell phone.

[0152] Кроме того, сервер ex103 потоковой передачи может состоять из серверов и компьютеров и может децентрализовать данные и обрабатывать децентрализованные данные, записывать или распространять данные.[0152] In addition, the streaming server ex103 may be composed of servers and computers and may decentralize data and process decentralized data, record or distribute data.

[0153] Как описано выше, клиенты могут принимать и воспроизводить кодированные данные в системе ex100 предоставления контента. Другими словами, клиенты могут принимать и декодировать информацию, переданную пользователем, и воспроизводить декодированные данные в реальном масштабе времени в системе ex100 предоставления контента, чтобы пользователь, у которого нет никакого конкретного права и оборудования, мог реализовать личную трансляцию.[0153] As described above, clients can receive and reproduce encoded data in the content delivery system ex100. In other words, clients can receive and decode information transmitted by the user, and play back the decoded data in real time in the content provision system ex100, so that a user who does not have any specific right and equipment can realize personal broadcasting.

[0154] Настоящее изобретение не ограничивается вышеупомянутой системой ex100 предоставления контента, и по меньшей мере либо устройство кодирования кинофильма (устройство кодирования изображений), либо устройство декодирования кинофильма (устройство декодирования изображений), описанные в каждом из Вариантов осуществления, может включаться в систему ex200 цифрового вещания, которая показана на фиг. 17. Точнее говоря, вещательная станция ex201 сообщает или передает посредством радиоволн вещательному спутнику ex202 мультиплексированные данные, полученные путем мультиплексирования видеоданных аудиоданными. Видеоданные являются данными, кодированными в соответствии со способом кодирования кинофильма, описанным в каждом из Вариантов осуществления (то есть данными, кодированными устройством кодирования изображений в соответствии с аспектом настоящего изобретения). При приеме видеоданных вещательный спутник ex202 передает радиоволны для транслирования. Затем бытовая антенна ex204, допускающая прием спутникового вещания, принимает радиоволны. Устройство, например телевизор ex300 (приемник) и телевизионная приставка ex217 (STB), декодирует принятые мультиплексированные данные и воспроизводит данные (то есть функционирует в качестве устройства декодирования изображений в соответствии с аспектом настоящего изобретения).[0154] The present invention is not limited to the above-mentioned content providing system ex100, and at least either a movie encoding device (image encoding device) or a movie decoding device (image decoding device) described in each of Embodiments may be included in the digital broadcast, which is shown in FIG. 17. More precisely, the broadcast station ex201 reports or transmits via radio waves to the broadcast satellite ex202 multiplexed data obtained by multiplexing video data with audio data. The video data is data encoded in accordance with the movie encoding method described in each of the Embodiments (ie, data encoded by an image encoding apparatus according to an aspect of the present invention). When receiving video data, the ex202 broadcast satellite transmits radio waves for broadcast. Then the ex204 household antenna, capable of receiving satellite broadcasts, receives radio waves. A device, such as a television ex300 (receiver) and set top box ex217 (STB), decodes the received multiplexed data and reproduces the data (ie, functions as an image decoding device in accordance with an aspect of the present invention).

[0155] Кроме того, считывающее/записывающее устройство ex218, которое (i) считывает и декодирует мультиплексированные данные, записанные на носителях ex215 записи, например DVD и BD, либо (ii) кодирует видеосигналы на носителе ex215 записи и в некоторых случаях записывает данные, полученные путем мультиплексирования аудиосигнала на кодированные данные, может включать в себя устройство декодирования кинофильма или устройство кодирования кинофильма, которые показаны в каждом из Вариантов осуществления. В этом случае воспроизводимые видеосигналы отображаются на мониторе ex219, и другое устройство или система могут воспроизводить видеосигналы, используя носитель ex215 записи, на котором записаны мультиплексированные данные. Кроме того, возможно реализовать устройство декодирования кинофильма в телевизионной приставке ex217, подключенной к кабелю ex203 для кабельного телевидения или к антенне ex204 для спутникового и/или наземного вещания, чтобы отобразить видеосигналы на мониторе ex219 телевизора ex300. Устройство декодирования кинофильма может включаться не в телевизионную приставку, а в телевизор ex300.[0155] In addition, a reader/writer ex218 that (i) reads and decodes multiplexed data recorded on recording media ex215, such as DVD and BD, or (ii) encodes video signals on recording media ex215 and in some cases writes data, obtained by multiplexing an audio signal onto encoded data may include a movie decoding device or a movie encoding device, which are shown in each of the Embodiments. In this case, the playback video signals are displayed on the monitor ex219, and another device or system can play back the video signals using the recording medium ex215 on which the multiplexed data is recorded. It is also possible to implement a movie decoding device in a set top box ex217 connected to a cable ex203 for cable television or to an antenna ex204 for satellite and/or terrestrial broadcasting to display video signals on a monitor ex219 of an ex300 television. The movie decoding device can be included not in the set-top box, but in the ex300 TV.

[0156] Фиг. 18 иллюстрирует телевизор (приемник) ex300, который использует способ кодирования кинофильма и способ декодирования кинофильма, описанные в каждом из Вариантов осуществления. Телевизор ex300 включает в себя: тюнер ex301, который получает или предоставляет мультиплексированные данные, полученные путем мультиплексирования аудиоданных и видеоданных, через антенну ex204 или кабель ex203 и т.д., который принимает трансляцию; узел ex302 модуляции/демодуляции, который демодулирует принятые мультиплексированные данные или модулирует данные в мультиплексированные данные для поставки их наружу узла; и узел ex303 мультиплексирования/демультиплексирования, который демультиплексирует модулированные мультиплексированные данные на видеоданные и аудиоданные либо мультиплексирует видеоданные и аудиоданные, кодированные узлом ex306 обработки сигналов, в данные.[0156] FIG. 18 illustrates a TV ex300 that uses the movie encoding method and the movie decoding method described in each of the Embodiments. The ex300 TV includes: ex301 tuner, which receives or provides multiplexed data obtained by multiplexing audio data and video data through antenna ex204 or cable ex203, etc., which receives broadcast; a modulation/demodulation unit ex302 that demodulates the received multiplexed data or modulates the data into multiplexed data to supply it to the outside of the unit; and a multiplexing/demultiplexing unit ex303 that demultiplexes the modulated multiplexed data into video data and audio data, or multiplexes the video data and audio data encoded by the signal processing unit ex306 into data.

[0157] Кроме того, телевизор ex300 дополнительно включает в себя: узел ex306 обработки сигналов, включающий в себя узел ex304 обработки аудиосигнала и узел ex305 обработки видеосигнала, которые декодируют аудиоданные и видеоданные и кодируют аудиоданные и видеоданные соответственно (которые функционируют в качестве устройства кодирования изображений или устройства декодирования изображений в соответствии с аспектом настоящего изобретения); громкоговоритель ex307, который предоставляет декодированный аудиосигнал; и узел ex309 вывода, включающий в себя узел ex308 отображения, который отображает декодированный видеосигнал, например дисплей. Кроме того, телевизор ex300 включает в себя интерфейсный узел ex317, включающий в себя узел ex312 ввода операции, который принимает ввод действия пользователя. Кроме того, телевизор ex300 включает в себя узел ex310 управления, который управляет в общем каждым составляющим элементом телевизора ex300, и схему ex311 питания, которая снабжает энергией каждый из элементов. Помимо узла ex312 ввода операции интерфейсный узел ex317 может включать в себя: мост ex313, который подключается к внешнему устройству, например считывающему/записывающему устройству ex218; разъем ex314 для обеспечения присоединения носителя ex216 записи, например карты SD; привод ex315, который нужно подключить к внешнему носителю записи, например жесткому диску; и модем ex316, который нужно подключить к телефонной сети. Здесь носитель ex216 записи может электрически записывать информацию с использованием элемента энергонезависимой/энергозависимой полупроводниковой памяти для хранения. Составляющие элементы телевизора ex300 соединяются друг с другом по синхронной шине.[0157] In addition, the TV ex300 further includes: a signal processing unit ex306, including an audio signal processing unit ex304 and a video signal processing unit ex305, which decode audio data and video data and encode audio data and video data, respectively (which function as an image encoding device or an image decoding device in accordance with an aspect of the present invention); loudspeaker ex307, which provides decoded audio signal; and an output portion ex309 including a display portion ex308 that displays the decoded video signal, such as a display. In addition, the TV ex300 includes an interface unit ex317 including an operation input unit ex312 that receives user action input. In addition, the television ex300 includes a control unit ex310, which generally controls each component element of the television ex300, and a power circuit ex311, which supplies power to each of the elements. In addition to the operation input node ex312, the interface node ex317 may include: a bridge ex313, which connects to an external device, such as a reader/writer ex218; ex314 connector for connecting ex216 recording media, such as an SD card; ex315 drive, which needs to be connected to an external recording medium, such as a hard drive; and an ex316 modem that needs to be connected to the telephone network. Here, the recording medium ex216 can electrically record information using a non-volatile/volatile semiconductor storage memory element. The components of the ex300 TV are connected to each other via a synchronous bus.

[0158] Сначала будет описываться конфигурация, в которой телевизор ex300 декодирует мультиплексированные данные, полученные извне через антенну ex204 и прочие, и воспроизводит декодированные данные. В телевизоре ex300 в результате приема действия пользователя от пульта ex220 дистанционного управления и прочих узел ex303 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные, демодулированные узлом ex302 модуляции/демодуляции, под управлением узла ex310 управления, включающего в себя CPU. Кроме того, в телевизоре ex300 узел ex304 обработки аудиосигнала декодирует демультиплексированные аудиоданные, а узел ex305 обработки видеосигнала декодирует демультиплексированные видеоданные, используя способ декодирования, описанный в каждом из Вариантов осуществления. Узел ex309 вывода предоставляет наружу декодированный видеосигнал и аудиосигнал. Когда узел ex309 вывода предоставляет видеосигнал и аудиосигнал, сигналы могут быть временно сохранены в буферах ex318 и ex319 и других, чтобы сигналы воспроизводились синхронно друг с другом. Кроме того, телевизор ex300 может считывать мультиплексированные данные не посредством трансляции и прочего, а с носителей ex215 и ex216 записи, например магнитного диска, оптического диска и карты SD. Далее будет описываться конфигурация, в которой телевизор ex300 кодирует аудиосигнал и видеосигнал и передает данные наружу или записывает данные на носитель записи. В телевизоре ex300 в результате приема действия пользователя от пульта ex220 дистанционного управления и прочих узел ex304 обработки аудиосигнала кодирует аудиосигнал, а узел ex305 обработки видеосигнала кодирует видеосигнал, под управлением узла ex310 управления с использованием способа кодирования, который описан в каждом из Вариантов осуществления. Узел ex303 мультиплексирования/демультиплексирования мультиплексирует кодированный видеосигнал и аудиосигнал и предоставляет наружу результирующий сигнал. Когда узел ex303 мультиплексирования/демультиплексирования мультиплексирует видеосигнал и аудиосигнал, сигналы могут быть временно сохранены в буферах ex320 и ex321 и других, чтобы сигналы воспроизводились синхронно друг с другом. Здесь буферы ex318-ex321 могут быть многочисленными, как проиллюстрировано, или по меньшей мере один буфер может использоваться совместно в телевизоре ex300. Кроме того, данные могут храниться в буфере помимо буферов ex318-ex321, чтобы можно было избежать переполнения и незаполнения системы, например, между узлом ex302 модуляции/демодуляции и узлом ex303 мультиплексирования/демультиплексирования.[0158] First, a configuration in which the TV ex300 decodes multiplexed data received externally through antenna ex204 and others and reproduces the decoded data will be described. In the TV ex300, as a result of receiving user action from the remote control ex220 and others, the multiplexing/demultiplexing unit ex303 demultiplexes the multiplexed data demodulated by the modulation/demodulation unit ex302 under the control of the control unit ex310 including the CPU. In addition, in the TV ex300, the audio signal processing unit ex304 decodes the demultiplexed audio data, and the video signal processing unit ex305 decodes the demultiplexed video data using the decoding method described in each of the Embodiments. The output node ex309 provides the decoded video signal and audio signal to the outside. When the output node ex309 provides a video signal and an audio signal, the signals can be temporarily stored in buffers ex318 and ex319 and others so that the signals are played back in sync with each other. In addition, the ex300 TV can read multiplexed data not through broadcasting etc., but from ex215 and ex216 recording media such as magnetic disk, optical disk and SD card. Next, a configuration in which the ex300 TV encodes an audio signal and a video signal and transmits the data outside or writes the data to a recording medium will be described. In the TV ex300, as a result of receiving the user's action from the remote control ex220 and others, the audio signal processing unit ex304 encodes the audio signal, and the video signal processing unit ex305 encodes the video signal, under the control of the control unit ex310 using the encoding method that is described in each of the Embodiments. The multiplexing/demultiplexing unit ex303 multiplexes the encoded video signal and the audio signal and provides the resulting signal to the outside. When the multiplexing/demultiplexing unit ex303 multiplexes a video signal and an audio signal, the signals can be temporarily stored in buffers ex320 and ex321 and others so that the signals are reproduced in sync with each other. Here, buffers ex318-ex321 may be multiple as illustrated, or at least one buffer may be shared in TV ex300. In addition, data may be stored in a buffer other than buffers ex318-ex321 so that system overflows and underflows, for example, between the modulation/demodulation node ex302 and the multiplexing/demultiplexing node ex303 can be avoided.

[0159] Кроме того, телевизор ex300 может включать в себя конфигурацию для приема аудиовизуальных входных данных от микрофона или камеры, помимо конфигурации для получения аудиоданных и видеоданных из трансляции или с носителя записи, и может кодировать полученные данные. Хотя в описании телевизор ex300 может кодировать, мультиплексировать и предоставлять наружу данные, он может не допускать выполнения всех процессов, а допускать только одно из приема, декодирования и предоставления данных наружу.[0159] In addition, the ex300 television may include a configuration for receiving audiovisual input data from a microphone or camera, in addition to a configuration for receiving audio data and video data from a broadcast or recording medium, and may encode the received data. Although the ex300 TV is described as being able to encode, multiplex and provide data to the outside, it may not allow all processes to be carried out, but only allow one of receiving, decoding and providing data to the outside.

[0160] Кроме того, когда считывающее/записывающее устройство ex218 считывает или записывает мультиплексированные данные с носителя записи или на него, одно из телевизора ex300 и считывающего/записывающего устройства ex218 может декодировать или кодировать мультиплексированные данные, и телевизор ex300 и считывающее/записывающее устройство ex218 могут распределять декодирование или кодирование.[0160] In addition, when the reader/writer ex218 reads or writes multiplexed data from or to the recording medium, one of the TV ex300 and the reader/writer ex218 can decode or encode the multiplexed data, and the TV ex300 and the reader/writer ex218 can distribute decoding or encoding.

[0161] В качестве примера фиг. 19 иллюстрирует конфигурацию узла ex400 воспроизведения/записи информации, когда данные считываются или записываются с оптического диска или на него. Узел ex400 воспроизведения/записи информации включает в себя составляющие элементы ex401-ex407, которые будут описаны ниже. Оптическая головка ex401 излучает лазерное пятно на поверхность записи у носителя ex215 записи, который является оптическим диском, для записи информации и обнаруживает отраженный свет от поверхности записи у носителя ex215 записи для считывания информации. Узел ex402 модуляционной записи электрически управляет полупроводниковым лазером, включенным в оптическую головку ex401, и модулирует лазерное излучение в соответствии с записанными данными. Узел ex403 демодуляции при воспроизведении усиливает сигнал воспроизведения, полученный путем электрического обнаружения отраженного света от поверхности записи с использованием фотодетектора, включенного в оптическую головку ex401, и демодулирует сигнал воспроизведения путем отделения составляющей сигнала, записанной на носителе ex215 записи, чтобы воспроизвести необходимую информацию. Буфер ex404 временно хранит информацию, которую нужно записать на носитель ex215 записи, и информацию, воспроизведенную с носителя ex215 записи. Двигатель ex405 диска вращает носитель ex215 записи. Узел ex406 сервоуправления перемещает оптическую головку ex401 на заранее установленную информационную дорожку, управляя при этом вращением двигателя ex405 диска, чтобы следовать за лазерным пятном. Узел ex407 системного управления управляет в целом узлом ex400 воспроизведения/записи информации. Процессы считывания и записи могут быть реализованы узлом ex407 системного управления, использующим различную информацию, сохраненную в буфере ex404, и формирующим и добавляющим новую информацию по необходимости, и узлом ex402 модуляционной записи, узлом ex403 демодуляции при воспроизведении и узлом ex406 сервоуправления, которые записывают и воспроизводят информацию посредством оптической головки ex401, будучи управляемыми при этом согласованным способом. Узел ex407 системного управления включает в себя, например, микропроцессор и выполняет обработку путем побуждения компьютера выполнить программу для считывания и записи.[0161] As an example, FIG. 19 illustrates the configuration of the information reproducing/recording portion ex400 when data is read or written from or to the optical disc. The information reproducing/recording portion ex400 includes components ex401 to ex407, which will be described below. The optical head ex401 emits a laser spot onto a recording surface of the recording medium ex215, which is an optical disk, for recording information, and detects reflected light from the recording surface of the recording medium ex215 for reading information. The modulation recording unit ex402 electrically controls the semiconductor laser included in the optical head ex401 and modulates the laser light in accordance with the recorded data. The playback demodulation section ex403 amplifies the playback signal obtained by electrically detecting reflected light from the recording surface using a photodetector included in the optical head ex401, and demodulates the playback signal by separating the signal component recorded on the recording medium ex215 to play back the required information. Buffer ex404 temporarily stores information to be recorded on recording medium ex215 and information reproduced from recording medium ex215. The disk motor ex405 rotates the recording media ex215. The servo control unit ex406 moves the optical head ex401 to a preset information track while controlling the rotation of the disk motor ex405 to follow the laser spot. The system control portion ex407 controls the information reproducing/recording portion ex400 as a whole. The reading and writing processes can be implemented by a system control unit ex407 that uses various information stored in the buffer ex404 and generates and adds new information as needed, and a modulation recording unit ex402, a playback demodulation unit ex403, and a servo control unit ex406 that record and playback information via the optical head ex401, while being controlled in a consistent manner. The system control portion ex407 includes, for example, a microprocessor and performs processing by causing a computer to execute a program for reading and writing.

[0162] Хотя в описании оптическая головка ex401 излучает лазерное пятно, она может выполнять запись с высокой плотностью, используя свет ближней зоны.[0162] Although the optical head ex401 is described as emitting a laser spot, it can perform high-density recording using near-field light.

[0163] Фиг. 20 схематически иллюстрирует носитель ex215 записи, который является оптическим диском. На поверхности записи носителя ex215 записи направляющие канавки образуются по спирали, и информационная дорожка ex230 заранее записывает адресную информацию, указывающую абсолютное положение на диске в соответствии с изменением в форме направляющих канавок. Адресная информация включает в себя информацию для определения положений блоков ex231 записи, которые являются единицей для записи данных. Устройство, которое записывает и воспроизводит данные, воспроизводит информационную дорожку ex230 и считывает адресную информацию, чтобы определить положения блоков записи. Кроме того, носитель ex215 записи включает в себя область ex233 записи данных, область ex232 внутренней окружности и область ex234 внешней окружности. Область ex233 записи данных является областью для использования при записи пользовательских данных. Область ex232 внутренней окружности и область ex234 внешней окружности, которые находятся внутри и снаружи области ex233 записи данных соответственно, предназначены для специального использования за исключением записи пользовательских данных. Узел ex400 воспроизведения/записи информации считывает и записывает кодированные аудиоданные, кодированные видеоданные или мультиплексированные данные, полученные путем мультиплексирования кодированных аудиоданных и кодированных видеоданных, из области ex233 записи данных в носителе ex215 записи и на нее.[0163] FIG. 20 schematically illustrates a recording medium ex215, which is an optical disc. On the recording surface of the recording medium ex215, guide grooves are formed in a spiral pattern, and the information track ex230 pre-records address information indicating an absolute position on the disk according to a change in the shape of the guide grooves. The address information includes information for determining positions of recording blocks ex231, which are a unit for recording data. The device that records and reproduces data reproduces the information track ex230 and reads the address information to determine the positions of the recording blocks. In addition, the recording medium ex215 includes a data recording area ex233, an inner circumference area ex232, and an outer circumference area ex234. The data recording area ex233 is an area to be used when writing user data. The inner circle area ex232 and the outer circle area ex234, which are inside and outside the data recording area ex233, respectively, are intended for special uses other than user data recording. The information reproducing/recording portion ex400 reads and writes encoded audio data, encoded video data, or multiplexed data obtained by multiplexing the encoded audio data and encoded video data from and to the data recording area ex233 in the recording medium ex215.

[0164] Хотя в описании в качестве примера описывается оптический диск, содержащий слой, например DVD и BD, оптический диск не ограничивается таковым и может быть оптическим диском, имеющим многослойную структуру и допускающим запись на части, отличные от поверхности. Кроме того, оптический диск может иметь структуру для многомерной записи/воспроизведения, например, записи информации с использованием света с цветами разных длин волн в одной и той же части оптического диска и записи информации, имеющей разные слои, с различных углов.[0164] Although the description describes as an example an optical disc containing a layer such as DVD and BD, the optical disc is not limited to such and may be an optical disc having a multi-layer structure and capable of being recorded on portions other than the surface. In addition, the optical disc may be structured for multi-dimensional recording/reproduction, such as recording information using light with colors of different wavelengths in the same part of the optical disc and recording information having different layers from different angles.

[0165] Кроме того, в системе ex200 цифрового вещания автомобиль ex210, имеющий антенну ex205, может принимать данные со спутника ex202 и других и воспроизводить видеоизображение на устройстве отображения, например автомобильной навигационной системе ex211, установленной в автомобиле ex210. Здесь конфигурация автомобильной навигационной системы ex211 будет конфигурацией, например, включающей в себя узел приема GPS в конфигурации, проиллюстрированной на фиг. 18. То же самое будет справедливо для конфигурации компьютера ex111, сотового телефона ex114 и прочих.[0165] In addition, in the digital broadcast system ex200, the vehicle ex210 having the antenna ex205 can receive data from the satellite ex202 and others and display the video image on a display device, such as a car navigation system ex211 installed in the vehicle ex210. Here, the configuration of the car navigation system ex211 will be a configuration, for example, including a GPS receiving unit in the configuration illustrated in FIG. 18. The same will be true for the configuration of the ex111 computer, ex114 cell phone and others.

[0166] Фиг. 21A иллюстрирует сотовый телефон ex114, который использует способ кодирования кинофильма и способ декодирования кинофильма, описанные в каждом из Вариантов осуществления. Сотовый телефон ex114 включает в себя: антенну ex350 для передачи и приема радиоволн посредством базовой станции ex110; камеру ex365, допускающую съемку движущихся и неподвижных изображений; и узел ex358 отображения, например жидкокристаллический дисплей для отображения данных, например декодированного видеоизображения, снятого камерой ex365 или принятого антенной ex350. Сотовый телефон ex114 дополнительно включает в себя: корпус, включающий в себя набор кнопок ex366 управления; узел ex357 вывода аудио, например громкоговоритель для вывода аудио; узел ex356 ввода аудио, например микрофон для ввода аудио; запоминающее устройство ex367 для хранения снятого видеоизображения или неподвижных изображений, записанного аудио, кодированных или декодированных данных принятого видеоизображения, неподвижных изображений, электронных писем или прочего; и разъем ex364, который является интерфейсным узлом для носителя записи, который хранит данные таким же образом, что и запоминающее устройство ex367.[0166] FIG. 21A illustrates a cellular phone ex114 that uses the movie encoding method and the movie decoding method described in each of the Embodiments. The ex114 cell phone includes: an ex350 antenna for transmitting and receiving radio waves via the ex110 base station; ex365 camera, capable of capturing moving and still images; and a display unit ex358, such as a liquid crystal display for displaying data, such as a decoded video image captured by the camera ex365 or received by the antenna ex350. The ex114 cell phone further includes: a housing including a set of ex366 control buttons; an audio output unit ex357, such as a speaker for audio output; an audio input unit ex356, such as a microphone for audio input; ex367 storage device for storing captured video or still images, recorded audio, encoded or decoded data of received video, still images, emails, or the like; and an ex364 connector, which is an interface node for a recording medium that stores data in the same way as an ex367 storage device.

[0167] Далее пример конфигурации сотового телефона ex114 будет описываться со ссылкой на фиг. 21B. В сотовом телефоне ex114 главный узел ex360 управления, выполненный с возможностью управления в целом каждым узлом корпуса, включающего узел ex358 отображения, а также кнопки ex366 управления, взаимно подключается через синхронную шину ex370 к схеме ex361 питания, узлу ex362 управления вводом операции, узлу ex355 обработки видеосигнала, интерфейсному узлу ex363 камеры, узлу ex359 управления жидкокристаллическим дисплеем (LCD), узлу ex352 модуляции/демодуляции, узлу ex353 мультиплексирования/демультиплексирования, узлу ex354 обработки аудиосигнала, разъему ex364 и запоминающему устройству ex367.[0167] Next, a configuration example of the cellular phone ex114 will be described with reference to FIG. 21B. In the cellular phone ex114, the main control node ex360, configured to control the whole of each housing node, including the display node ex358, as well as the control buttons ex366, is mutually connected via a synchronous bus ex370 to the power circuit ex361, the operation input control node ex362, the processing node ex355 video signal, camera interface node ex363, liquid crystal display (LCD) control node ex359, modulation/demodulation node ex352, multiplexing/demultiplexing node ex353, audio signal processing node ex354, connector ex364 and memory ex367.

[0168] Когда клавиша завершения вызова или клавиша питания нажимается в результате действия пользователя, схема ex361 питания снабжает соответствующие узлы энергией от аккумуляторной батареи, чтобы активизировать сотовый телефон ex114.[0168] When the end call key or the power key is pressed as a result of user action, the power circuit ex361 supplies the corresponding nodes with power from the battery to activate the cell phone ex114.

[0169] В сотовом телефоне ex114 узел ex354 обработки аудиосигнала преобразует аудиосигналы, собранные узлом ex356 ввода аудио в режиме преобразования речи, в цифровые аудиосигналы под управлением главного узла ex360 управления, включающего CPU, ROM и RAM. Затем узел ex352 модуляции/демодуляции выполняет обработку по расширению спектра над цифровыми аудиосигналами, а узел ex351 передачи и приема выполняет цифро-аналоговое преобразование и преобразование частоты над данными, чтобы передать результирующие данные через антенну ex350. Затем узел ex352 модуляции/демодуляции выполняет обработку по обратному расширению спектра над данными, а узел ex354 обработки аудиосигнала преобразует их в аналоговые аудиосигналы, чтобы вывести их через узел ex357 вывода аудио.[0169] In the cellular phone ex114, the audio processing unit ex354 converts the audio signals collected by the audio input unit ex356 in the speech conversion mode into digital audio signals under the control of the main control unit ex360 including the CPU, ROM and RAM. Modulation/demodulation unit ex352 then performs spread spectrum processing on the digital audio signals, and transmit/receive unit ex351 performs digital-to-analog conversion and frequency conversion on the data to transmit the resulting data through antenna ex350. The modulation/demodulation section ex352 then performs despreading processing on the data, and the audio signal processing section ex354 converts them into analog audio signals to output them through the audio output section ex357.

[0170] Кроме того, когда передается электронная почта в режиме передачи данных, текстовые данные электронной почты, введенные путем воздействия на кнопки ex366 управления и прочие в корпусе, отправляются главному узлу ex360 управления через узел ex362 управления вводом операции. Главный узел ex360 управления побуждает узел ex352 модуляции/демодуляции выполнить обработку по расширению спектра над текстовыми данными, а узел ex351 передачи и приема выполняет цифро-аналоговое преобразование и преобразование частоты над результирующими данными, чтобы передать данные базовой станции ex110 через антенну ex350. Когда принимается электронная почта, над принятыми данными выполняется обработка, которая приблизительно обратна обработке для передачи электронной почты, и результирующие данные предоставляются узлу ex358 отображения.[0170] In addition, when email is transmitted in the data transfer mode, email text data input by operating control buttons ex366 and others in the housing is sent to the main control node ex360 via the operation input control node ex362. The main control node ex360 causes the modulation/demodulation node ex352 to perform spread spectrum processing on the text data, and the transmit and receive node ex351 performs digital-to-analog conversion and frequency conversion on the result data to transmit the data to the base station ex110 through the antenna ex350. When email is received, processing that is approximately the reverse of that for email transmission is performed on the received data, and the resulting data is provided to display node ex358.

[0171] Когда передаются видеоизображение, неподвижные изображения или видеоизображение и аудио в режиме передачи данных, узел ex355 обработки видеосигнала (функционирующий как устройство кодирования изображений в соответствии с аспектом настоящего изобретения) сжимает и кодирует видеосигналы, поступившие от камеры ex365, используя способ кодирования кинофильма, показанный в каждом из Вариантов осуществления, и передает кодированные видеоданные узлу ex353 мультиплексирования/демультиплексирования. В отличие от этого, во время того, когда камера ex365 снимает видеоизображение, неподвижные изображения и другие, узел ex354 обработки аудиосигнала кодирует аудиосигналы, собранные узлом ex356 ввода звука, и передает кодированные аудиоданные узлу ex353 мультиплексирования/демультиплексирования.[0171] When video, still images, or video and audio are transmitted in a data transfer mode, the video processing unit ex355 (functioning as an image encoding device according to an aspect of the present invention) compresses and encodes the video signals received from the camera ex365 using a movie encoding method, shown in each of the Embodiments, and transmits the encoded video data to the multiplexing/demultiplexing node ex353. In contrast, while camera ex365 captures video images, still images and others, the audio signal processing section ex354 encodes the audio signals collected by the audio input section ex356 and transmits the encoded audio data to the multiplexing/demultiplexing section ex353.

[0172] Узел ex353 мультиплексирования/демультиплексирования мультиплексирует кодированные видеоданные, поступившие от узла ex355 обработки видеосигнала, и кодированные аудиоданные, поступившие от узла ex354 обработки аудиосигнала, используя заранее установленный способ. Затем узел ex352 модуляции/демодуляции выполняет обработку по расширению спектра над мультиплексированными данными, а узел ex351 передачи и приема выполняет цифро-аналоговое преобразование и преобразование частоты над данными, чтобы передать результирующие данные через антенну ex350.[0172] The multiplexing/demultiplexing unit ex353 multiplexes encoded video data received from the video processing unit ex355 and encoded audio data received from the audio processing unit ex354 using a predetermined method. Next, the modulation/demodulation unit ex352 performs spread spectrum processing on the multiplexed data, and the transmitting and receiving unit ex351 performs digital-to-analog conversion and frequency conversion on the data to transmit the resulting data through antenna ex350.

[0173] При приеме данных видеофайла, который связан с веб-страницей и другими в режиме передачи данных, или при приеме электронной почты с прикрепленным видеоизображением и/или аудио, чтобы декодировать мультиплексированные данные, принятые через антенну ex350, узел ex353 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные в поток двоичных сигналов видеоданных и поток двоичных сигналов аудиоданных, и снабжает узел ex355 обработки видеосигнала кодированными видеоданными, а узел ex354 обработки аудиосигнала - кодированными аудиоданными посредством синхронной шины ex370. Узел ex355 обработки видеосигнала (функционирующий в качестве устройства декодирования изображений в соответствии с аспектом настоящего изобретения) декодирует видеосигнал с использованием способа декодирования кинофильма, соответствующего способу кодирования кинофильма, показанному в каждом из Вариантов осуществления, а затем узел ex358 отображения отображает, например, видеоизображение и неподвижные изображения, включенные в видеофайл, связанный с веб-страницей, посредством узла ex359 управления LCD. Кроме того, узел ex354 обработки аудиосигнала декодирует аудиосигнал, и узел ex357 вывода аудио предоставляет аудио.[0173] When receiving video file data that is associated with a web page and others in data mode, or when receiving email with video and/or audio attached, to decode the multiplexed data received through antenna ex350, the multiplexing/demultiplexing node ex353 demultiplexes multiplexes the data into a video bit stream and an audio bit stream, and supplies the video processing unit ex355 with encoded video data and the audio processing unit ex354 with encoded audio data via synchronous bus ex370. The video signal processing unit ex355 (functioning as an image decoding device according to an aspect of the present invention) decodes the video signal using a movie decoding method corresponding to the movie encoding method shown in each of the Embodiments, and then the display unit ex358 displays, for example, video images and still images. images included in a video file associated with a web page by an LCD control node ex359. In addition, the audio signal processing unit ex354 decodes the audio signal, and the audio output unit ex357 provides the audio.

[0174] Кроме того, аналогично телевизору ex300, терминал, например сотовый телефон ex114, возможно имеет 3 типа конфигураций исполнения, включающих не только (i) передающий и приемный терминал, включающий в себя устройство кодирования и устройство декодирования, но также и (ii) передающий терминал, включающий в себя только устройство кодирования, и (iii) приемный терминал, включающий в себя только устройство декодирования. Хотя в описании система ex200 цифрового вещания принимает и передает мультиплексированные данные, полученные путем мультиплексирования видеоданных аудиоданными, мультиплексированные данные могут быть данными, полученными путем мультиплексирования видеоданных не аудиоданными, а символьными данными, имеющими отношение к видеоизображению, и могут быть не мультиплексированными данными, а самими видеоданными.[0174] In addition, similar to the TV ex300, the terminal, such as the cellular phone ex114, may have 3 types of implementation configurations, including not only (i) a transmitting and receiving terminal including an encoding device and a decoding device, but also (ii) a transmitting terminal including only an encoding device, and (iii) a receiving terminal including only a decoding device. Although the digital broadcast system ex200 is described as receiving and transmitting multiplexed data obtained by multiplexing video data with audio data, the multiplexed data may be data obtained by multiplexing video data not with audio data but with character data related to a video image, and may not be multiplexed data but itself video data.

[0175] По существу, способ кодирования кинофильма или способ декодирования кинофильма в каждом из Вариантов осуществления может использоваться на любом из описанных устройств и систем. Таким образом, можно получить преимущества, описанные в каждом из Вариантов осуществления.[0175] As such, the movie encoding method or the movie decoding method in each of the Embodiments can be used on any of the described devices and systems. Thus, the advantages described in each of the Embodiments can be obtained.

[0176] Кроме того, настоящее изобретение не ограничивается Вариантами осуществления, и возможны различные модификации и изменения без отклонения от объема настоящего изобретения.[0176] Moreover, the present invention is not limited to the Embodiments, and various modifications and changes are possible without deviating from the scope of the present invention.

[0177] (Вариант 4 осуществления)[0177] (Embodiment 4)

Видеоданные могут формироваться путем переключения, по необходимости, между (i) способом кодирования кинофильма или устройством кодирования кинофильма, показанными в каждом из Вариантов осуществления, и (ii) способом кодирования кинофильма или устройством кодирования кинофильма в соответствии с другим стандартом, например MPEG-2, MPEG4-AVC и VC-1.Video data may be generated by switching, as necessary, between (i) a movie encoding method or movie encoding apparatus shown in each of the Embodiments, and (ii) a movie encoding method or movie encoding apparatus in accordance with another standard, such as MPEG-2, MPEG4-AVC and VC-1.

[0178] Здесь, когда формируется множество видеоданных, которые соответствуют разным стандартам, а затем декодируется, нужно выбирать способы декодирования, которые соответствуют разным стандартам. Однако, поскольку нельзя определить то, какому стандарту соответствуют каждые из множества видеоданных, которые будут декодироваться, существует проблема, что нельзя выбрать подходящий способ декодирования.[0178] Here, when a plurality of video data that correspond to different standards is generated and then decoded, it is necessary to select decoding methods that correspond to different standards. However, since it cannot be determined which standard each of the plurality of video data to be decoded corresponds to, there is a problem that a suitable decoding method cannot be selected.

[0179] Чтобы решить эту проблему, мультиплексированные данные, полученные путем мультиплексирования видеоданных аудиоданными и другими, имеют структуру, включающую в себя идентификационную информацию, указывающую, какому стандарту соответствуют видеоданные. Ниже будет описываться конкретная структура мультиплексированных данных, включающих видеоданные, сформированные по способу кодирования кинофильма или с помощью устройства кодирования кинофильма, показанных в каждом из Вариантов осуществления. Мультиплексированные данные являются цифровым потоком в формате транспортного потока MPEG-2.[0179] To solve this problem, multiplexed data obtained by multiplexing video data with audio data and others has a structure including identification information indicating which standard the video data conforms to. Below, a specific structure of multiplexed data including video data generated by the movie encoding method or the movie encoding apparatus shown in each of the Embodiments will be described. The multiplexed data is a digital stream in MPEG-2 transport stream format.

[0180] Фиг. 22 иллюстрирует структуру мультиплексированных данных. Как проиллюстрировано на фиг. 22, мультиплексированные данные можно получить путем мультиплексирования по меньшей мере одного из видеопотока, аудиопотока, потока демонстрационной графики (PG) и потока интерактивной графики. Видеопоток представляет первичное видеоизображение и вторичное видеоизображение фильма, аудиопоток представляет первичную часть аудио и вторичную часть аудио, которую нужно смешать с первичной частью аудио, а поток демонстрационной графики представляет субтитры фильма. Здесь первичное видеоизображение является обычным видеоизображением, показанным на экране, а вторичное видеоизображение является видеоизображением, которое нужно показать на меньшем окне в основном видеоизображении. Кроме того, поток интерактивной графики представляет интерактивный экран, который нужно сформировать путем размещения компонентов GUI на экране. Видеопоток кодируется по способу кодирования кинофильма или с помощью устройства кодирования кинофильма, показанных в каждом из Вариантов осуществления, либо по способу кодирования кинофильма или с помощью устройства кодирования кинофильма в соответствии с традиционным стандартом, например MPEG-2, MPEG4-AVC и VC-1. Аудиопоток кодируется в соответствии со стандартом, например Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD и линейной PCM.[0180] FIG. 22 illustrates the structure of multiplexed data. As illustrated in FIG. 22, multiplexed data can be obtained by multiplexing at least one of a video stream, an audio stream, a demonstration graphics (PG) stream, and an interactive graphics stream. The video stream represents the primary video and secondary video of the movie, the audio stream represents the primary audio and the secondary audio to be mixed with the primary audio, and the demo graphics stream represents the subtitles of the movie. Here, the primary video image is a normal video image shown on the screen, and the secondary video image is a video image to be shown on a smaller window in the main video image. In addition, the interactive graphics stream represents the interactive screen that must be formed by placing GUI components on the screen. The video stream is encoded by a movie encoding method or movie encoder shown in each of the Embodiments, or by a movie encoding method or movie encoder in accordance with a conventional standard such as MPEG-2, MPEG4-AVC and VC-1. The audio stream is encoded according to a standard such as Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD and Linear PCM.

[0181] Каждый поток, включенный в мультиплексированные данные, идентифицируется по PID. Например, 0×1011 назначается видеопотоку, который будет использоваться для видеоизображения фильма, 0×1100-0×111F назначаются аудиопотокам, 0×1200-0×121F назначаются потокам демонстрационной графики, 0×1400-0×141F назначаются потокам интерактивной графики, 0×1B00-0×1B1F назначаются видеопотокам, которые будут использоваться для вторичного видеоизображения фильма, и 0×1A00-0×1A1F назначаются аудиопотокам, которые будут использоваться для вторичного видеоизображения, который нужно смешать с первичным звуком.[0181] Each stream included in the multiplexed data is identified by a PID. For example, 0x1011 is assigned to the video stream that will be used for movie video, 0x1100-0x111F are assigned to audio streams, 0x1200-0x121F are assigned to demo graphics streams, 0x1400-0x141F are assigned to interactive graphics streams, 0 ×1B00-0×1B1F are assigned to the video streams that will be used for the secondary video of the movie, and 0×1A00-0×1A1F are assigned to the audio streams that will be used for the secondary video to be mixed with the primary audio.

[0182] Фиг. 23 схематически иллюстрирует то, как мультиплексируются данные. Сначала видеопоток ex235, состоящий из видеокадров, и аудиопоток ex238, состоящий из аудиокадров, преобразуются в поток ex236 пакетов PES и поток ex239 пакетов PES, и дополнительно в пакеты ex237 TS и пакеты ex240 TS соответственно. Аналогичным образом данные из потока ex241 демонстрационной графики и данные из потока ex244 интерактивной графики преобразуются в поток ex242 пакетов PES и поток ex245 пакетов PES, и дополнительно в пакеты ex243 TS и пакеты ex246 TS соответственно. Эти пакеты TS мультиплексируются в поток для получения мультиплексированных данных ex247.[0182] FIG. 23 schematically illustrates how data is multiplexed. First, video stream ex235 consisting of video frames and audio stream ex238 consisting of audio frames are converted into PES packet stream ex236 and PES packet stream ex239, and further into TS packets ex237 and TS packets ex240, respectively. Likewise, data from demo graphics stream ex241 and data from interactive graphics stream ex244 are converted to PES packet stream ex242 and PES packet stream ex245, and further to TS packets ex243 and TS packets ex246, respectively. These TS packets are multiplexed into a stream to produce ex247 multiplexed data.

[0183] Фиг. 24 подробнее иллюстрирует то, как видеопоток сохраняется в потоке пакетов PES. Первая полоса на фиг. 24 показывает поток видеокадров в видеопотоке. Вторая полоса показывает поток пакетов PES. Как указано стрелками, обозначенными yy1, yy2, yy3 и yy4 на фиг. 24, видеопоток делится на изображения в виде I-изображений, B-изображений и P-изображений, каждое из которых является единицей видеодемонстрации, и изображения сохраняются в полезной нагрузке каждого из пакетов PES. Каждый из пакетов PES имеет заголовок PES, и заголовок PES хранит Временную отметку воспроизведения (PTS), указывающую время показа изображения, и Временную отметку декодирования (DTS), указывающую время декодирования изображения.[0183] FIG. 24 illustrates in more detail how the video stream is stored in the PES packet stream. The first stripe in Fig. 24 shows a stream of video frames in a video stream. The second bar shows the flow of PES packets. As indicated by the arrows labeled yy1, yy2, yy3 and yy4 in FIG. 24, the video stream is divided into images in the form of I-pictures, B-pictures and P-pictures, each of which is a video presentation unit, and the pictures are stored in the payload of each of the PES packets. Each of the PES packets has a PES header, and the PES header stores a Playback Time Stamp (PTS) indicating the display time of the picture, and a Decoding Time Stamp (DTS) indicating the decoding time of the picture.

[0184] Фиг. 25 иллюстрирует формат пакетов TS, которые в конечном счете должны быть записаны в мультиплексированные данные. Каждый из пакетов TS является 188-байтным пакетом фиксированной длины, включающим 4-байтный заголовок TS, содержащий информацию, например PID для идентификации потока, и 184-байтную полезную нагрузку TS для хранения данных. Пакеты PES разделяются и сохраняются в полезных нагрузках TS. Когда используется BD ROM, каждому из пакетов TS выдается 4-байтный TP_Extra_Header, соответственно приводя к 192-байтным исходным пакетам. Исходные пакеты записываются в мультиплексированные данные. TP_Extra_Header хранит информацию, например Arrival_Time_Stamp (ATS). ATS показывает время начала передачи, в которое каждый из пакетов TS нужно передать в фильтр PID. Номера, увеличивающиеся от начала мультиплексированных данных, называются номерами исходных пакетов (SPN), как показано в нижней части фиг. 25.[0184] FIG. 25 illustrates the format of TS packets that are ultimately to be written to multiplexed data. Each of the TS packets is a 188-byte fixed-length packet, including a 4-byte TS header containing information such as a PID to identify the flow, and a 184-byte TS payload for data storage. PES packets are split and stored in TS payloads. When a BD ROM is used, each of the TS packets is given a 4-byte TP_Extra_Header, resulting in 192-byte original packets. The original packets are written into the multiplexed data. TP_Extra_Header stores information such as Arrival_Time_Stamp (ATS). The ATS indicates the transmission start time at which each of the TS packets needs to be transmitted to the PID filter. The numbers increasing from the beginning of the multiplexed data are called source packet numbers (SPNs), as shown at the bottom of FIG. 25.

[0185] Каждый из пакетов TS, включенных в мультиплексированные данные, включает в себя не только потоки аудио, видеоизображения, субтитров и других, но также Таблицу взаимосвязи программ (PAT), Таблицу преобразования программ (PMT) и Опорный сигнал программы (PCR). PAT показывает, что указывает PID в PMT, используемой в мультиплексированных данных, и PID самой PAT регистрируется как ноль. PMT хранит PID потоков видеоизображения, аудио, субтитров и других, включенных в мультиплексированные данные, и информацию об атрибутах потоков, соответствующих PID. PMT также содержит различные дескрипторы, относящиеся к мультиплексированным данным. Дескрипторы обладают информацией, например информацией управления копированием, показывающей, разрешено ли копирование мультиплексированных данных. PCR хранит временную информацию STC, соответствующую ATS, показывающей, когда пакет PCR передается декодеру, чтобы достичь синхронизации между Таймером поступления (ATC), который является осью времени ATS, и Системным таймером (STC), который является осью времени PTS и DTS.[0185] Each of the TS packets included in the multiplexed data includes not only audio, video, subtitle and other streams, but also a Program Association Table (PAT), a Program Mapping Table (PMT), and a Program Reference Signal (PCR). The PAT indicates that the PID in the PMT used in the multiplexed data indicates, and the PID of the PAT itself is registered as zero. The PMT stores the PID of video, audio, subtitle and other streams included in the multiplexed data, and information about the attributes of the streams corresponding to the PID. The PMT also contains various descriptors related to the multiplexed data. The descriptors have information, such as copy control information, indicating whether copying of the multiplexed data is permitted. The PCR stores STC timing information corresponding to the ATS indicating when a PCR packet is transmitted to the decoder to achieve synchronization between the Arrival Timer (ATC), which is the time axis of the ATS, and the System Timer (STC), which is the time axis of the PTS and DTS.

[0186] Фиг. 26 подробно иллюстрирует структуру данных PMT. Заголовок PMT располагается в начале PMT. Заголовок PMT описывает длину данных, включенных в PMT, и прочее. После заголовка PMT располагается множество дескрипторов, относящихся к мультиплексированным данным. В дескрипторах описывается информация, например информация управления копированием. После дескрипторов располагается множество порций информации о потоке, относящихся к потокам, включенным в мультиплексированные данные. Каждая порция информации о потоке включает в себя дескрипторы потока, описывающие информацию, например тип потока для идентификации кодека сжатия потока, PID потока и информацию об атрибутах потока (например, частоту кадров или соотношение сторон). Дескрипторы потока по числу равны количеству потоков в мультиплексированных данных.[0186] FIG. 26 illustrates the PMT data structure in detail. The PMT header is located at the beginning of the PMT. The PMT header describes the length of data included in the PMT, etc. Following the PMT header are a number of descriptors related to the multiplexed data. Descriptors describe information, such as copy control information. Following the descriptors are multiple pieces of flow information related to the flows included in the multiplexed data. Each piece of stream information includes stream descriptors describing information such as stream type to identify the stream's compression codec, stream PID, and stream attribute information (eg, frame rate or aspect ratio). Stream descriptors are equal in number to the number of streams in the multiplexed data.

[0187] Когда мультиплексированные данные записываются на носитель записи и прочие, они записываются вместе с информационными файлами мультиплексированных данных.[0187] When multiplexed data is recorded on a recording medium and others, it is recorded together with multiplexed data information files.

[0188] Каждый из информационных файлов мультиплексированных данных является управляющей информацией о мультиплексированных данных, как показано на фиг. 27. Информационные файлы мультиплексированных данных находятся в однозначном соответствии с мультиплексированными данными, и каждый из файлов включает в себя информацию о мультиплексированных данных, информацию об атрибутах потока и карту входов.[0188] Each of the multiplexed data information files is multiplexed data management information, as shown in FIG. 27. The multiplexed data information files are in one-to-one correspondence with the multiplexed data, and each of the files includes multiplexed data information, stream attribute information, and an input map.

[0189] Как проиллюстрировано на фиг. 27, информация о мультиплексированных данных включает в себя системную скорость, время начала воспроизведения и время окончания воспроизведения. Системная скорость указывает максимальную скорость передачи, с которой конечный декодер системы, который будет описан позже, передает мультиплексированные данные в фильтр PID. Интервалы ATS, включенных в мультиплексированные данные, устанавливаются не выше системной скорости. Время начала воспроизведения указывает PTS в видеокадре в начале мультиплексированных данных. Интервал в один кадр добавляется к PTS в видеокадре в конце мультиплексированных данных, и PTS устанавливается во время окончания воспроизведения.[0189] As illustrated in FIG. 27, information about the multiplexed data includes a system speed, a playback start time, and a playback end time. The system rate indicates the maximum bit rate at which the system's final decoder, which will be described later, transmits the multiplexed data to the PID filter. The ATS intervals included in the multiplexed data are set to no higher than the system rate. The playback start time indicates the PTS in the video frame at the beginning of the multiplexed data. A one-frame interval is added to the PTS in the video frame at the end of the multiplexed data, and the PTS is set at the time the playback ends.

[0190] Как показано на фиг. 28, порция информации об атрибутах регистрируется в информации об атрибутах потока для каждого PID каждого потока, включенного в мультиплексированные данные. Каждая порция информации об атрибутах содержит разную информацию в зависимости от того, является ли соответствующий поток видеопотоком, аудиопотоком, потоком демонстрационной графики или потоком интерактивной графики. Каждая порция информации об атрибутах видеопотока несет информацию, включающую, какой вид кодека сжатия используется для сжатия видеопотока, и разрешение, соотношение сторон и частоту кадров у порций данных изображения, которые включаются в видеопоток. Каждая порция информации об атрибутах аудиопотока несет информацию, включающую то, какой вид кодека сжатия используется для сжатия аудиопотока, сколько каналов включается в аудиопоток, какой язык поддерживает аудиопоток и какова частота дискретизации. Информация об атрибутах видеопотока и информация об атрибутах аудиопотока используются для инициализации декодера перед тем, как проигрыватель воспроизводит информацию.[0190] As shown in FIG. 28, a piece of attribute information is registered in the stream attribute information for each PID of each stream included in the multiplexed data. Each piece of attribute information contains different information depending on whether the corresponding stream is a video stream, an audio stream, a demo graphics stream, or an interactive graphics stream. Each piece of video stream attribute information carries information including what kind of compression codec is used to compress the video stream, and the resolution, aspect ratio, and frame rate of the pieces of image data that are included in the video stream. Each piece of audio stream attribute information carries information including what kind of compression codec is used to compress the audio stream, how many channels are included in the audio stream, what language the audio stream supports, and what the sampling rate is. Video stream attribute information and audio stream attribute information are used to initialize the decoder before the player plays the information.

[0191] В Варианте 4 осуществления мультиплексированные данные, которые должны использоваться, принадлежат к типу потока, включенному в PMT. Кроме того, когда мультиплексированные данные записываются на носитель записи, используется информация об атрибутах видеопотока, включенная в информацию о мультиплексированных данных. Точнее говоря, способ кодирования кинофильма или устройство кодирования кинофильма, описанные в каждом из Вариантов осуществления, включают в себя этап или узел для назначения уникальной информации, указывающей видеоданные, сформированные по способу кодирования кинофильма или с помощью устройства кодирования кинофильма в каждом из Вариантов осуществления, типу потока, включенному в PMT, или информации об атрибутах видеопотока. С помощью этой структуры видеоданные, сформированные по способу кодирования кинофильма или с помощью устройства кодирования кинофильма, описанных в каждом из Вариантов осуществления, можно отличить от видеоданных, которые соответствуют другому стандарту.[0191] In Embodiment 4, the multiplexed data to be used belongs to a stream type included in the PMT. In addition, when multiplexed data is recorded on a recording medium, video stream attribute information included in the multiplexed data information is used. More precisely, the movie encoding method or the movie encoding device described in each of the Embodiments includes a step or unit for assigning unique information indicating video data generated by the movie encoding method or the movie encoding device in each of the Embodiments to a type stream included in the PMT, or video stream attribute information. With this structure, video data generated by the movie encoding method or the movie encoding apparatus described in each of the Embodiments can be distinguished from video data that conforms to another standard.

[0192] Кроме того, фиг. 29 иллюстрирует этапы способа декодирования кинофильма в соответствии с Вариантом 4 осуществления. На этапе exS100 тип потока, включенный в PMT, или информация об атрибутах видеопотока получаются из мультиплексированных данных. Далее на этапе exS101 определяется, указывает ли тип потока или информация об атрибутах видеопотока, что мультиплексированные данные формируются по способу кодирования кинофильма или с помощью устройства кодирования кинофильма в каждом из Вариантов осуществления. Когда определяется, что тип потока или информация об атрибутах видеопотока указывает, что мультиплексированные данные формируются по способу кодирования кинофильма или с помощью устройства кодирования кинофильма в каждом из Вариантов осуществления, то на этапе exS102 тип потока или информация об атрибутах видеопотока декодируется по способу декодирования кинофильма в каждом из Вариантов осуществления. Кроме того, когда тип потока или информация об атрибутах видеопотока указывает соответствие традиционным стандартам, например MPEG-2, MPEG4-AVC и VC-1, то на этапе exS103 тип потока или информация об атрибутах видеопотока декодируется по способу декодирования кинофильма в соответствии с традиционными стандартами.[0192] Additionally, FIG. 29 illustrates steps of a movie decoding method according to Embodiment 4. In step exS100, the stream type included in the PMT or video stream attribute information is obtained from the multiplexed data. Next, in step exS101, it is determined whether the stream type or the video stream attribute information indicates that multiplexed data is generated by a movie encoding method or a movie encoding apparatus in each of the Embodiments. When it is determined that the stream type or video stream attribute information indicates that the multiplexed data is generated by the movie encoding method or the movie encoding apparatus in each of Embodiments, then in step exS102, the stream type or video stream attribute information is decoded by the movie decoding method in each of the Options. In addition, when the stream type or video stream attribute information indicates compliance with traditional standards such as MPEG-2, MPEG4-AVC and VC-1, in step exS103, the stream type or video stream attribute information is decoded according to a movie decoding method in accordance with traditional standards. .

[0193] По существу, назначение нового уникального значения типу потока или информации об атрибутах видеопотока дает возможность определения, могут ли способ декодирования кинофильма или устройство декодирования кинофильма, которые описаны в каждом из Вариантов осуществления, выполнять декодирование. Даже при вводе мультиплексированных данных, которые соответствуют другому стандарту, можно выбрать подходящий способ или устройство декодирования. Таким образом, становится возможным декодировать информацию без какой-либо ошибки. Кроме того, способ или устройство кодирования кинофильма либо способ или устройство декодирования кинофильма в Варианте 4 осуществления могут использоваться в устройствах и системах, описанных выше.[0193] As such, assigning a new unique value to the stream type or video stream attribute information makes it possible to determine whether the movie decoding method or the movie decoding apparatus that is described in each of the Embodiments can perform decoding. Even when inputting multiplexed data that conforms to a different standard, you can select the appropriate decoding method or device. Thus, it becomes possible to decode the information without any error. In addition, the movie encoding method or apparatus or the movie decoding method or apparatus in Embodiment 4 can be used in the devices and systems described above.

[0194] (Вариант 5 осуществления)[0194] (Embodiment 5)

Каждый из способа кодирования кинофильма, устройства кодирования кинофильма, способа декодирования кинофильма и устройства декодирования кинофильма в каждом из Вариантов осуществления обычно выполняется в виде интегральной схемы или Большой интегральной схемы (LSI). В качестве примера LSI фиг. 30 иллюстрирует конфигурацию LSI ex500, которая превращена в одну микросхему. LSI ex500 включает в себя элементы ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 и ex509, которые будут описаны ниже, и эти элементы соединяются друг с другом посредством шины ex510. Схема ex505 питания активизируется путем подачи питания каждому из элементов, когда включается схема ex505 питания.Each of the movie encoding method, movie encoding device, movie decoding method, and movie decoding device in each of the Embodiments is generally implemented as an integrated circuit or Large Scale Integrated Circuit (LSI). As an example of the LSI of FIG. 30 illustrates an LSI ex500 configuration that is made into a single chip. LSI ex500 includes elements ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 and ex509, which will be described below, and these elements are connected to each other via bus ex510. The power circuit ex505 is activated by supplying power to each of the elements when the power circuit ex505 is turned on.

[0195] Например, когда выполняется кодирование, LSI ex500 принимает аудиовизуальный сигнал от микрофона ex117, камеры ex113 и других посредством аудиовизуального ввода/вывода ex509 под управлением узла ex501 управления, включающего в себя CPU ex502, контроллер ex503 памяти, контроллер ex504 потока и узел ex512 регулировки частоты возбуждения. Принятый аудиовизуальный сигнал временно сохраняется во внешнем запоминающем устройстве ex511, например SDRAM. Под управлением узла ex501 управления сохраненные данные сегментируются на порции данных в соответствии с объемом и скоростью обработки для передачи их узлу ex507 обработки сигналов. Затем узел ex507 обработки сигналов кодирует аудиосигнал и/или видеосигнал. Здесь кодирование видеосигнала является кодированием, описанным в каждом из Вариантов осуществления. Кроме того, узел ex507 обработки сигналов иногда мультиплексирует кодированные аудиоданные и кодированные видеоданные, и потоковый ввод-вывод ex506 предоставляет мультиплексированные данные наружу. Предоставленные мультиплексированные данные передаются базовой станции ex107 или записываются на носители ex215 записи. Когда мультиплексируются наборы данных, наборы данных следует временно сохранить в буфере ex508, чтобы наборы данных синхронизировались друг с другом.[0195] For example, when encoding is performed, LSI ex500 receives an audio-visual signal from microphone ex117, camera ex113 and others via audio-visual I/O ex509 under control of control node ex501 including CPU ex502, memory controller ex503, flow controller ex504 and node ex512 excitation frequency adjustment. The received audio-visual signal is temporarily stored in an external storage device ex511, such as SDRAM. Under the control of the control node ex501, the stored data is segmented into data pieces according to the volume and processing speed for transmission to the signal processing node ex507. Then, the signal processing unit ex507 encodes the audio signal and/or video signal. Here, the encoding of the video signal is the encoding described in each of the Embodiments. In addition, the signal processing unit ex507 sometimes multiplexes the encoded audio data and the encoded video data, and the streaming I/O ex506 provides the multiplexed data to the outside. The provided multiplexed data is transmitted to the base station ex107 or recorded on recording media ex215. When data sets are multiplexed, the data sets should be temporarily stored in buffer ex508 so that the data sets are synchronized with each other.

[0196] Хотя запоминающее устройство ex511 является элементом вне LSI ex500, оно может включаться в LSI ex500. Буфер ex508 не ограничивается одним буфером, а может состоять из буферов. Кроме того, LSI ex500 можно превратить в одну микросхему или множество микросхем.[0196] Although storage device ex511 is an element outside of LSI ex500, it may be included in LSI ex500. The ex508 buffer is not limited to one buffer, but can consist of buffers. In addition, the LSI ex500 can be converted into a single chip or multiple chips.

[0197] Кроме того, хотя узел ex501 управления включает в себя CPU ex502, контроллер ex503 памяти, контроллер ex504 потока, узел ex512 регулировки частоты возбуждения, конфигурация узла ex501 управления не ограничивается таковой. Например, узел ex507 обработки сигналов может дополнительно включать в себя CPU. Включение другого CPU в узел ex507 обработки сигналов может повысить скорость обработки. Кроме того, в качестве другого примера CPU ex502 может включать в себя узел ex507 обработки сигналов или узел обработки аудиосигнала, который является частью узла ex507 обработки сигналов. В таком случае узел ex501 управления включает в себя узел ex507 обработки сигналов или CPU ex502, включающий в себя часть узла ex507 обработки сигналов.[0197] In addition, although the control unit ex501 includes a CPU ex502, a memory controller ex503, a flow controller ex504, a drive frequency adjustment unit ex512, the configuration of the control unit ex501 is not limited to such. For example, the signal processing unit ex507 may further include a CPU. Including another CPU in the signal processing node ex507 can improve processing speed. Moreover, as another example, CPU ex502 may include a signal processing unit ex507 or an audio signal processing unit that is part of the signal processing unit ex507. In such a case, the control unit ex501 includes a signal processing unit ex507 or a CPU ex502 including a portion of the signal processing unit ex507.

[0198] Используемым здесь наименованием является LSI, но она также может называться системной LSI, супер-LSI или ультра-LSI в зависимости от степени интеграции.[0198] The name used here is LSI, but it may also be called system LSI, super-LSI, or ultra-LSI depending on the degree of integration.

[0199] Кроме того, способы достижения интеграции не ограничиваются LSI, и специальная схема или универсальный процессор и т.д. также могут обеспечить интеграцию. С той же целью может использоваться программируемая пользователем вентильная матрица (FPGA), которую можно запрограммировать после производства LSI, или реконфигурируемый процессор, который допускает реконфигурацию соединения или конфигурацию LSI. Программируемое логическое устройство обычно может выполнять способ кодирования кинофильма и способ декодирования кинофильма в соответствии с Вариантами осуществления и Разновидностями путем загрузки или считывания с запоминающего устройства программы, включенной в программное обеспечение или микропрограммное обеспечение.[0199] In addition, methods for achieving integration are not limited to LSI, and a special circuit or a general-purpose processor, etc. can also provide integration. A field programmable gate array (FPGA), which can be programmed after LSI production, or a reconfigurable processor, which allows interconnect reconfiguration or LSI configuration, can be used for the same purpose. The programmable logic device generally can execute the movie encoding method and the movie decoding method in accordance with the Embodiments and Variants by loading or reading from a storage device a program included in software or firmware.

[0200] В будущем, с развитием полупроводниковой технологии совершенно новая технология может заменить LSI. Функциональные блоки можно интегрировать с использованием такой технологии. Есть вероятность, что настоящее изобретение применяется к биотехнологии.[0200] In the future, as semiconductor technology advances, a completely new technology may replace LSI. Functional blocks can be integrated using such technology. It is likely that the present invention is applicable to biotechnology.

[0201] (Вариант 6 осуществления)[0201] (Embodiment 6)

Когда декодируются видеоданные, сформированные по способу кодирования кинофильма или с помощью устройства кодирования кинофильма, описанных в каждом из Вариантов осуществления, по сравнению со случаем декодирования видеоданных, которые соответствуют традиционному стандарту, например MPEG-2, MPEG4-AVC и VC-1, объем вычислений скорее всего увеличивается. Таким образом, LSI ex500 нужно настраивать на частоту возбуждения выше, чем у CPU ex502, который должен использоваться, когда декодируются видеоданные в соответствии с традиционным стандартом. Однако, когда частота возбуждения устанавливается выше, имеется проблема, что увеличивается энергопотребление.When video data generated by the movie encoding method or the movie encoding apparatus described in each of the Embodiments is decoded, compared with the case of decoding video data that conforms to the traditional standard such as MPEG-2, MPEG4-AVC and VC-1, the amount of computation is likely to increase. Therefore, the LSI ex500 must be set to a higher drive frequency than the CPU ex502, which must be used when video data is decoded according to the traditional standard. However, when the driving frequency is set higher, there is a problem that power consumption increases.

[0202] Чтобы решить эту проблему, устройство декодирования кинофильма, например телевизор ex300 и LSI ex500, конфигурируется для определения, какому стандарту соответствуют видеоданные, и переключения между частотами возбуждения в соответствии с определенным стандартом. Фиг. 31 иллюстрирует конфигурацию ex800 в Варианте 6 осуществления. Узел ex803 переключения частоты возбуждения устанавливает частоту возбуждения в более высокую частоту возбуждения, когда видеоданные формируются по способу кодирования кинофильма или с помощью устройства кодирования кинофильма, описанными в каждом из Вариантов осуществления. Затем узел ex803 переключения частоты возбуждения дает команду узлу ex801 декодирующей обработки, который выполняет способ декодирования кинофильма, описанный в каждом из Вариантов осуществления, декодировать видеоданные. Когда видеоданные соответствуют традиционному стандарту, узел ex803 переключения частоты возбуждения устанавливает частоту возбуждения в меньшую частоту возбуждения, чем у видеоданных, сформированных по способу кодирования кинофильма или с помощью устройства кодирования кинофильма, описанными в каждом из Вариантов осуществления. Затем узел ex803 переключения частоты возбуждения дает команду узлу ex802 декодирующей обработки, который соответствует традиционному стандарту, декодировать видеоданные.[0202] To solve this problem, a movie decoding device, such as the TV ex300 and LSI ex500, is configured to determine which standard the video data conforms to and switch between drive frequencies in accordance with the determined standard. Fig. 31 illustrates the configuration of ex800 in Embodiment 6. The driving frequency switching section ex803 sets the driving frequency to a higher driving frequency when video data is generated by the movie encoding method or the movie encoding apparatus described in each of the Embodiments. Then, the drive frequency switching portion ex803 instructs the decoding processing portion ex801, which executes the movie decoding method described in each of the Embodiments, to decode the video data. When the video data conforms to the conventional standard, the driving frequency switching section ex803 sets the driving frequency to a lower driving frequency than that of the video data generated by the movie encoding method or the movie encoding apparatus described in each of the Embodiments. Then, the drive frequency switching portion ex803 instructs the decoding processing portion ex802, which conforms to the conventional standard, to decode the video data.

[0203] Точнее говоря, узел ex803 переключения частоты возбуждения включает в себя CPU ex502 и узел ex512 регулировки частоты возбуждения на фиг. 30. Здесь каждый из узла ex801 декодирующей обработки, который выполняет способ декодирования кинофильма, описанный в каждом из Вариантов осуществления, и узла ex802 декодирующей обработки, который соответствует традиционному стандарту, соответствует узлу ex507 обработки сигналов на фиг. 30. CPU ex502 определяет, какому стандарту соответствуют видеоданные. Затем узел ex512 регулировки частоты возбуждения определяет частоту возбуждения на основе сигнала от CPU ex502. Кроме того, узел ex507 обработки сигналов декодирует видеоданные на основе сигнала от CPU ex502. Например, идентификационная информация, описанная в Варианте 4 осуществления, скорее всего используется для идентификации видеоданных. Идентификационная информация не ограничивается описанной в Варианте 4 осуществления, а может быть любой информацией при условии, что эта информация указывает, какому стандарту соответствуют видеоданные. Например, когда на основе внешнего сигнала для определения, что видеоданные используются для телевидения или диска и т.д., можно определить, какому стандарту соответствуют видеоданные, определение можно выполнять на основе такого внешнего сигнала. Кроме того, CPU ex502 выбирает частоту возбуждения на основе, например, справочной таблицы, в которой стандарты видеоданных ассоциируются с частотами возбуждения, как показано на фиг. 33. Частота возбуждения может выбираться путем сохранения справочной таблицы в буфере ex508 и внутреннем запоминающем устройстве LSI, и с помощью обращении к справочной таблице с помощью CPU ex502.[0203] More precisely, the driving frequency switching unit ex803 includes the CPU ex502 and the driving frequency adjusting unit ex512 in FIG. 30. Here, each of the decoding processing unit ex801, which performs the movie decoding method described in each of the Embodiments, and the decoding processing unit ex802, which conforms to the conventional standard, corresponds to the signal processing unit ex507 in FIG. 30. CPU ex502 determines which standard the video data conforms to. Then, the drive frequency adjustment portion ex512 determines the drive frequency based on the signal from CPU ex502. In addition, the signal processing unit ex507 decodes video data based on the signal from CPU ex502. For example, the identification information described in Embodiment 4 is likely used to identify video data. The identification information is not limited to that described in Embodiment 4, but may be any information as long as the information indicates which standard the video data conforms to. For example, when it is possible to determine which standard the video data conforms to based on an external signal to determine that video data is used for television or disc, etc., the determination can be made based on such an external signal. In addition, CPU ex502 selects the drive frequency based on, for example, a lookup table in which video data standards are associated with drive frequencies, as shown in FIG. 33. The driving frequency can be selected by storing a lookup table in the ex508 buffer and LSI internal memory, and by accessing the lookup table using the ex502 CPU.

[0204] Фиг. 32 иллюстрирует этапы для выполнения способа в Варианте 6 осуществления. Сначала на этапе exS200 узел ex507 обработки сигналов получает идентификационную информацию из мультиплексированных данных. Далее на этапе exS201 CPU ex502 определяет, формируются ли видеоданные на основе идентификационной информации с помощью способа кодирования и устройства кодирования, описанных в каждом из Вариантов осуществления. Когда видеоданные формируются по способу кодирования или с помощью устройства кодирования, описанными в каждом из Вариантов осуществления, на этапе exS202 CPU ex502 передает узлу ex512 регулировки частоты возбуждения сигнал для установки частоты возбуждения в более высокую частоту возбуждения. Затем узел ex512 регулировки частоты возбуждения устанавливает частоту возбуждения в более высокую частоту возбуждения. С другой стороны, когда идентификационная информация указывает, что видеоданные соответствуют традиционному стандарту, например MPEG-2, MPEG4-AVC и VC-1, на этапе exS203 CPU ex502 передает узлу ex512 регулировки частоты возбуждения сигнал для установки частоты возбуждения в меньшую частоту возбуждения. Затем узел ex512 регулировки частоты возбуждения устанавливает частоту возбуждения в меньшую частоту возбуждения, нежели в случае, где видеоданные формируются по способу кодирования или с помощью устройства кодирования, описанными в каждом из Вариантов осуществления.[0204] FIG. 32 illustrates steps for performing the method in Embodiment 6. First, in step exS200, the signal processing unit ex507 obtains identification information from the multiplexed data. Next, in step exS201, CPU ex502 determines whether video data is generated based on identification information using the encoding method and encoding apparatus described in each of the Embodiments. When video data is generated by the encoding method or encoding apparatus described in each of the Embodiments, in step exS202, CPU ex502 transmits a signal to the drive frequency adjusting unit ex512 to set the drive frequency to a higher drive frequency. Then, the drive frequency adjusting portion ex512 sets the drive frequency to a higher drive frequency. On the other hand, when the identification information indicates that the video data conforms to a traditional standard such as MPEG-2, MPEG4-AVC and VC-1, in step exS203, the CPU ex502 transmits a signal to the drive frequency adjustment unit ex512 to set the drive frequency to a lower drive frequency. Then, the driving frequency adjusting section ex512 sets the driving frequency to a lower driving frequency than in the case where video data is generated by the encoding method or encoding apparatus described in each of the Embodiments.

[0205] Кроме того, вместе с переключением частот возбуждения можно усилить эффект экономии энергии путем изменения напряжения, которое должно быть подано на LSI ex500 или устройство, включающее в себя LSI ex500. Например, когда частота возбуждения устанавливается ниже, напряжение, которое должно быть подано на LSI ex500 или устройство, включающее в себя LSI ex500, скорее всего устанавливается в напряжение ниже, чем в случае, где частота возбуждения устанавливается выше.[0205] In addition, along with switching driving frequencies, the power saving effect can be enhanced by changing the voltage to be supplied to the LSI ex500 or a device including the LSI ex500. For example, when the driving frequency is set lower, the voltage that must be supplied to the LSI ex500 or a device including the LSI ex500 is likely set to a voltage lower than in the case where the driving frequency is set higher.

[0206] Кроме того, в качестве способа для установки частоты возбуждения, когда объем вычислений для декодирования больше, частоту возбуждения можно установить выше, а когда объем вычислений для декодирования меньше, частоту возбуждения можно установить ниже. Таким образом, способ установки не ограничивается способами, описанными выше. Например, когда объем вычислений для декодирования видеоданных в соответствии с MPEG4-AVC больше объема вычислений для декодирования видеоданных, сформированных по способу кодирования кинофильма или с помощью устройства кодирования кинофильма, описанными в каждом из Вариантов осуществления, частота возбуждения скорее всего устанавливается в обратном порядке к описанной выше установке.[0206] In addition, as a method for setting the driving frequency, when the amount of calculation for decoding is larger, the driving frequency can be set higher, and when the amount of calculation for decoding is smaller, the driving frequency can be set lower. Therefore, the installation method is not limited to the methods described above. For example, when the amount of calculation for decoding video data in accordance with MPEG4-AVC is greater than the amount of calculation for decoding video data generated by the movie encoding method or the movie encoding apparatus described in each of the Embodiments, the driving frequency is most likely set in the reverse order to that described above installation.

[0207] Кроме того, способ для установки частоты возбуждения не ограничивается способом для установки частоты возбуждения ниже. Например, когда идентификационная информация указывает, что видеоданные формируются по способу кодирования кинофильма или с помощью устройства кодирования кинофильма, описанными в каждом из Вариантов осуществления, напряжение, которое будет подано на LSI ex500 или устройство, включающее в себя LSI ex500, скорее всего устанавливается выше. Когда идентификационная информация указывает, что видеоданные соответствуют традиционному стандарту, например MPEG-2, MPEG4-AVC и VC-1, напряжение, которое будет подано на LSI ex500 или устройство, включающее в себя LSI ex500, скорее всего устанавливается ниже. В качестве другого примера, когда идентификационная информация указывает, что видеоданные формируются по способу кодирования кинофильма или с помощью устройства кодирования видео, описанными в каждом из Вариантов осуществления, приведение в действие CPU ex502, скорее всего, не нужно приостанавливать. Когда идентификационная информация указывает, что видеоданные соответствуют традиционному стандарту, например MPEG-2, MPEG4-AVC и VC-1, приведение в действие CPU ex502, скорее всего, приостанавливается в заданный момент, потому что у CPU ex502 есть избыточная производительность обработки. Даже когда идентификационная информация указывает, что видеоданные формируются по способу кодирования кинофильма или с помощью устройства кодирования кинофильма, описанными в каждом из Вариантов осуществления, в случае, где у CPU ex502 есть избыточная производительность обработки, приведение в действие CPU ex502 скорее всего приостанавливается в заданный момент.В таком случае время приостановки, скорее всего, устанавливается короче, нежели в случае, когда идентификационная информация указывает, что видеоданные соответствуют традиционному стандарту, например MPEG-2, MPEG4-AVC и VC-1.[0207] Moreover, the method for setting the driving frequency is not limited to the method for setting the driving frequency lower. For example, when the identification information indicates that video data is generated by the movie encoding method or the movie encoding apparatus described in each of the Embodiments, the voltage to be supplied to the LSI ex500 or a device including the LSI ex500 is likely set higher. When the identification information indicates that the video data conforms to a traditional standard such as MPEG-2, MPEG4-AVC and VC-1, the voltage to be supplied to the LSI ex500 or a device including the LSI ex500 is likely set lower. As another example, when the identification information indicates that the video data is generated by the movie encoding method or the video encoding apparatus described in each of the Embodiments, driving of the CPU ex502 most likely does not need to be suspended. When the identification information indicates that the video data conforms to the traditional standard, such as MPEG-2, MPEG4-AVC and VC-1, the operation of the CPU ex502 is likely to be suspended at a given time because the CPU ex502 has excess processing capacity. Even when the identification information indicates that the video data is generated by the movie encoding method or by the movie encoding apparatus described in each of the Embodiments, in the case where the CPU ex502 has excess processing capacity, the operation of the CPU ex502 is likely to be suspended at a given time. In such a case, the pause time is likely to be set shorter than in the case where the identification information indicates that the video data conforms to a traditional standard such as MPEG-2, MPEG4-AVC and VC-1.

[0208] Соответственно, можно усилить эффект экономии энергии путем переключения между частотами возбуждения в соответствии со стандартом, которому соответствуют видеоданные. Кроме того, когда LSI ex500 или устройство, включающее в себя LSI ex500, приводится в действие с использованием батареи, время работы от батарей можно продлить вместе с эффектом экономии энергии.[0208] Accordingly, it is possible to enhance the power saving effect by switching between driving frequencies in accordance with the standard to which the video data conforms. In addition, when the LSI ex500 or a device including the LSI ex500 is driven using a battery, the operating time of the batteries can be extended along with an energy saving effect.

[0209](Вариант 7 осуществления)[0209](Embodiment 7)

Имеются случаи, где множество видеоданных, которые соответствуют разным стандартам, предоставляется устройствам и системам, например телевизору и сотовому телефону. Чтобы обеспечить возможность декодирования множества видеоданных, которые соответствуют разным стандартам, узел ex507 обработки сигналов в LSI ex500 должен соответствовать разным стандартам. Однако возникают проблемы увеличения масштаба схемы LSI ex500 и увеличения стоимости при отдельном использовании узлов ex507 обработки сигналов, которые соответствуют соответствующим стандартам.There are cases where a variety of video data that conform to different standards are provided to devices and systems such as televisions and cell phones. To be able to decode multiple video data that conform to different standards, the ex507 signal processing node in the LSI ex500 must comply with different standards. However, there are problems with increasing the scale of the LSI ex500 circuit and increasing the cost when separately using ex507 signal processing nodes that comply with the relevant standards.

[0210] Чтобы решить эти проблемы, представляется конфигурация, в которой узел декодирующей обработки для реализации способа декодирования кинофильма, описанного в каждом из Вариантов осуществления, и узел декодирующей обработки, который соответствует традиционному стандарту, например MPEG-2, MPEG4-AVC и VC-1, частично используются совместно. Ex900 на фиг. 34A показывает пример этой конфигурации. Например, способ декодирования кинофильма, описанный в каждом из Вариантов осуществления, и способ декодирования кинофильма, который соответствует MPEG4-AVC, имеют отчасти общие подробности обработки, например энтропийное кодирование, обратное квантование, фильтрацию уменьшения блочности и компенсацию движения. Подробности обработки, которые должны использоваться совместно, скорее всего включают в себя использование узла ex902 декодирующей обработки, который соответствует MPEG4-AVC. В отличие от этого специализированный узел ex901 декодирующей обработки, возможно, используется для другой обработки, которая уникальна для настоящего изобретения и не соответствует MPEG-4 AVC. Узел декодирующей обработки для реализации способа декодирования кинофильма, описанного в каждом из Вариантов осуществления, может совместно использоваться для обработки, которую нужно распределить, а специализированный узел декодирующей обработки может использоваться для обработки, уникальной для обработки в MPEG4-AVC.[0210] To solve these problems, a configuration is provided in which a decoding processing unit for implementing the movie decoding method described in each of the Embodiments, and a decoding processing unit that conforms to a conventional standard such as MPEG-2, MPEG4-AVC and VC- 1, are partially used together. Ex900 in fig. 34A shows an example of this configuration. For example, the movie decoding method described in each of the Embodiments and the movie decoding method that complies with MPEG4-AVC share some of the same processing details, such as entropy encoding, inverse quantization, deblocking filtering, and motion compensation. The processing details that must be shared most likely include the use of a decoding processing unit ex902, which corresponds to MPEG4-AVC. In contrast, the dedicated decoding processing unit ex901 may be used for other processing that is unique to the present invention and not compliant with MPEG-4 AVC. A decoding processing unit for implementing the movie decoding method described in each of the Embodiments may be shared for processing to be distributed, and a dedicated decoding processing unit may be used for processing unique to MPEG4-AVC processing.

[0211] Кроме того, ex1000 на фиг. 34B показывает другой пример, в котором обработка частично распределяется. Этот пример использует конфигурацию, включающую специализированный узел ex1001 декодирующей обработки, который поддерживает обработку, уникальную для аспекта настоящего изобретения, специализированный узел ex1002 декодирующей обработки, который поддерживает обработку, уникальную для другого традиционного стандарта, и узел ex1003 декодирующей обработки, который поддерживает обработку, которую нужно распределить между способом декодирования кинофильма в аспекте настоящего изобретения и традиционным способом декодирования кинофильма. Здесь специализированные узлы ex1001 и ex1002 декодирующей обработки не обязательно являются специализированными для обработки по аспекту настоящего изобретения и обработки по традиционному стандарту, а могут быть узлами, допускающими реализацию общей обработки. Кроме того, конфигурация Варианта 7 осуществления может быть реализована с помощью LSI ex500.[0211] Additionally, ex1000 in FIG. 34B shows another example in which processing is partially distributed. This example uses a configuration including a dedicated decoding processing unit ex1001 that supports processing unique to an aspect of the present invention, a specialized decoding processing unit ex1002 that supports processing unique to another legacy standard, and a decoding processing unit ex1003 that supports processing that is desired allocated between the movie decoding method in the aspect of the present invention and the conventional movie decoding method. Here, the specialized decoding processing nodes ex1001 and ex1002 are not necessarily specialized for processing according to the aspect of the present invention and conventional standard processing, but may be nodes capable of implementing general processing. In addition, the configuration of Embodiment 7 can be implemented using LSI ex500.

[0212] По существу, уменьшение масштаба схемы LSI и сокращение затрат возможны путем совместного использования узла декодирующей обработки для обработки, которую нужно распределить между способом декодирования кинофильма в настоящем изобретении и способом декодирования кинофильма в соответствии с традиционным стандартом.[0212] As such, reducing the scale of the LSI circuit and reducing costs is possible by sharing a decoding processing unit for processing to be shared between the movie decoding method of the present invention and the movie decoding method according to the conventional standard.

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

[0213] Настоящее изобретение обладает преимуществом ускорения обработки почти без уменьшения эффективности кодирования и применимо к различным использованиям, например накоплению, передаче и обмену данными. Настоящее изобретение применимо, например, к устройствам отображения информации и устройствам захвата изображений, например телевизорам, устройствам записи цифрового видео, автомобильным навигационным системам, мобильным телефонам, цифровым фотокамерам и цифровым видеокамерам, и очень подходит для практического использования.[0213] The present invention has the advantage of speeding up processing with almost no reduction in coding efficiency and is applicable to various uses such as data storage, transmission and exchange. The present invention is applicable, for example, to information display devices and image capturing devices such as televisions, digital video recorders, car navigation systems, mobile phones, digital cameras and digital video cameras, and is very suitable for practical use.

[Список позиционных обозначений][List of designators]

[0214] 100 Устройство кодирования изображений[0214] 100 Image encoder

101 Узел разбиения на блоки101 Blocking node

102 Узел вычитания102 Subtraction node

103 Узел преобразования103 Conversion node

104 Узел кодирования переменной длины104 Variable Length Coding Unit

105, 202 Узел обратного преобразования105, 202 Inverse conversion node

106, 203 Узел сложения106, 203 Addition unit

107, 204 Узел обработки SAO107, 204 SAO processing unit

108, 206 Память кадров108, 206 Frame memory

109, 207 Узел предсказания109, 207 Prediction node

110 Узел кодирования параметров SAO110 Parameter coding unit SAO

111 Узел кодирования sao_type_idx111 Coding node sao_type_idx

112 Узел кодирования sao_offset112 Coding node sao_offset

113 Узел преобразования sao_offset в двоичную форму113 Sao_offset to binary conversion node

114 Узел переключения арифметического кодирования114 Arithmetic coding switching unit

115 Узел арифметического кодирования контекста 0115 Context arithmetic encoding node 0

116 Узел арифметического кодирования контекста 1116 Context arithmetic encoding node 1

117 Узел обходного арифметического кодирования117 Bypass arithmetic coding unit

200 Устройство декодирования изображений200 Image decoding device

201 Узел декодирования переменной длины201 Variable Length Decoding Unit

205 Узел объединения декодированных блоков205 Unit for combining decoded blocks

210 Узел декодирования параметров SAO210 SAO parameter decoding node

211 Узел декодирования sao_type_idx211 Decoding node sao_type_idx

212 Узел декодирования sao_offset212 Decoding node sao_offset

213 Узел переключения арифметического декодирования213 Arithmetic decoding switching node

214 Узел арифметического декодирования контекста 0214 Context arithmetic decoding node 0

215 Узел арифметического декодирования контекста 1215 Context 1 arithmetic decoding node

216 Узел обходного арифметического декодирования216 Bypass arithmetic decoding unit

217 Узел обратного преобразования sao_offset из двоичной формы217 Inverse conversion node sao_offset from binary form

Claims (10)

Способ кодирования значения адаптивного смещения выборок (SAO) с помощью арифметического кодирования в битовый поток, причем способ кодирования содержит этапы, на которых: A method of encoding an adaptive sample offset (SAO) value using arithmetic encoding into a bitstream, the encoding method comprising the steps of: разделяют изображение, подлежащее кодированию, на множество блоков (S101) для формирования целевых блоков;dividing the image to be encoded into a plurality of blocks (S101) to form target blocks; формируют предсказанный блок (S102);generating a predicted block (S102); вычитают предсказанный блок из целевого блока (S104) для формирования остаточного блока;subtracting the predicted block from the target block (S104) to form a residual block; преобразуют и осуществляют квантование остаточного блока для формирования квантованного блока (S104);converting and quantizing the residual block to form a quantized block (S104); осуществляют обратное квантование и обратное преобразование квантованного блока для формирования локального восстановленного остаточного блока (S106);performing inverse quantization and inverse transformation of the quantized block to form a local reconstructed residual block (S106); формируют восстановленный блок посредством сложения восстановленного остаточного блока и предсказанного блока;generating a reconstructed block by adding the reconstructed residual block and the predicted block; определяют параметр типа SAO для значения SAO для восстановленного блока, причем параметр типа SAO указывает, является ли значение SAO значением смещения по границе или значением смещения по диапазону, и значение SAO подлежит добавлению к значению пикселя восстановленного изображения;determining a SAO type parameter for a SAO value for the reconstructed block, the SAO type parameter indicating whether the SAO value is a boundary offset value or a range offset value, and the SAO value is to be added to a pixel value of the reconstructed image; определяют множество бинов, причем множество бинов представляет целое число, указывающее величину значения SAO; иdefining a plurality of bins, the plurality of bins representing an integer indicating the magnitude of the SAO value; And кодируют в битовый поток параметр типа SAO и множество бинов с использованием обходного арифметического кодирования с постоянной вероятностью.encode a SAO type parameter and a plurality of bins into the bit stream using constant probability bypass arithmetic encoding.
RU2023116658A 2012-05-25 2023-06-26 Image coding method, image decoding method, image coding device, image decoding device and image coding and decoding device RU2812616C1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US61/651,649 2012-05-25

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2023101140A Division RU2799562C1 (en) 2012-05-25 2023-01-20 Image coding method, image decoding method, image coding device, image decoding device and image coding and decoding device

Publications (1)

Publication Number Publication Date
RU2812616C1 true RU2812616C1 (en) 2024-01-30

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7221296B2 (en) * 2005-08-22 2007-05-22 Streaming Networks (Pvt.) Ltd. Method and system for fast context based adaptive binary arithmetic coding
WO2009042813A1 (en) * 2007-09-27 2009-04-02 Qualcomm Incorporated Optimized cabac decoder
US20110310958A1 (en) * 2010-06-21 2011-12-22 Stmicroelectronics S.R.L. System for entropy decoding of h.264 video for real time hdtv applications
RU2439682C2 (en) * 2006-06-26 2012-01-10 Квэлкомм Инкорпорейтед Reduction of errors during calculation of reverse discrete cosine conversion
US20120082244A1 (en) * 2010-10-05 2012-04-05 Mediatek Inc. Method and Apparatus of Region-Based Adaptive Loop Filtering

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7221296B2 (en) * 2005-08-22 2007-05-22 Streaming Networks (Pvt.) Ltd. Method and system for fast context based adaptive binary arithmetic coding
RU2439682C2 (en) * 2006-06-26 2012-01-10 Квэлкомм Инкорпорейтед Reduction of errors during calculation of reverse discrete cosine conversion
WO2009042813A1 (en) * 2007-09-27 2009-04-02 Qualcomm Incorporated Optimized cabac decoder
US20110310958A1 (en) * 2010-06-21 2011-12-22 Stmicroelectronics S.R.L. System for entropy decoding of h.264 video for real time hdtv applications
US20120082244A1 (en) * 2010-10-05 2012-04-05 Mediatek Inc. Method and Apparatus of Region-Based Adaptive Loop Filtering

Similar Documents

Publication Publication Date Title
RU2606304C2 (en) Filtering method, decoding method and encoding method
RU2595625C2 (en) Image decoding method, image encoding method, image decoding device, image encoding device, programme and integrated circuit
RU2595626C2 (en) Image encoding method, image decoding method, image encoding device, image decoding device and apparatus for encoding and decoding images
RU2601167C2 (en) Image encoding method, image decoding method, image encoding device, image decoding device and image encoding and decoding device
RU2625944C2 (en) Image encoding method, image decoding method, image coding device, decoding device and image decoding device and image encoding
RU2623798C2 (en) Moving graphic images coding method, moving graphic images coding device, moving graphic images decoding method and moving graphic images decoding device
RU2623800C2 (en) Video image coding method, video image decoding method, video image coding device, video image decoding device, and video image coding and video image decoding device
RU2595573C2 (en) Moving image encoding method, moving image decoding method, moving image encoding device, moving image decoding device and apparatus for encoding and decoding moving image
RU2595641C2 (en) Image encoding method, image decoding method, image encoding device, image decoding device and apparatus for encoding and decoding images
RU2609064C9 (en) Image encoding method, image decoding method, image encoding device and image decoding device
RU2616166C2 (en) Image encoding method, image decoding method, image coding device, image decoding device and image decoding and encoding device
RU2634207C2 (en) Method for image coding, image coding device, method for image decoding, image decoding device and image coder-decoder
RU2627109C2 (en) Method of coding, decoding method, coding device, decoding device and coding and decoding device
KR20150056533A (en) Image coding method, image decoding method, image coding device, image decoding device, and image coding/decoding device
CA2876567A1 (en) Image coding and decoding of slice boundaries wherein loop filtering of top and left slice boundaries is controlled by a boundary control flag
RU2624103C2 (en) Image coding method, image decoding method, image coding device, image decoding device, and image coding and image decoding device
KR102130046B1 (en) Image decoding method, image encoding method, image decoding device, image encoding device, and image encoding/decoding device
WO2012114693A1 (en) Arithmetic decoding method and arithmetic encoding method
RU2812616C1 (en) Image coding method, image decoding method, image coding device, image decoding device and image coding and decoding device
RU2799562C1 (en) Image coding method, image decoding method, image coding device, image decoding device and image coding and decoding device
RU2789394C2 (en) Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding and decoding device