RU2824877C1 - Method of decoding images - Google Patents
Method of decoding images Download PDFInfo
- Publication number
- RU2824877C1 RU2824877C1 RU2024101030A RU2024101030A RU2824877C1 RU 2824877 C1 RU2824877 C1 RU 2824877C1 RU 2024101030 A RU2024101030 A RU 2024101030A RU 2024101030 A RU2024101030 A RU 2024101030A RU 2824877 C1 RU2824877 C1 RU 2824877C1
- Authority
- RU
- Russia
- Prior art keywords
- sao
- unit
- decoding
- encoding
- value
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 176
- 230000009466 transformation Effects 0.000 claims abstract description 6
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 claims abstract 3
- 238000013139 quantization Methods 0.000 claims description 5
- 230000003044 adaptive effect Effects 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 4
- 239000000126 substance Substances 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 113
- 230000008569 process Effects 0.000 description 61
- 230000005236 sound signal Effects 0.000 description 26
- 230000001413 cellular effect Effects 0.000 description 18
- 230000003287 optical effect Effects 0.000 description 18
- 238000006243 chemical reaction Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 239000000872 buffer Substances 0.000 description 13
- 239000000470 constituent Substances 0.000 description 10
- 238000001824 photoionisation detection Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000002474 experimental method Methods 0.000 description 7
- 230000005284 excitation Effects 0.000 description 6
- 230000002452 interceptive effect Effects 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- NRNCYVBFPDDJNE-UHFFFAOYSA-N pemoline Chemical compound O1C(N)=NC(=O)C1C1=CC=CC=C1 NRNCYVBFPDDJNE-UHFFFAOYSA-N 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000001228 spectrum Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- HCUOEKSZWPGJIM-YBRHCDHNSA-N (e,2e)-2-hydroxyimino-6-methoxy-4-methyl-5-nitrohex-3-enamide Chemical compound COCC([N+]([O-])=O)\C(C)=C\C(=N/O)\C(N)=O HCUOEKSZWPGJIM-YBRHCDHNSA-N 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000005184 irreversible process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Abstract
Description
[Область техники][Field of technology]
[0001] Настоящее изобретение относится к способу кодирования изображений, устройству кодирования изображений, способу декодирования изображений, устройству декодирования изображений и устройству кодирования и декодирования изображений, и в частности, к способу кодирования изображений, устройству кодирования изображений, способу декодирования изображений, устройству декодирования изображений и устройству кодирования и декодирования изображений для выполнения арифметического кодирования или арифметического декодирования над параметром адаптивного смещения выборок (SAO).[0001] The present invention relates to an image encoding method, an image encoding device, an image decoding method, an image decoding device, and an image encoding and decoding device, and in particular, to an image encoding method, an image encoding device, an image decoding method, an image decoding device, and an image encoding and decoding device for performing arithmetic encoding or arithmetic decoding on a sample adaptive offset (SAO) parameter.
[Предшествующий уровень техники][Prior Art]
[0002] В последнее время наблюдается значительное техническое развитие в устройствах цифрового видео, и увеличивающиеся возможности для кодирования видеосигнала (множество изображений, организованных во временной ряд) со сжатием и записи видеосигнала на носители записи, например DVD и жесткие диски, или распространения видеосигнала в Интернете. Например, H.264/AVC (MPEG-4 AVC) является одним из стандартов для кодирования видеосигнала со сжатием. Кроме того, стандарт Высокоэффективного кодирования видео (HEVC) в настоящее время рассматривается в качестве стандарта следующего поколения.[0002] Recently, there has been significant technical development in digital video devices, and increasing opportunities for encoding a video signal (multiple images organized into a time series) with compression and recording the video signal on recording media such as DVDs and hard disks, or distributing the video signal on the Internet. For example, H.264/AVC (MPEG-4 AVC) is one of the standards for encoding a video signal with compression. In addition, the High Efficiency Video Coding (HEVC) standard is currently being considered as the 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 the degradation of the image as a result of encoding and make the decoded image more similar to the original image. According to the current HEVC standard, the SAO process performs arithmetic coding on the offset value and adds the offset value to the bitstream.
[Список библиографических ссылок][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 task]
[0005] В традиционной методике при кодировании и декодировании изображения желательна ускоренная обработка.[0005] In the traditional method, accelerated processing is desired when encoding and decoding an image.
[0006] Здесь настоящее изобретение предоставляет способ кодирования изображений и способ декодирования изображений, в которых обработку можно ускорить.[0006] Here, the present invention provides an image encoding method and an image decoding method in which processing can be accelerated.
[Решение задачи][Problem solution]
[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 a offset process that is to be applied to a pixel value of a reconstructed image corresponding to the input image; and performing bypass arithmetic encoding on the bin string using a constant probability.
[0008] Кроме того, способ декодирования изображений в соответствии с другим аспектом настоящего изобретения является способом декодирования изображений для декодирования кодированного изображения и включает в себя: выполнение обходного арифметического декодирования над строкой бинов с использованием постоянной вероятности, причем строка бинов закодирована и указывает значение смещения, используемое в процессе смещения, которое должно быть применено к значению пикселя восстановленного изображения, соответствующего кодированному изображению; и преобразование в значение смещения строки бинов, над которой выполняется обходное арифметическое декодирование.[0008] Furthermore, 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 bin row using a constant probability, wherein the bin row is encoded and indicates an offset value used in the offset process, which should be applied to a pixel value of a reconstructed image corresponding to the encoded image; and converting into an offset value the bin row on which the bypass arithmetic decoding is performed.
[0009] Эти общие или специфические аспекты настоящего изобретения могут быть реализованы с помощью системы, устройства, интегральной схемы, компьютерной программы, машиночитаемого носителя записи, например CD-ROM, или произвольного сочетания системы, устройства, интегральной схемы, компьютерной программы и носителя записи.[0009] These general or specific aspects of the present invention may be implemented using 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, the image encoding device, the image decoding method, the image decoding device and the image encoding and decoding device according to the present invention, it is possible to accelerate processing.
[Краткое описание чертежей][Brief description of the drawings]
[0011] Фиг. 1 - блок-схема, иллюстрирующая примерную конфигурацию устройства кодирования изображений в соответствии с Вариантом 1 осуществления.[0011] Fig. 1 is a block diagram illustrating an exemplary configuration of an image encoding device according to Embodiment 1.
Фиг. 2 - блок-схема, иллюстрирующая примерную конфигурацию узла кодирования параметров SAO.Fig. 2 is a block diagram illustrating an exemplary configuration of a SAO parameter encoding unit.
Фиг. 3 - блок-схема, иллюстрирующая примерную конфигурацию узла кодирования sao_offset.Fig. 3 is a block diagram illustrating an exemplary configuration of the sao_offset encoding node.
Фиг. 4 - блок-схема алгоритма, указывающая примерные процессы в устройстве кодирования изображений в соответствии с Вариантом 1 осуществления.Fig. 4 is a flow chart showing exemplary processes in the image encoding device according to Embodiment 1.
Фиг. 5 - блок-схема алгоритма, указывающая примерные процессы в узле кодирования параметров SAO в соответствии с Вариантом 1 осуществления.Fig. 5 is a flow chart showing exemplary processes in the SAO parameter encoding unit according to Embodiment 1.
Фиг. 6A - блок-схема алгоритма, указывающая примерные процессы в узле кодирования sao_offset в соответствии с Вариантом 1 осуществления.Fig. 6A is a flow chart showing exemplary processes in the sao_offset encoding node according to Embodiment 1.
Фиг. 6B - блок-схема алгоритма, указывающая примерные процессы в узле кодирования sao_offset в соответствии с Разновидностью 2 Варианта 1 осуществления.Fig. 6B is a flow chart showing exemplary processes in the sao_offset encoding node according to Variation 2 of Embodiment 1.
Фиг. 7 - таблица, указывающая примерное соответствие между недвоичными сигналами и строками бинов.Fig. 7 is a table showing the approximate correspondence between non-binary signals and bin rows.
Фиг. 8 - таблица, указывающая соответствие между бинами, включенными в binIdx, и арифметическим кодированием, которое будет применено.Fig. 8 is a table indicating the correspondence between the bins included in binIdx and the arithmetic coding to be applied.
Фиг. 9 - таблица, показывающая результат эксперимента над эффективностью кодирования в соответствии с Вариантом 1 осуществления и Разновидностью 1.Fig. 9 is a table showing the result of an experiment on the coding efficiency according to Embodiment 1 and Variation 1.
Фиг. 10 - блок-схема, иллюстрирующая примерную конфигурацию устройства декодирования изображений в соответствии с Вариантом 2 осуществления.Fig. 10 is a block diagram illustrating an exemplary configuration of an image decoding device according to Embodiment 2.
Фиг. 11 - блок-схема, иллюстрирующая примерную конфигурацию узла декодирования параметров SAO.Fig. 11 is a block diagram illustrating an exemplary configuration of a SAO parameter decoding node.
Фиг. 12 - блок-схема, иллюстрирующая примерную конфигурацию узла декодирования sao_offset.Fig. 12 is a block diagram illustrating an exemplary configuration of the sao_offset decoding node.
Фиг. 13 - блок-схема алгоритма, указывающая примерные процессы в устройстве декодирования изображений в соответствии с Вариантом 2 осуществления.Fig. 13 is a flow chart showing exemplary processes in the image decoding device according to Embodiment 2.
Фиг. 14 - блок-схема алгоритма, указывающая примерные процессы в узле декодирования параметров SAO в соответствии с Вариантом 2 осуществления.Fig. 14 is a flow chart showing exemplary processes in the SAO parameter decoding unit according to Embodiment 2.
Фиг. 15A - блок-схема алгоритма, указывающая примерные процессы в узле декодирования sao_offset в соответствии с Вариантом 2 осуществления.Fig. 15A is a flow chart showing exemplary processes in the sao_offset decoding node according to Embodiment 2.
Фиг. 15B - блок-схема алгоритма, указывающая примерные процессы в узле декодирования sao_offset в соответствии с Разновидностью 2 Варианта 2 осуществления.Fig. 15B is a flow chart showing exemplary processes in the sao_offset decoding node according to Variation 2 of Embodiment 2.
Фиг. 16 иллюстрирует общую конфигурацию системы предоставления контента для реализации услуг распространения контента.Fig. 16 illustrates a general configuration of a content provision system for implementing content distribution services.
Фиг. 17 иллюстрирует общую конфигурацию системы цифрового вещания.Fig. 17 illustrates the general configuration of the digital broadcasting system.
Фиг. 18 иллюстрирует блок-схему примера конфигурации телевизора.Fig. 18 illustrates a block diagram of an example configuration of a television.
Фиг. 19 иллюстрирует блок-схему, иллюстрирующую пример конфигурации узла воспроизведения/записи информации, который считывает и записывает информацию с носителя записи или на него, который является оптическим диском.Fig. 19 is a block diagram illustrating an example configuration of an information reproducing/recording unit that reads and writes information from or to a recording medium that is an optical disc.
Фиг. 20 иллюстрирует пример конфигурации носителя записи, который является оптическим диском.Fig. 20 illustrates an example of a configuration of a recording medium which is an optical disc.
Фиг. 21A иллюстрирует пример сотового телефона.Fig. 21A illustrates an example of a cellular telephone.
Фиг. 21B иллюстрирует блок-схему примера конфигурации сотового телефона.Fig. 21B illustrates a block diagram of an example configuration of a cellular telephone.
Фиг. 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 the multiplexed data information.
Фиг. 28 иллюстрирует внутреннюю структуру информации об атрибутах потока.Fig. 28 illustrates the internal structure of the flow attribute information.
Фиг. 29 иллюстрирует этапы для идентификации видеоданных.Fig. 29 illustrates steps for identifying video data.
Фиг. 30 иллюстрирует блок-схему, иллюстрирующую пример конфигурации интегральной схемы для реализации способа кодирования кинофильма и способа декодирования кинофильма в соответствии с каждым из Вариантов осуществления.Fig. 30 illustrates a block diagram illustrating an example of a configuration of an integrated circuit 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 excitation frequencies.
Фиг. 32 иллюстрирует этапы для идентификации видеоданных и переключения между частотами возбуждения.Fig. 32 illustrates the steps for identifying video data and switching between excitation frequencies.
Фиг. 33 иллюстрирует пример справочной таблицы, в которой стандарты видеоданных ассоциируются с частотами возбуждения.Fig. 33 illustrates an example of a look-up table in which video data standards are associated with excitation frequencies.
Фиг. 34A иллюстрирует пример конфигурации для совместного использования модуля в узле обработки сигналов.Fig. 34A illustrates an example of a configuration for sharing a module in a signal processing node.
Фиг. 34B иллюстрирует пример конфигурации для совместного использования модуля в узле обработки сигналов.Fig. 34B illustrates an example of a configuration for sharing a module in a signal processing node.
[Описание вариантов осуществления][Description of embodiments]
[0012] (Сведения, на которых основывается настоящее изобретение)[0012] (Information on which the present invention is based)
Авторы изобретения обнаружили, что способ кодирования изображений и прочие, описанные в "Предшествующем уровне техники", имеют следующие проблемы.The inventors have found that the image coding 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 coding is performed on an offset value, and the offset value is added to a binary signal stream. More specifically, in the arithmetic coding of the HEVC standard, a signal to be encoded (for example, an SAO offset value) is converted from a non-binary signal into a bin string, and arithmetic coding is performed on the bin string.
[0014] Арифметическое кодирование имеет два типа: (1) контекстное арифметическое кодирование, в котором арифметическое кодирование выполняется с использованием адаптивной вероятности появления символа; и (2) обходное арифметическое кодирование, в котором арифметическое кодирование выполняется путем установления вероятности появления символа, например, в 50%.[0014] Arithmetic coding has two types: (1) contextual arithmetic coding, in which arithmetic coding is performed using an adaptive probability of occurrence of a symbol; and (2) bypass arithmetic coding, in which arithmetic coding is performed by setting the probability of occurrence of a symbol to, for example, 50%.
[0015] (1) В контекстном арифметическом кодировании контекст выбирается на каждый сигнал, который должен быть кодирован. Вероятность появления символа определяется в соответствии с тем контекстом. Кроме того, в контекстном арифметическом кодировании загружается выбранный контекст, и арифметическое кодирование выполняется над сигналом, который должен быть кодирован, на основе вероятности появления символа, соответствующей загруженному контексту. Кроме того, в контекстном арифметическом кодировании процесс обновления контекста для обновления вероятности появления символа (например, вероятностей появления 1) у контекста выполняется в соответствии со значением сигнала, который должен быть кодирован.[0015] (1) In context arithmetic coding, a context is selected for each signal to be coded. The probability of occurrence of a symbol is determined in accordance with that context. In addition, in context arithmetic coding, the selected context is loaded, and arithmetic coding is performed on the signal to be coded based on the probability of occurrence of a symbol corresponding to the loaded context. In addition, in context arithmetic coding, a context update process for updating the probability of occurrence of a symbol (for example, the probabilities of occurrence of 1) of the context is performed in accordance with the value of the signal to be coded.
[0016] (2) В отличие от этого в обходном арифметическом кодировании арифметическое кодирование выполняется над сигналом, который должен быть кодирован, путем установления вероятности появления символа, например, в 50% без использования какого-либо контекста. Таким образом, обходное арифметическое кодирование не требует загрузки и обновления контекста.[0016] (2) In contrast, in bypass arithmetic coding, arithmetic coding is performed on the signal to be coded by setting the probability of occurrence of a symbol to, for example, 50% without using any context. Thus, bypass arithmetic coding does not require loading and updating context.
[0017] Традиционно устройство кодирования изображений выполняет контекстное арифметическое кодирование над значением смещения SAO. Причина в том, что вероятность появления символа у строки бинов, указывающей значение смещения SAO, скорее всего, имеет некое отклонение в соответствии со стандартом HEVC (NPL 1). Когда вероятность появления символа имеет отклонение, уменьшение эффективности кодирования можно остановить с использованием контекстного арифметического кодирования.[0017] Conventionally, an image encoding device performs context arithmetic coding on an SAO offset value. The reason is that the probability of occurrence of a symbol of a bin string indicating an SAO offset value is likely to have 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 by using context arithmetic coding.
[0018] Однако контекстное арифметическое кодирование требует такой обработки, как загрузка и обновление контекста. Кроме того, когда контекст, идентичный контексту, выбранному в контекстном арифметическом кодировании над заранее установленным значением смещения SAO, выбирается в контекстном арифметическом кодировании над другим значением смещения SAO, нельзя начать контекстное арифметическое кодирование над следующим значением смещения SAO, пока не обновится контекст для значения смещения SAO, над которым арифметическое кодирование выполнено первым. Таким образом, возникают проблемы с последовательными процессами и уменьшением пропускной способности.[0018] However, context arithmetic coding requires processing such as loading and updating a context. In addition, when a context identical to the context selected in context arithmetic coding over a predetermined SAO offset value is selected in context arithmetic coding over another SAO offset value, context arithmetic coding over the next SAO offset value cannot be started until the context for the SAO offset value over which arithmetic coding is performed first is updated. Thus, problems with sequential processes and a decrease in throughput occur.
[0019] Чтобы решить такие проблемы, способ кодирования изображений в соответствии с аспектом настоящего изобретения является способом кодирования изображений для кодирования входного изображения и включает в себя: преобразование в строку бинов значения смещения, используемого в процессе смещения, которое должно быть применено к значению пикселя восстановленного изображения, соответствующего входному изображению; и выполнение обходного арифметического кодирования над строкой бинов с использованием постоянной вероятности.[0019] In order 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 an offset value used in a offset process that is to be applied to a pixel value of a reconstructed image corresponding to the input image; and performing bypass arithmetic encoding on the bin string using a constant probability.
[0020] Поскольку в способе кодирования изображений арифметическое кодирование выполняется над значением смещения SAO с использованием обходного арифметического кодирования, то обработку можно ускорить.[0020] Since in the image encoding method, arithmetic encoding is performed on the SAO offset value using bypass arithmetic encoding, the processing can be accelerated.
[0021] Авторы изобретения обнаружили, что вероятности появления символов у строк бинов, указывающих значение смещения SAO, имеют небольшие отклонения, которые будут описываться позже. Таким образом, эффективность кодирования, скорее всего, не уменьшается, даже когда выполняется обходное арифметическое кодирование. Таким образом, авторы изобретения подтвердили в эксперименте, что обходное арифметическое кодирование в качестве арифметического кодирования над значением смещения SAO не уменьшает эффективность кодирования.[0021] The inventors have found that the probability of occurrence of symbols in the bin strings indicating the SAO offset value has small deviations, which will be described later. Therefore, the encoding efficiency is unlikely to decrease even when bypass arithmetic encoding is performed. Therefore, the inventors have confirmed through an experiment that bypass arithmetic encoding as arithmetic encoding over the SAO offset value does not decrease the encoding efficiency.
[0022] Таким образом, способ кодирования изображений с этой конфигурацией дает возможность ускорения обработки без снижения эффективности кодирования.[0022] Thus, the method of encoding images with this configuration makes it possible to speed up processing without reducing the encoding efficiency.
[0023] Кроме того, способ декодирования изображений в соответствии с другим аспектом настоящего изобретения является способом декодирования изображений для декодирования кодированного изображения и включает в себя: выполнение обходного арифметического декодирования над строкой бинов с использованием постоянной вероятности, причем строка бинов закодирована и указывает значение смещения, используемое в процессе смещения, которое должно быть применено к значению пикселя восстановленного изображения, соответствующего кодированному изображению; и преобразование в значение смещения строки бинов, над которой выполняется обходное арифметическое декодирование.[0023] Furthermore, 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 bin row using a constant probability, wherein the bin row is encoded and indicates an offset value used in the offset process, which should be applied to a pixel value of a reconstructed image corresponding to the encoded image; and converting into an offset value the bin row on which the bypass arithmetic decoding is performed.
[0024] Кроме того, устройство кодирования изображений в соответствии с другим аспектом настоящего изобретения является устройством кодирования изображений, которое кодирует входное изображение и включает в себя схему управления и запоминающее устройство, электрически подключенное к схеме управления, причем схема управления исполняет: преобразование в строку бинов значения смещения, используемого в процессе смещения, которое должно быть применено к значению пикселя восстановленного изображения, соответствующего входному изображению; и выполнение обходного арифметического кодирования над строкой бинов с использованием постоянной вероятности.[0024] Furthermore, an image encoding device according to another aspect of the present invention is an image encoding device that encodes an input image and includes a control circuit and a memory device electrically connected to the control circuit, wherein the control circuit executes: converting into a bin string an offset value used in a offset process that is to be applied to a pixel value of a reconstructed image corresponding to the input image; and performing bypass arithmetic encoding on the bin string using a constant probability.
[0025] Кроме того, устройство декодирования изображений в соответствии с другим аспектом настоящего изобретения является устройством декодирования изображений, которое декодирует кодированное изображение и включает в себя схему управления и запоминающее устройство, электрически подключенное к схеме управления, причем схема управления исполняет: выполнение обходного арифметического декодирования над строкой бинов с использованием постоянной вероятности, причем строка бинов закодирована и указывает значение смещения, используемое в процессе смещения, которое должно быть применено к значению пикселя восстановленного изображения, соответствующего кодированному изображению; и преобразование в значение смещения строки бинов, над которой выполняется обходное арифметическое декодирование.[0025] Furthermore, 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 device electrically connected to the control circuit, wherein the control circuit executes: performing bypass arithmetic decoding on a bin row using a constant probability, wherein the bin row is encoded and indicates an offset value used in the offset process, which should be applied to a pixel value of a reconstructed image corresponding to the encoded image; and converting into an offset value the bin row on which the bypass arithmetic decoding is performed.
[0026] Кроме того, устройство кодирования и декодирования изображений в соответствии с другим аспектом настоящего изобретения включает в себя устройство кодирования изображений и устройство декодирования изображений.[0026] Furthermore, an image encoding and decoding device according to another aspect of the present invention includes an image encoding device and an image decoding device.
[0027] Эти общие или специфические аспекты настоящего изобретения могут быть реализованы с помощью системы, способа, интегральной схемы, компьютерной программы, машиночитаемого носителя записи, например CD-ROM, или произвольного сочетания системы, способа, интегральной схемы, компьютерной программы и носителя записи.[0027] These general or specific aspects of the present invention may be implemented using 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 according to 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 the constituent elements, steps and orders of steps indicated in the Embodiments are examples and do not limit the present invention. 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] (Implementation option 1)
Устройство кодирования изображений и способ кодирования изображений в соответствии с Вариантом 1 осуществления будут описываться со ссылкой на фиг. 1-9.An image encoding device and an image encoding method according to Embodiment 1 will be described with reference to Figs. 1-9.
[0031] <1-1. Конфигурация устройства>[0031] <1-1. Device Configuration>
Устройство кодирования изображений в соответствии с Вариантом 1 осуществления будет описываться со ссылкой на фиг. 1. Фиг. 1 - блок-схема, иллюстрирующая конфигурацию устройства 100 кодирования изображений в соответствии со стандартом HEVC в соответствии с Вариантом 1 осуществления.An image encoding device 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 device 100 according to the HEVC standard according to 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 form a binary signal stream (coded binary signal 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 division unit 101, a subtraction unit 102, a transformation unit 103, a variable length encoding unit (entropy encoding unit) 104, an inverse transformation unit 105, an addition unit 106, an SAO processing unit 107, an SAO parameter encoding unit 110, a frame memory 108, and a prediction unit 109.
[0034] Узел 101 разбиения на блоки разбивает входное изображение на блоки, которые должны предсказываться и включают в себя пиксели. Блоки, которые будут предсказываться, являются блоками переменного размера. Например, минимальный размер блоков составляет 4×4 пикселя, а максимальный размер блоков составляет 32×32 пикселя.[0034] The block division unit 101 divides the input image into blocks that are to be predicted and include pixels. The blocks that are to be predicted are blocks of variable size. For example, the minimum size of the blocks is 4×4 pixels, and the maximum size of the blocks is 32×32 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 to calculate a difference block. The transformation unit 103 transforms the difference block from the image domain to the frequency domain to output frequency coefficients, and quantizes these frequency coefficients. The quantized frequency coefficients will be referred to as quantized coefficients hereinafter.
[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 necessary for decoding (partition information for blocks to be predicted, prediction type, motion vector, prediction mode (intra prediction mode), quantized parameter, etc.) to generate a binary signal stream.
[0037] Узел 105 обратного преобразования выполняет обратное квантование для преобразования квантованных коэффициентов, выводимых из узла 103 преобразования, в частотные коэффициенты и выполняет обратное преобразование для преобразования частотных коэффициентов из частотной области в область изображения, чтобы вывести восстановленный разностный блок. Узел 106 сложения складывает блок предсказания, предсказанный узлом 109 предсказания, который будет описан позже, с восстановленным разностным блоком, выведенным узлом 105 обратного преобразования, чтобы сформировать восстановленный блок.[0037] The inverse transform unit 105 performs inverse quantization to transform the quantized coefficients output from the transform unit 103 into frequency coefficients and performs inverse transform to transform 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 conversion 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 a value for correcting the error and is set for each category.
[0039] Узел 110 кодирования параметров SAO выполняет кодирование переменной длины над различными параметрами, которые должны использоваться в процессе SAO, и добавляет параметры в поток двоичных сигналов, выводимый из узла 104 кодирования переменной длины. Вариант 1 осуществления в качестве параметров SAO приводит sao_offset, указывающее значение смещения SAO, и sao_type_idx, указывающее категорию значения смещения SAO.[0039] The SAO parameter encoding unit 110 performs variable length encoding on various parameters to be used in the SAO process, and adds the parameters to the bit stream output from the variable length encoding unit 104. Embodiment 1 specifies sao_offset indicating an SAO offset value and sao_type_idx indicating a category of the SAO offset value as 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 an SAO parameter encoding unit 110. As illustrated in Fig. 2, the SAO parameter encoding unit 110 includes an 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, the sao_offset is classified into two categories: a boundary 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 the 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 to 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 form conversion unit 113 converts the sao_offset, which is a non-binary signal, into a binary form (converts the sao_offset into a signal representing 0 and 1). The arithmetic coding switching unit 114 switches the arithmetic coding method to be applied to the sao_offset. The context 0 arithmetic coding unit 115 performs arithmetic coding of context 0 using the first context (context 0). The context 1 arithmetic coding unit 116 performs arithmetic coding of context 1 using the second context (context 1). The bypass arithmetic coding unit 117 performs bypass arithmetic coding 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 means of inter prediction or intra prediction. In the inter prediction, the prediction unit 109 outputs a motion vector using a block to be predicted, and generates a prediction block using the output motion vector and a reconstructed block obtained in the SAO process and stored in the frame memory 108. In the intra prediction, the prediction unit 109 generates a prediction block using a reconstructed block obtained in the SAO process and stored in the frame memory 108, according to a prediction mode.
[0047] <1-2 Общие операции>[0047] <1-2 General Operations>
Далее со ссылкой на фиг. 4 будут описываться операции устройства кодирования изображений. Фиг. 4 - блок-схема алгоритма, указывающая процедуру в устройстве 100 кодирования изображений.Next, operations of the image encoding device will be described with reference to Fig. 4. Fig. 4 is a flow chart indicating a procedure in the image encoding device 100.
[0048] В устройстве 100 кодирования изображений узел 101 разбиения на блоки сначала разбивает входное изображение на блоки, которые должны предсказываться, и последовательно выводит эти блоки в узел 102 вычитания и узел 109 предсказания (этап S101). Блоки, которые должны предсказываться, имеют переменный размер в соответствии с Вариантом 1 осуществления. Входное изображение разбивается с использованием признаков изображения. Минимальный размер блоков, которые должны предсказываться, равен 4 пикселям по горизонтали × 4 пикселя по вертикали в соответствии с Вариантом 1 осуществления. Кроме того, максимальный размер блоков, которые должны предсказываться, равен 32 пикселям по горизонтали × 32 пикселя по вертикали в соответствии с Вариантом 1 осуществления.[0048] In the image encoding device 100, the block division 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 according to Embodiment 1. The input image is divided using image features. The minimum size of the blocks to be predicted is 4 horizontal pixels × 4 vertical pixels according to Embodiment 1. In addition, the maximum size of the blocks to be predicted is 32 horizontal pixels × 32 vertical pixels according to Embodiment 1.
[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 form 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 device 100 inversely quantizes the quantized coefficients to output frequency coefficients, and transforms the frequency coefficients from the frequency domain to the image domain to generate a reconstructed difference block (step S105).
[0053] Узел 106 сложения в устройстве 100 кодирования изображений складывает блок предсказания с восстановленным разностным блоком, чтобы сформировать восстановленный блок (этап S106).[0053] The addition 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 section 107 in the image encoding device 100 performs the SAO process (step S107). The SAO processing section 107 first determines the SAO parameters to be used for the SAO process. In Embodiment 1, the SAO parameters are sao_offset indicating an SAO offset value and sao_type_idx indicating a category of the SAO offset value. The SAO processing section 107 adds the SAO offset value to a pixel value of each pixel included in the reconstructed block, and stores the reconstructed block to which the SAO offset values are added in the frame memory 108. In the SAO process, each of the pixels included in the reconstructed block is classified into categories, and an SAO offset value is output for each of those categories. There are numerous methods for classifying pixels. Thus, the sao_type_idx parameter indicating the category of the SAO offset value is used.
[0055] Узел 110 кодирования параметров SAO в устройстве 100 кодирования изображений выполняет кодирование переменной длины над параметром SAO и добавляет этот параметр в поток двоичных сигналов, выводимый из узла 104 кодирования переменной длины (этап S108). Подробности узла 110 кодирования параметров SAO будут описываться позже.[0055] The SAO parameter encoding unit 110 in the image encoding device 100 performs variable length encoding on the SAO parameter and adds the parameter to the binary signal stream output from the variable length encoding unit 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 binary signal stream (step S109).
[0057] Устройство 100 кодирования изображений повторно выполняет Этапы S102 - S109 до тех пор, пока не завершится кодирование всех блоков входного изображения, которые должны предсказываться (этап S110).[0057] The image encoding device 100 repeatedly performs Steps S102 to S109 until encoding of all blocks of the input image to be predicted is completed (Step S110).
[0058] <1-2-1. Операции узла кодирования параметров SAO>[0058] <1-2-1. SAO Parameter Coding Node Operations>
Операции узла 110 кодирования параметров SAO в соответствии с Вариантом 1 осуществления будут описываться со ссылкой на фиг. 5.The 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 flow chart indicating exemplary processes of the SAO parameter encoding unit 110, and describes in detail 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. sao_offset encoding node operations>
Операции узла 112 кодирования sao_offset в соответствии с Вариантом 1 осуществления будут описываться со ссылкой на фиг. 6A. Фиг. 6A - блок-схема алгоритма, указывающая примерные процессы в узле 112 кодирования sao_offset.The operations of the sao_offset encoding unit 112 according to Embodiment 1 will be described with reference to Fig. 6A. Fig. 6A is a flow chart indicating exemplary processes in the 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 into a bin string (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 rows. As can be seen from Fig. 7, the number of consecutive "1"s from the beginning of each bin row is equal to the value indicated by the non-binary signal. In addition, "0" is added to the end when the non-binary signal is between 0 and 6. When the non-binary signal is 7, that is, the maximum number, no "0" is added to the end. Here, binIdx is an index of a bin (one digit) included in the bin row. The first value of binIdx is 0, and subsequent values are increased by 1. The bin row is output to the arithmetic coding switching unit 114 sequentially from the bin whose binIdx is 0.
[0065] Узел 114 переключения арифметического кодирования в узле 112 кодирования sao_offset определяет значение binIdx (этапы S122, S124 и S126).[0065] The arithmetic coding switching unit 114 in the sao_offset coding 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 the 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 the 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 coding switching unit 114 outputs the bin to the bypass arithmetic coding unit 117. The bypass arithmetic coding unit 117 performs bypass arithmetic coding (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 according to 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 the 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 device 100 according to Embodiment 1 can accelerate the processing by performing bypass arithmetic encoding on the bins in the second half of sao_offset. More specifically, according to Embodiment 1, not context arithmetic encoding but bypass arithmetic encoding is performed on the bins whose binIdx is 2 or higher. As described above, the bypass arithmetic encoding does not require loading and updating any context. In this way, arithmetic encoding on the SAO offset value of the block to be predicted can be started without waiting for the completion of arithmetic encoding on another SAO offset value, and the 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 probabilities of occurrence of symbols (probabilities of occurrence of 1) of binIdx 1 through 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 binIdx after binIdx1 (when sao_offset is 1 or higher), the cases are often divided into the case where binIdx1 is 0 without any binIdx2 and after (sao_offset is 1), and the case where all binIdx 1 through 6 are 1 (sao_offset is 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 probability of character occurrence of 50%, the encoding efficiency is almost not deteriorated. In particular, the experiment showed that sao_offset often indicates an intermediate value (from 2 to 6), and the probabilities of character occurrence of binIdx 1 to 6 are close to 50%. Therefore, the processing for suppressing the decrease in encoding efficiency can be accelerated by using not context arithmetic coding but bypass arithmetic coding on binIdx after binIdx2.
[0074] <1-3-1. Разновидности>[0074] <1-3-1. Varieties>
Хотя обходное арифметическое кодирование выполняется над бинами после binIdx2 в соответствии с Вариантом 1 осуществления, обработка этим не ограничивается.Although bypass arithmetic coding is performed on the bins after binIdx2 according to 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 bins included in binIdx and the arithmetic coding to be applied. In Fig. 8, "Embodiment 1" indicates the correspondence between the bins described in Embodiment 1 and the arithmetic coding to be applied. In addition, "Context 0" indicates context arithmetic coding using context 0. "Context 1" indicates context arithmetic coding using context 1. "Bypass" indicates bypass arithmetic coding.
[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] "Variation 1" in Fig. 8 indicates Variation 1. According to Variation 1, context arithmetic coding is performed on the bin in binIdx0, and bypass arithmetic coding is performed on the bins after binIdx1. In addition, according to Variation 1, the sao_offset coding unit 112 in Fig. 2 should include only the sao_offset binarization unit 113, the arithmetic coding switch unit 114, the context 0 arithmetic coding unit 115, and the bypass arithmetic coding unit 117. In other words, the sao_offset coding unit 112 should not include the context 1 arithmetic coding unit 116.
[0077] "Изменение 2" на фиг. 8 указывает Разновидность 2. В Разновидности 2 обходное арифметическое кодирование выполняется над каждым из бинов в binIdx, как показано на фиг. 8.[0077] "Variation 2" in Fig. 8 indicates Variation 2. In Variation 2, bypass arithmetic coding 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 flow chart indicating exemplary processes (image encoding method) in the sao_offset encoding unit 112 according to Varieties 2. In Fig. 6B, the sao_offset is converted into a binary form (step S121 for converting the offset value into a bin string), and bypass arithmetic encoding is performed on all bins included in the sao_offset (steps S126 and S127 for performing the bypass arithmetic encoding). Since the bypass arithmetic encoding is performed on all bins, the processing can be the fastest in Varieties 2.
[0079] Кроме того, в соответствии с Разновидностью 2 узел 112 кодирования sao_offset на фиг. 2 должен включать в себя только узел 113 преобразования sao_offset в двоичную форму и узел 117 обходного арифметического кодирования. Другими словами, узел 112 кодирования sao_offset не должен включать в себя узел 115 арифметического кодирования контекста 0 и узел 116 арифметического кодирования контекста 1.[0079] In addition, according to Variation 2, the sao_offset encoding unit 112 in Fig. 2 should include only the sao_offset binarization unit 113 and the bypass arithmetic encoding unit 117. In other words, the sao_offset encoding unit 112 should 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 coding on binIdx 0 through 2 and bypass arithmetic coding 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 the coding efficiency according to Embodiment 1 and Variation 1.
[0082] Фиг. 9 показывает результат сравнения между эффективностью кодирования, полученной путем выполнения арифметического кодирования над значением смещения SAO в соответствии с текущим стандартом HEVC (NPL 1), и эффективностью кодирования в соответствии с Вариантом 1 осуществления и Разновидностью 1. Условия эксперимента придерживаются общих условий эксперимента в структуре стандарта HEVC.[0082] Fig. 9 shows the result of a comparison between the coding efficiency obtained by performing arithmetic coding on the SAO offset value according to the current HEVC standard (NPL 1) and the coding efficiency according to Embodiment 1 and Varieties 1. The experimental conditions adhere to the general experimental conditions in the structure of the HEVC standard.
[0083] Чем больше значение, тем ниже эффективность кодирования. Отрицательное значение указывает повышение эффективности кодирования.[0083] The higher the value, the lower the coding efficiency. A negative value indicates an increase in coding 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 fluctuate between -0.1% and 0.1%. This indicates that the encoding efficiency for encoding binIdx2 - binIdx6 of the SAO offset value is almost the same between the context arithmetic coding and the bypass arithmetic coding.
[0085] Хотя эффективность кодирования у Разновидности 1 ниже, чем у Варианта 1 осуществления, как видно из "Изменения 1" на фиг. 9, результаты колеблются между 0 и 0,1%, и эффективность кодирования почти одинакова.[0085] Although the coding efficiency of Variation 1 is lower than that of Embodiment 1, as can be seen from “Change 1” in Fig. 9, the results fluctuate 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 can be seen from “Change 2” in Fig. 9, the results fluctuate between 0 and 0.1%, and the coding efficiency is almost the same.
[0087] В результате эксперимента по эффективности кодирования применение обходного арифметического кодирования при выполнении арифметического кодирования над значением смещения SAO дает возможность ускорения арифметического кодирования наряду с тем, что эффективность кодирования снижается с меньшей вероятностью.[0087] As a result of the experiment on coding efficiency, the use of bypass arithmetic coding when performing arithmetic coding on the SAO offset value makes it possible to speed up arithmetic coding while making the coding efficiency less likely to decrease.
[0088] (Вариант 2 осуществления)[0088] (Implementation option 2)
Устройство декодирования изображений и способ декодирования изображений в соответствии с Вариантом 2 осуществления будут описываться со ссылкой на фиг. 10-15A.An image decoding device and an image decoding method according to Embodiment 2 will be described with reference to Figs. 10-15A.
[0089] <2-1. Конфигурация устройства>[0089] <2-1. Device Configuration>
Устройство декодирования изображений в соответствии с Вариантом 2 осуществления будет описываться со ссылкой на фиг. 10. Фиг. 10 - блок-схема, иллюстрирующая конфигурацию устройства 200 декодирования изображений в соответствии со стандартом HEVC в соответствии с Вариантом 2 осуществления.An image decoding device 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 device 200 according to the HEVC standard according to Embodiment 2.
[0090] Устройство 200 декодирования изображений является устройством, которое декодирует входной поток двоичных сигналов (кодированный поток двоичных сигналов), чтобы сформировать декодированное изображение ("Изображение" на фиг. 10).[0090] The image decoding device 200 is a device that decodes an input binary signal stream (coded binary signal 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 device 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 unit 201 performs entropy decoding (variable length decoding) on the binary signal stream input to the image decoding device 200 to obtain quantized coefficients and various information necessary for decoding (partition 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 transform the quantized coefficients output from the variable length decoding unit 201 into frequency coefficients and performs inverse transform to transform 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 unit 210 decodes various parameters to be used in the SAO process from a binary signal stream. Embodiment 2 specifies sao_offset indicating an SAO offset value and sao_type_idx indicating a category of an SAO offset value as 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 an SAO parameter decoding unit 210. As illustrated in Fig. 11, the SAO parameter decoding unit 210 includes a sao_type_idx decoding unit 211 that performs arithmetic decoding on sao_type_idx, and a sao_offset decoding unit 212 that 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 the 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 an inverse sao_offset conversion 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 method of arithmetic decoding to be applied to the binary signal stream. The context 0 arithmetic decoding unit 214 performs arithmetic decoding of context 0 using the first context (context 0). The context 1 arithmetic decoding unit 215 performs arithmetic decoding of context 1 using the second context (context 1). The bypass arithmetic decoding unit 216 performs bypass arithmetic decoding using a constant probability. The inverse sao_offset conversion node 217 from binary form inversely converts from binary form 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 addition unit 203 to add an SAO offset value to a 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 reconstruct 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 a memory device such as a random access memory (RAM) and a read-only memory (ROM).
[0102] Узел 207 предсказания формирует блок предсказания посредством внешнего предсказания или внутреннего предсказания. Способ предсказания, который должен быть применен узлом 207 предсказания, является таким же, как в узле 109 предсказания.[0102] The prediction unit 207 generates a prediction block by means of inter prediction or intra prediction. The prediction method to be applied by the prediction unit 207 is the same as that in the prediction unit 109.
[0103] <2-2 Общие операции>[0103] <2-2 General Operations>
Далее со ссылкой на фиг. 13 будут описываться операции устройства 200 декодирования изображений. Фиг. 13 - блок-схема алгоритма, указывающая процедуру в устройстве 200 декодирования изображений.Next, operations of the image decoding device 200 will be described with reference to Fig. 13. Fig. 13 is a flow chart indicating a procedure in the image decoding device 200.
[0104] Узел 210 декодирования параметров SAO в устройстве 200 декодирования изображений выполняет декодирование переменной длины над параметром SAO (этап S201).[0104] The SAO parameter decoding unit 210 in the image decoding device 200 performs variable length decoding on the SAO parameter (step S201).
[0105] Узел 201 декодирования переменной длины в устройстве 200 декодирования изображений выполняет декодирование переменной длины над потоком двоичных сигналов, чтобы получить квантованные коэффициенты, и выводит квантованные коэффициенты в узел 202 обратного преобразования (этап S202).[0105] The variable length decoding unit 201 in the image decoding device 200 performs variable length decoding on the binary signal stream to obtain quantized coefficients, and outputs the quantized coefficients to the inverse transform unit 202 (step S202).
[0106] Узел 202 обратного преобразования в устройстве 200 декодирования изображений выполняет обратное квантование над квантованными коэффициентами, чтобы получить частотные коэффициенты, и выполняет обратное преобразование над полученными частотными коэффициентами, чтобы сформировать разностный блок (этап S203).[0106] The inverse transform unit 202 in the image decoding device 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 addition unit 203 in the image decoding device 200 adds the prediction block output from the prediction unit 207 with the difference block output from the inverse transform unit 202 to generate 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 device 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 an SAO parameter and adds an offset value corresponding to each of the categories to the pixel. The SAO parameters include a sao_type_idx parameter indicating the category and a sao_offset parameter indicating the offset value.
[0109] Устройство 200 декодирования изображений повторяет процессы с Этапа 201 по Этап 205 до тех пор, пока не завершится декодирование всех блоков, включенных в кодированное изображение (этап S206).[0109] The image decoding device 200 repeats the processes from Step 201 to Step 205 until decoding of all blocks included in the coded image is completed (step S206).
[0110] Узел 205 объединения декодированных блоков в устройстве 200 декодирования изображений объединяет декодированные блоки, чтобы сформировать декодированное изображение, и сохраняет декодированное изображение в памяти 206 кадров.[0110] The decoded block combining unit 205 in the image decoding device 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. SAO Parameter Variable Length Decoding Node Operations>
Операции узла 210 декодирования параметров SAO в соответствии с Вариантом 2 осуществления будут описываться со ссылкой на фиг. 14.The operations of the SAO parameter decoding unit 210 according to Embodiment 2 will be described with reference to Fig. 14.
[0112] Фиг. 14 - блок-схема алгоритма, указывающая примерные процессы узла 210 декодирования параметров SAO, и подробно описывает Этап S205 из фиг. 13.[0112] Fig. 14 is a flow chart indicating exemplary processes of the SAO parameter decoding unit 210 and describes in detail Step S205 of Fig. 13.
[0113] Узел 211 декодирования sao_type_idx в узле 210 декодирования параметров SAO декодирует sao_type_idx (этап S211).[0113] The sao_type_idx decoding unit 211 in the SAO parameter decoding unit 210 decodes the sao_type_idx (step S211).
[0114] Узел 212 декодирования sao_offset в узле 210 декодирования параметров SAO декодирует sao_offset (этап S212).[0114] The sao_offset decoding unit 212 in the SAO parameter decoding unit 210 decodes the sao_offset (step S212).
[0115] <2-2-2. Операции узла 212 декодирования sao_offset>[0115] <2-2-2. Operations of node 212 decoding sao_offset>
Операции узла 212 декодирования sao_offset в соответствии с Вариантом 2 осуществления будут описываться со ссылкой на фиг. 15A. Фиг. 15A - блок-схема алгоритма, указывающая примерные процессы в узле 212 декодирования sao_offset.The operations of the sao_offset decoding unit 212 according to Embodiment 2 will be described with reference to Fig. 15A. Fig. 15A is a flow chart indicating exemplary processes in the 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 value of binIdx 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 unit 213 outputs a bin to be decoded to the context 0 arithmetic decoding unit 214. The context 0 arithmetic decoding unit 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 a bin to be decoded to the context 1 arithmetic decoding unit 215. The context 1 arithmetic decoding unit 215 performs context arithmetic decoding 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 unit 213 outputs the bin to be decoded to the bypass arithmetic decoding unit 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 unit 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 the bin whose binIdx is 6 is decoded (step S226).
[0121] Узел 212 декодирования sao_offset преобразует строку бинов, включающую в себя бины, декодированные узлом 217 обратного преобразования sao_offset из двоичной формы, в недвоичный сигнал (этап S227). Соответствие между недвоичными сигналами и строками бинов является таким же, как показано на фиг. 7 в соответствии с Вариантом 1 осуществления.[0121] The sao_offset decoding unit 212 converts a bin string including the bins decoded by the sao_offset inverse transform unit 217 from binary form into a non-binary signal (step S227). The correspondence between the non-binary signals and the bin strings is the same as shown in Fig. 7 according to Embodiment 1.
[0122] <2-3. Преимущества и т.п.>[0122] <2-3. Advantages, etc.>
Устройство 200 декодирования изображений в соответствии с Вариантом 2 осуществления может ускорить обработку путем выполнения обходного арифметического декодирования над бинами во второй половине sao_offset.The image decoding device 200 according to Embodiment 2 can accelerate the processing by performing bypass arithmetic decoding on the bins in the second half of sao_offset.
[0123] <2-3-1. Разновидности>[0123] <2-3-1. Varieties>
Хотя обходное арифметическое декодирование выполняется над бинами после binIdx2 в соответствии с Вариантом 2 осуществления, обработка этим не ограничивается. Таким же способом, как в Варианте 1 осуществления, обходное арифметическое декодирование может выполняться над бинами после binIdx1 (Разновидность 1) и над всеми бинами (Разновидность 2).Although the bypass arithmetic decoding is performed on the bins after binIdx2 according to Embodiment 2, the processing is not limited to this. In the same manner as in Embodiment 1, the bypass arithmetic decoding can be performed on the 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 Varieties 1 of Embodiment 2, context arithmetic decoding is performed on the bin at binIdx0, and bypass arithmetic decoding is performed on the bins after binIdx1. This process is a decoding process corresponding to the encoding process of Varieties 1 of Embodiment 1 of Fig. 8. Since the sao_offset decoding unit 212 of Fig. 12 of Varieties 1 performs bypass arithmetic decoding on the bins after binIdx1, it needs to include only the arithmetic decoding switching unit 213, the context 0 arithmetic decoding unit 214, the bypass arithmetic decoding unit 216, and the sao_offset inverse binary transform unit 217. In other words, the sao_offset decoding unit 212 according to Variation 1 of Embodiment 2 does not have to include the context 1 arithmetic decoding unit 215.
[0125] В соответствии с Разновидностью 2 Варианта 2 осуществления узел 212 декодирования sao_offset выполняет обходное арифметическое декодирование над каждым из бинов в binIdx. Этот процесс является процессом декодирования, соответствующим процессу кодирования из Разновидности 2 Варианта 1 осуществления на фиг. 8.[0125] According to Variation 2 of Embodiment 2, the sao_offset decoding unit 212 performs bypass arithmetic decoding on each of the bins in binIdx. This process is a decoding process corresponding to the encoding process of Variation 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 flow chart indicating exemplary processes (image decoding method) in the sao_offset decoding unit 212 according to Varieties 2 of Embodiment 2. In Fig. 15B, bypass arithmetic decoding is performed on all bins included in the sao_offset (steps S225 and S226 for performing the bypass arithmetic decoding), and the decoded sao_offset is converted back from binary form (step S227 for converting a bin string into an offset value). Since the bypass arithmetic decoding is performed on all bins, the processing can be the fastest in Varieties 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 unit 212 in Fig. 12 according to Varieties 2 in this document performs bypass arithmetic decoding on all bins, it needs to include only the bypass arithmetic decoding unit 216 and the sao_offset inverse conversion unit 217 from the binary form. In other words, the sao_offset decoding unit 212 according to Varieties 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 through 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 Varieties) use sao_type_idx indicating a category of an SAO offset value and sao_offset indicating an SAO offset value as SAO parameters, the SAO parameters are not limited to this. The SAO parameters may include, for example, a parameter that should be auxiliary information for classifying pixels.
[0130] (2) Кроме того, хотя в соответствии с Вариантом 1 осуществления (включая Разновидности) параметр SAO кодируется на каждый блок, который должен предсказываться, кодирование этим не ограничивается. Параметр SAO может кодироваться не на каждый блок, который должен предсказываться, а на единицу меньше блока, который должен предсказываться, или наоборот на единицу, полученную путем объединения блоков, которые должны предсказываться. Кроме того, параметр SAO не кодируется в блоке, который должны предсказываться, а вместо этого можно скопировать и использовать значение другого блока.[0130] (2) In addition, although according to Embodiment 1 (including Varieties), the SAO parameter is encoded per block to be predicted, the encoding is not limited to this. The SAO parameter may not be encoded per block to be predicted, but rather per unit less than the block to be predicted, or vice versa per unit obtained by combining the blocks to be predicted. In addition, the SAO parameter is not encoded in the block to be predicted, but instead the value of another block may be copied and used.
[0131] Здесь устройство 200 декодирования изображений в соответствии с Вариантом 2 осуществления (включая Разновидности) декодирует кодированный параметр SAO в соответствии с размером кодирования параметра SAO в устройстве 100 кодирования изображений.[0131] Here, the image decoding device 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 device 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 according to Embodiments 1 and 2 (including Varieties), sao_offset is not limited to this. It may take values of 8 or higher. In addition, 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) Furthermore, although Embodiment 1 (including Varieties) describes encoding of sao_offset, the processing is not limited thereto. The method for encoding the SAO parameter according to Embodiment 1 (including Varieties) can be applied to encoding other syntax that is to be added to the bit stream. Furthermore, when the method for encoding the SAO parameter according to Embodiment 1 and Varieties 1 thereof is applied to encoding syntaxes, and the use of the 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 configuration of the device 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 according to Embodiment 1 and Variations 1 and 2 thereof is applied include ref_idx indicating a reference image index, merge_idx indicating a copy source of a motion vector, etc., and mpm_idx or intra_chroma_pred_mode indicating an intra prediction mode in accordance with the current HEVC standard (NPL 1).
[0135] Здесь устройство 200 декодирования изображений в соответствии с Вариантом 2 осуществления (включая Разновидности) также декодирует синтаксис, кодированный с использованием способа для кодирования параметра SAO, используя способ для декодирования параметра SAO.[0135] Here, the image decoding device 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 the 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 Varieties) 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) In addition, the processing according to Embodiments 1 and 2 (including Varieties) can be implemented by software. The software can be distributed by, for example, downloading. In addition, the software can be distributed by recording it on recording media such as a CD-ROM. This is also true for the 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 in most cases by, for example, an MPU and a memory. In addition, processing by each of the functional blocks can usually 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 by, for example, loading and recording on recording media such as a CD-ROM. Each of the functional blocks can be implemented by hardware (dedicated circuit).
[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 a plurality of devices. Here, a program may be executed by one or more computers. In other words, any of centralized processing and decentralized processing may be performed.
[0140] (9) Кроме того, каждый из составляющих элементов в соответствии с Вариантами 1 и 2 осуществления (включая Разновидности) может быть реализован с помощью специализированных аппаратных средств или с помощью исполнения компьютерной программы, подходящей для составляющего элемента. Каждый из составляющих элементов может быть реализован с помощью узла исполнения программ, например центрального процессора (CPU) и процессора, считывающего и исполняющего компьютерную программу, записанную на носителе записи, таком как жесткий диск или полупроводниковое запоминающее устройство.[0140] (9) Furthermore, each of the constituent elements according to Embodiments 1 and 2 (including Varieties) may be realized by specialized hardware or by executing a computer program suitable for the constituent element. Each of the constituent elements may be realized 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 memory device.
[0141] В частности, каждое из устройства 100 кодирования изображений и устройства 200 декодирования изображений включает в себя схему управления и запоминающее устройство, электрически подключенное к схеме управления (допускающее обращение из схемы управления). Схема управления включает в себя по меньшей мере одно из специализированных аппаратных средств и узла исполнения программ. Когда схема управления включает в себя узел исполнения программ, запоминающее устройство хранит компьютерную программу, исполняемую узлом исполнения программ.[0141] In particular, each of the image encoding device 100 and the image decoding device 200 includes a control circuit and a storage device 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 Variations), and various modifications are possible and included within the scope of the present invention.
[0143] (Вариант 3 осуществления)[0143] (Implementation option 3)
Независимая компьютерная система может без труда выполнять обработку, описанную в каждом из Вариантов осуществления, путем записи на некий носитель записи программы для реализации структуры способа кодирования кинофильма (способа кодирования изображений) или способа декодирования кинофильма (способа декодирования изображений) в соответствии с Вариантом осуществления. Носитель записи может быть любым при условии, что на него может быть записана программа, например магнитным диском, оптическим диском, магнитооптическим диском, платой ИС и полупроводниковым запоминающим устройством.An independent computer system can easily perform the processing described in each of Embodiments by recording a program for implementing the structure of the movie encoding method (image encoding method) or the movie decoding method (image decoding method) according to Embodiment on a recording medium. The recording medium may be any as long as the program can be recorded on it, such as a magnetic disk, an optical disk, a magneto-optical disk, an integrated circuit board, and a semiconductor memory 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 the image encoding method, and an image encoding and decoding device including an image decoding device using the image decoding method. Other configurations of the system can be changed appropriately depending on the case.
[0145] Фиг. 16 иллюстрирует общую конфигурацию системы ex100 предоставления контента для реализации услуг распространения контента. Область для предоставления услуг связи делится на соты нужного размера, и в каждой из сот размещаются базовые станции ex106-ex110, которые являются стационарными беспроводными станциями.[0145] Fig. 16 illustrates a general configuration of a content providing system ex100 for implementing content distribution services. An area for providing communication services is divided into cells of a desired size, and base stations ex106-ex110, which are fixed wireless stations, are located in each of the cells.
[0146] Система ex100 предоставления контента подключается к устройствам, например компьютеру ex111, персональному цифровому помощнику (PDA) ex112, камере ex113, сотовому телефону ex114 и игровому устройству ex115, через Интернет ex101, поставщика ex102 услуг Интернета, телефонную сеть ex104, а также базовые станции ex106-ex110.[0146] The content providing system ex100 is connected to devices such as a computer ex111, a personal digital assistant (PDA) ex112, a camera ex113, a cellular telephone ex114, and a gaming device ex115 via the Internet ex101, an Internet service provider ex102, a telephone network ex104, and base 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 may be connected to the telephone network ex104 directly, rather than via the base stations ex106 to ex110, which are fixed wireless stations. In addition, the devices may be interconnected with each other by short-range wireless 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 shooting moving images. The camera ex116, such as a digital video camera, is capable of shooting both still images and moving images. In addition, the cellular telephone ex114 may be a telephone that complies with any of standards such as Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (W-CDMA), Long Term Evolution (LTE), and High Speed Packet Access (HSPA). Alternatively, the cellular telephone ex114 may be a Personal Handheld Telephone System (PHS).
[0149] В системе ex100 предоставления контента сервер ex103 потоковой передачи подключается к камере ex113 и другим через телефонную сеть ex104 и базовую станцию ex109, что дает возможность распространения передачи в прямом эфире и прочих. Для такого распространения контент (например, видеоизображение музыкальной передачи в прямом эфире), снятый пользователем с использованием камеры ex113, кодируется как описано выше в каждом из Вариантов осуществления, и кодированный контент передается на сервер ex103 потоковой передачи. С другой стороны, сервер ex103 потоковой передачи осуществляет потоковое распространение данных принятого контента клиентам по их запросам. Клиенты включают в себя компьютер ex111, PDA ex112, камеру ex113, сотовый телефон ex114 и игровое устройство ex115, которые допускают декодирование вышеупомянутых кодированных данных. Каждое из устройств, которое приняло распространенные данные, декодирует и воспроизводит кодированные данные (то есть функционирует в качестве устройства декодирования изображений в соответствии с аспектом настоящего изобретения).[0149] In the content providing system ex100, the streaming server ex103 is connected to the camera ex113 and others via the telephone network ex104 and the base station ex109, which enables distribution of a live broadcast and others. For such distribution, the content (for example, a video image of a live music broadcast) shot by a user using the camera ex113 is encoded as described above in each of Embodiments, and the encoded content is transmitted to the streaming server ex103. On the other hand, the streaming server ex103 streams distribution of the received content data to the clients upon their requests. The clients include a computer ex111, a PDA ex112, a camera ex113, a cellular phone ex114 and a gaming 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 (that is, functions as an image decoding device according to 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 the camera ex113 or the streaming server ex103 that transmits the data, or the encoding processes may be distributed between the camera ex113 and the streaming server ex103. Similarly, the distributed data may be decoded by the clients or the streaming server ex103, or the decoding processes may be distributed between the clients and the streaming server ex103. Furthermore, the still image data and the moving image data captured not only by the camera ex113 but also by the camera ex116 may be transmitted to the streaming server ex103 via the computer ex111. The encoding processes may be performed by the camera ex116, the computer ex111, or the streaming server ex103, or distributed between them.
[0151] Кроме того, обычно компьютер ex111 и LSI ex500, включенные в каждое из устройств, выполняют такие процессы кодирования и декодирования. LSI ex500 может конфигурироваться из одиночной микросхемы или множества микросхем. Программное обеспечение для кодирования и декодирования кинофильма может встраиваться в некоторый тип носителя записи (например, CD-ROM, гибкий диск, жесткий диск), который считывается компьютером ex111 и другими, и процессы кодирования и декодирования могут выполняться с использованием этого программного обеспечения. Кроме того, когда сотовый телефон ex114 оборудован камерой, можно передавать видеоданные, полученные камерой. Видеоданные являются данными, кодированными LSI ex500, включенной в сотовый телефон ex114.[0151] Furthermore, typically, the computer ex111 and the LSI ex500 included in each of the devices perform such encoding and decoding processes. The LSI ex500 may be configured from a single chip or a plurality of chips. Software for encoding and decoding a movie may be built into some type of recording medium (for example, a CD-ROM, a floppy disk, a hard disk) that is readable by the computer ex111 and others, and the encoding and decoding processes can be performed using this software. Furthermore, when the cellular phone ex114 is equipped with a camera, it is possible to transmit video data acquired by the camera. The video data is data encoded by the LSI ex500 included in the cellular phone ex114.
[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, the clients can receive and reproduce the encoded data in the content providing system ex100. In other words, the clients can receive and decode the information transmitted by the user and reproduce the decoded data in real time in the content providing system ex100, so that the 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 one of the movie encoding device (image encoding device) or the movie decoding device (image decoding device) described in each of Embodiments can be included in the digital broadcasting system ex200 shown in Fig. 17. More specifically, the broadcasting station ex201 communicates or transmits, via radio waves, to the broadcasting satellite ex202, multiplexed data obtained by multiplexing video data with audio data. The video data is data encoded according to the movie encoding method described in each of Embodiments (that is, data encoded by the image encoding device according to an aspect of the present invention). When receiving the video data, the broadcasting satellite ex202 transmits radio waves for broadcasting. Then, a consumer antenna ex204 capable of receiving satellite broadcasts receives the radio waves. A device such as a television ex300 (receiver) and a set-top box ex217 (STB) decodes the received multiplexed data and reproduces the data (that is, functions as an image decoding device according to an aspect of the present invention).
[0155] Кроме того, считывающее/записывающее устройство ex218, которое (i) считывает и декодирует мультиплексированные данные, записанные на носителях ex215 записи, например DVD и BD, либо (ii) кодирует видеосигналы на носителе ex215 записи и в некоторых случаях записывает данные, полученные путем мультиплексирования аудиосигнала на кодированные данные, может включать в себя устройство декодирования кинофильма или устройство кодирования кинофильма, которые показаны в каждом из Вариантов осуществления. В этом случае воспроизводимые видеосигналы отображаются на мониторе ex219, и другое устройство или система могут воспроизводить видеосигналы, используя носитель ex215 записи, на котором записаны мультиплексированные данные. Кроме того, возможно реализовать устройство декодирования кинофильма в телевизионной приставке ex217, подключенной к кабелю ex203 для кабельного телевидения или к антенне ex204 для спутникового и/или наземного вещания, чтобы отобразить видеосигналы на мониторе ex219 телевизора ex300. Устройство декодирования кинофильма может включаться не в телевизионную приставку, а в телевизор ex300.[0155] Furthermore, the reader/writer ex218 that (i) reads and decodes multiplexed data recorded on the recording medium ex215 such as a DVD and a BD, or (ii) encodes video signals on the recording medium ex215 and, in some cases, records data obtained by multiplexing an audio signal onto the encoded data, may include a movie decoding device or a movie encoding device, which are shown in each of Embodiments. In this case, the reproduced video signals are displayed on the monitor ex219, and another device or system can reproduce the video signals using the recording medium ex215 on which the multiplexed data is recorded. In addition, it is 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, in order to display video signals on a monitor ex219 of a television ex300. The movie decoding device may be included in the television ex300 rather than in the set-top box.
[0156] Фиг. 18 иллюстрирует телевизор (приемник) ex300, который использует способ кодирования кинофильма и способ декодирования кинофильма, описанные в каждом из Вариантов осуществления. Телевизор ex300 включает в себя: тюнер ex301, который получает или предоставляет мультиплексированные данные, полученные путем мультиплексирования аудиоданных и видеоданных, через антенну ex204 или кабель ex203 и т.д., который принимает трансляцию; узел ex302 модуляции/демодуляции, который демодулирует принятые мультиплексированные данные или модулирует данные в мультиплексированные данные для поставки их наружу узла; и узел ex303 мультиплексирования/демультиплексирования, который демультиплексирует модулированные мультиплексированные данные на видеоданные и аудиоданные либо мультиплексирует видеоданные и аудиоданные, кодированные узлом ex306 обработки сигналов, в данные.[0156] Fig. 18 illustrates a television (receiver) ex300 that uses the movie encoding method and the movie decoding method described in each of Embodiments. The television ex300 includes: a tuner ex301 that receives or supplies multiplexed data obtained by multiplexing audio data and video data via an antenna ex204 or a cable ex203, etc. that receives a 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] Furthermore, the television ex300 further includes: a signal processing unit ex306 including an audio signal processing unit ex304 and a video signal processing unit ex305 that decodes audio data and video data and codes the audio data and video data, respectively (which function as an image coding device or an image decoding device according to an aspect of the present invention); a speaker ex307 that provides the decoded audio signal; and an output unit ex309 including a display unit ex308 that displays the decoded video signal, such as a display. Furthermore, the television ex300 includes an interface unit ex317 including an operation input unit ex312 that receives an input of a user action. Furthermore, the television ex300 includes a control unit ex310 that controls each constituent element of the television ex300 in general, and a power supply circuit ex311 that supplies power to each of the elements. In addition to the operation input unit ex312, the interface unit ex317 may include: a bridge ex313 that is connected to an external device such as a reader/writer ex218; a connector ex314 for enabling connection of a recording medium ex216 such as an SD card; a drive ex315 that is to be connected to an external recording medium such as a hard disk; and a modem ex316 that is to be connected to a telephone network. Here, the recording medium ex216 can electrically record information using a non-volatile/volatile semiconductor memory element for storage. The constituent elements of the television ex300 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 will be described in which the television ex300 decodes multiplexed data received from the outside via the antenna ex204 and the like and reproduces the decoded data. In the television ex300, as a result of receiving a user action from the remote control ex220 and the like, a multiplexing/demultiplexing unit ex303 demultiplexes the multiplexed data demodulated by the modulation/demodulation unit ex302, under the control of a control unit ex310 including a CPU. Furthermore, in the television ex300, an audio signal processing unit ex304 decodes the demultiplexed audio data, and a video signal processing unit ex305 decodes the demultiplexed video data, using the decoding method described in each of Embodiments. An output unit ex309 supplies the decoded video signal and the audio signal to the outside. When the output unit ex309 supplies a video signal and an audio signal, the signals can be temporarily stored in the buffers ex318 and ex319 and others so that the signals are reproduced in synchronism with each other. Furthermore, the television ex300 can read the multiplexed data not by broadcasting and the like, but from the recording media ex215 and ex216, such as a magnetic disk, an optical disk and an SD card. Next, a configuration will be described in which the television ex300 encodes an audio signal and a video signal and transmits the data to the outside or records the data on the recording medium. In the television ex300, as a result of receiving an operation of a user from a 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 supplies the resulting signal to the outside. When the multiplexing/demultiplexing unit ex303 multiplexes a video signal and an audio signal, the signals may be temporarily stored in the buffers ex320 and ex321 and others so that the signals are reproduced in synchronization with each other. Here, the buffers ex318 to ex321 may be multiple as illustrated, or at least one buffer may be shared in the television ex300. Furthermore, data may be stored in a buffer other than the buffers ex318 to ex321 so that overflow and underflow of the system can be avoided between the modulation/demodulation unit ex302 and the multiplexing/demultiplexing unit ex303, for example.
[0159] Кроме того, телевизор ex300 может включать в себя конфигурацию для приема аудиовизуальных входных данных от микрофона или камеры, помимо конфигурации для получения аудиоданных и видеоданных из трансляции или с носителя записи, и может кодировать полученные данные. Хотя в описании телевизор ex300 может кодировать, мультиплексировать и предоставлять наружу данные, он может не допускать выполнения всех процессов, а допускать только одно из приема, декодирования и предоставления данных наружу.[0159] In addition, the television ex300 may include a configuration for receiving audio-visual input data from a microphone or a camera, in addition to a configuration for obtaining audio data and video data from a broadcast or a recording medium, and may encode the obtained data. Although in the description, the television ex300 may encode, multiplex, and provide data to the outside, it may not be capable of performing all the processes, but only capable of receiving, decoding, and providing data to the outside.
[0160] Кроме того, когда считывающее/записывающее устройство ex218 считывает или записывает мультиплексированные данные с носителя записи или на него, одно из телевизора ex300 и считывающего/записывающего устройства ex218 может декодировать или кодировать мультиплексированные данные, и телевизор ex300 и считывающее/записывающее устройство ex218 могут распределять декодирование или кодирование.[0160] Furthermore, when the reader/writer ex218 reads or writes multiplexed data from or to the recording medium, one of the television ex300 and the reader/writer ex218 can decode or encode the multiplexed data, and the television ex300 and the reader/writer ex218 can distribute the 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 a configuration of an information reproducing/recording unit ex400 when data is read from or written to an optical disc. The information reproducing/recording unit ex400 includes constituent elements ex401 to ex407 that will be described later. An optical pickup ex401 irradiates a laser spot onto a recording surface of a recording medium ex215 that is an optical disc to record information, and detects reflected light from the recording surface of the recording medium ex215 to read information. A modulation recording unit ex402 electrically controls a semiconductor laser included in the optical pickup ex401 and modulates the laser emission in accordance with the recorded data. A playback demodulation unit ex403 amplifies a playback signal obtained by electrically detecting reflected light from a recording surface using a photodetector included in the optical head ex401, and demodulates the playback signal by separating a signal component recorded on the recording medium ex215 to reproduce necessary information. A buffer ex404 temporarily stores information to be written on the recording medium ex215 and information reproduced from the recording medium ex215. A disc motor ex405 rotates the recording medium ex215. A servo control unit ex406 moves the optical head ex401 on a predetermined information track while controlling the rotation of the disc motor ex405 to follow a laser spot. A system control unit ex407 controls the information playback/recording unit ex400 as a whole. The reading and writing processes can be implemented by a system control unit ex407 that uses various information stored in a 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 reproduce information by means of an optical head ex401 while being controlled in a coordinated manner. The system control unit 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 ex401 optical head 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 that is an optical disc. On the recording surface of the recording medium ex215, guide grooves are formed in a spiral, and an information track ex230 records in advance address information indicating an absolute position on the disc according to a change in the shape of the guide grooves. The address information includes information for specifying the positions of recording blocks ex231 that are a unit for recording data. A device that records and reproduces data reproduces the information track ex230 and reads the address information to determine the positions of the recording blocks. Furthermore, 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 for use in recording user data. An inner circumferential area ex232 and an outer circumferential area ex234 that are located inside and outside the data recording area ex233, respectively, are for special use other than recording user data. The information reproducing/recording unit ex400 reads and writes coded audio data, coded video data, or multiplexed data obtained by multiplexing coded audio data and coded video data from and onto the data recording area ex233 in the recording medium ex215.
[0164] Хотя в описании в качестве примера описывается оптический диск, содержащий слой, например DVD и BD, оптический диск не ограничивается таковым и может быть оптическим диском, имеющим многослойную структуру и допускающим запись на части, отличные от поверхности. Кроме того, оптический диск может иметь структуру для многомерной записи/воспроизведения, например, записи информации с использованием света с цветами разных длин волн в одной и той же части оптического диска и записи информации, имеющей разные слои, с различных углов.[0164] Although the description describes an optical disc having a layer such as a DVD and a BD as an example, the optical disc is not limited to this and may be an optical disc having a multilayer structure and capable of recording on parts other than the surface. In addition, the optical disc may have a structure for multidimensional 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] Furthermore, in the digital broadcasting system ex200, the automobile ex210 having the antenna ex205 can receive data from the satellite ex202 and others and reproduce a video image on a display device such as the automobile navigation system ex211 installed in the automobile ex210. Here, the configuration of the automobile navigation system ex211 will be a configuration including, for example, a GPS receiving unit in the configuration illustrated in Fig. 18. The same will be true for the configuration of the computer ex111, the cellular phone ex114 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 Embodiments. The cellular phone ex114 includes: an antenna ex350 for transmitting and receiving radio waves by a base station ex110; a camera ex365 capable of shooting moving and still images; and a display unit ex358 such as a liquid crystal display for displaying data such as a decoded video image shot by the camera ex365 or received by the antenna ex350. The cellular phone ex114 further includes: a body including a set of control buttons ex366; an audio output unit ex357 such as a speaker for outputting audio; an audio input unit ex356 such as a microphone for inputting audio; a storage device ex367 for storing captured video or still images, recorded audio, encoded or decoded data of received video, still images, emails or the like; and a connector ex364 that is an interface unit for a recording medium that stores data in the same manner as the storage device ex367.
[0167] Далее пример конфигурации сотового телефона ex114 будет описываться со ссылкой на фиг. 21B. В сотовом телефоне ex114 главный узел ex360 управления, выполненный с возможностью управления в целом каждым узлом корпуса, включающего узел ex358 отображения, а также кнопки ex366 управления, взаимно подключается через синхронную шину ex370 к схеме ex361 питания, узлу ex362 управления вводом операции, узлу ex355 обработки видеосигнала, интерфейсному узлу ex363 камеры, узлу ex359 управления жидкокристаллическим дисплеем (LCD), узлу ex352 модуляции/демодуляции, узлу ex353 мультиплексирования/демультиплексирования, узлу ex354 обработки аудиосигнала, разъему ex364 и запоминающему устройству ex367.[0167] Next, an example of a configuration of a cellular phone ex114 will be described with reference to Fig. 21B. In the cellular phone ex114, a main control unit ex360 configured to control as a whole each unit of a housing including a display unit ex358 and control buttons ex366 is mutually connected via a synchronous bus ex370 to a power supply circuit ex361, an operation input control unit ex362, a video signal processing unit ex355, a camera interface unit ex363, a liquid crystal display (LCD) driving unit ex359, a modulation/demodulation unit ex352, a multiplexing/demultiplexing unit ex353, an audio signal processing unit ex354, a connector ex364, and a memory ex367.
[0168] Когда клавиша завершения вызова или клавиша питания нажимается в результате действия пользователя, схема ex361 питания снабжает соответствующие узлы энергией от аккумуляторной батареи, чтобы активизировать сотовый телефон ex114.[0168] When a call end key or a power key is pressed as a result of a user operation, the power supply circuit ex361 supplies the corresponding nodes with power from the battery to activate the cellular telephone ex114.
[0169] В сотовом телефоне ex114 узел ex354 обработки аудиосигнала преобразует аудиосигналы, собранные узлом ex356 ввода аудио в режиме преобразования речи, в цифровые аудиосигналы под управлением главного узла ex360 управления, включающего CPU, ROM и RAM. Затем узел ex352 модуляции/демодуляции выполняет обработку по расширению спектра над цифровыми аудиосигналами, а узел ex351 передачи и приема выполняет цифро-аналоговое преобразование и преобразование частоты над данными, чтобы передать результирующие данные через антенну ex350. Затем узел ex352 модуляции/демодуляции выполняет обработку по обратному расширению спектра над данными, а узел ex354 обработки аудиосигнала преобразует их в аналоговые аудиосигналы, чтобы вывести их через узел ex357 вывода аудио.[0169] In the cellular phone ex114, the audio signal 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 a CPU, a ROM and a RAM. Then, the modulation/demodulation unit ex352 performs spread spectrum processing on the digital audio signals, and the transmission and reception unit ex351 performs digital-to-analog conversion and frequency conversion on the data to transmit the resulting data via the antenna ex350. Then, the modulation/demodulation unit ex352 performs inverse spread spectrum processing on the data, and the audio signal processing unit ex354 converts them into analog audio signals to output them via the audio output unit ex357.
[0170] Кроме того, когда передается электронная почта в режиме передачи данных, текстовые данные электронной почты, введенные путем воздействия на кнопки ex366 управления и прочие в корпусе, отправляются главному узлу ex360 управления через узел ex362 управления вводом операции. Главный узел ex360 управления побуждает узел ex352 модуляции/демодуляции выполнить обработку по расширению спектра над текстовыми данными, а узел ex351 передачи и приема выполняет цифро-аналоговое преобразование и преобразование частоты над результирующими данными, чтобы передать данные базовой станции ex110 через антенну ex350. Когда принимается электронная почта, над принятыми данными выполняется обработка, которая приблизительно обратна обработке для передачи электронной почты, и результирующие данные предоставляются узлу ex358 отображения.[0170] Furthermore, when an e-mail is transmitted in the data communication mode, text data of the e-mail inputted by operating the operation buttons ex366 and others in the body is sent to the master control unit ex360 via the operation input control unit ex362. The master control unit ex360 causes the modulation/demodulation unit ex352 to perform spread spectrum processing on the text data, and the transmission and reception unit ex351 performs digital-to-analog conversion and frequency conversion on the resulting data, so as to transmit the data to the base station ex110 via the antenna ex350. When an e-mail is received, processing that is approximately the inverse of the processing for transmitting the e-mail is performed on the received data, and the resulting data is provided to the display unit ex358.
[0171] Когда передаются видеоизображение, неподвижные изображения или видеоизображение и аудио в режиме передачи данных, узел ex355 обработки видеосигнала (функционирующий как устройство кодирования изображений в соответствии с аспектом настоящего изобретения) сжимает и кодирует видеосигналы, поступившие от камеры ex365, используя способ кодирования кинофильма, показанный в каждом из Вариантов осуществления, и передает кодированные видеоданные узлу ex353 мультиплексирования/демультиплексирования. В отличие от этого, во время того, когда камера ex365 снимает видеоизображение, неподвижные изображения и другие, узел ex354 обработки аудиосигнала кодирует аудиосигналы, собранные узлом ex356 ввода звука, и передает кодированные аудиоданные узлу ex353 мультиплексирования/демультиплексирования.[0171] When a video image, still images, or a video image and audio are transmitted in a data transmission mode, the video signal processing unit ex355 (functioning as an image encoding device according to an aspect of the present invention) compresses and encodes video signals input from the camera ex365 using the movie encoding method shown in each of Embodiments, and transmits the encoded video data to the multiplexing/demultiplexing unit ex353. In contrast, when the camera ex365 shoots video images, still images, and others, the audio signal processing unit ex354 encodes audio signals collected by the audio input unit ex356 and transmits the encoded audio data to the multiplexing/demultiplexing unit ex353.
[0172] Узел ex353 мультиплексирования/демультиплексирования мультиплексирует кодированные видеоданные, поступившие от узла ex355 обработки видеосигнала, и кодированные аудиоданные, поступившие от узла ex354 обработки аудиосигнала, используя заранее установленный способ. Затем узел ex352 модуляции/демодуляции выполняет обработку по расширению спектра над мультиплексированными данными, а узел ex351 передачи и приема выполняет цифро-аналоговое преобразование и преобразование частоты над данными, чтобы передать результирующие данные через антенну ex350.[0172] The multiplexing/demultiplexing unit ex353 multiplexes the encoded video data supplied from the video signal processing unit ex355 and the encoded audio data supplied from the audio signal processing unit ex354 using a predetermined method. Then, the modulation/demodulation unit ex352 performs spread spectrum processing on the multiplexed data, and the transmission and reception unit ex351 performs digital-to-analog conversion and frequency conversion on the data to transmit the resulting data via the antenna ex350.
[0173] При приеме данных видеофайла, который связан с веб-страницей и другими в режиме передачи данных, или при приеме электронной почты с прикрепленным видеоизображением и/или аудио, чтобы декодировать мультиплексированные данные, принятые через антенну ex350, узел ex353 мультиплексирования/демультиплексирования демультиплексирует мультиплексированные данные в поток двоичных сигналов видеоданных и поток двоичных сигналов аудиоданных, и снабжает узел ex355 обработки видеосигнала кодированными видеоданными, а узел ex354 обработки аудиосигнала - кодированными аудиоданными посредством синхронной шины ex370. Узел ex355 обработки видеосигнала (функционирующий в качестве устройства декодирования изображений в соответствии с аспектом настоящего изобретения) декодирует видеосигнал с использованием способа декодирования кинофильма, соответствующего способу кодирования кинофильма, показанному в каждом из Вариантов осуществления, а затем узел ex358 отображения отображает, например, видеоизображение и неподвижные изображения, включенные в видеофайл, связанный с веб-страницей, посредством узла ex359 управления LCD. Кроме того, узел ex354 обработки аудиосигнала декодирует аудиосигнал, и узел ex357 вывода аудио предоставляет аудио.[0173] When receiving data of a video file that is linked to a web page and others in a data transfer mode, or when receiving an e-mail with an attached video image and/or audio, in order to decode the multiplexed data received via the antenna ex350, the multiplexing/demultiplexing unit ex353 demultiplexes the multiplexed data into a video data bitstream and an audio data bitstream, and supplies the video signal processing unit ex355 with the encoded video data and the audio signal processing unit ex354 with the encoded audio data via the synchronous bus ex370. The video signal processing unit ex355 (functioning as an image decoding device according to an aspect of the present invention) decodes a video signal using a movie decoding method corresponding to the movie encoding method shown in each of Embodiments, and then the display unit ex358 displays, for example, a video image and still images included in a video file linked to a web page, via the LCD control unit ex359. Furthermore, the audio signal processing unit ex354 decodes an audio signal, and the audio output unit ex357 provides audio.
[0174] Кроме того, аналогично телевизору ex300, терминал, например сотовый телефон ex114, возможно имеет 3 типа конфигураций исполнения, включающих не только (i) передающий и приемный терминал, включающий в себя устройство кодирования и устройство декодирования, но также и (ii) передающий терминал, включающий в себя только устройство кодирования, и (iii) приемный терминал, включающий в себя только устройство декодирования. Хотя в описании система ex200 цифрового вещания принимает и передает мультиплексированные данные, полученные путем мультиплексирования видеоданных аудиоданными, мультиплексированные данные могут быть данными, полученными путем мультиплексирования видеоданных не аудиоданными, а символьными данными, имеющими отношение к видеоизображению, и могут быть не мультиплексированными данными, а самими видеоданными.[0174] Furthermore, similar to the television ex300, a terminal such as the cellular telephone ex114 may have 3 types of configurations including not only (i) a transmission and a reception terminal including an encoding device and a decoding device, but also (ii) a transmission terminal including only an encoding device, and (iii) a reception terminal including only a decoding device. Although in the description, the digital broadcasting system ex200 receives and transmits multiplexed data obtained by multiplexing video data with audio data, the multiplexed data may be data obtained by multiplexing video data with not audio data but character data related to a video image, and may not be multiplexed data but video data itself.
[0175] По существу, способ кодирования кинофильма или способ декодирования кинофильма в каждом из Вариантов осуществления может использоваться на любом из описанных устройств и систем. Таким образом, можно получить преимущества, описанные в каждом из Вариантов осуществления.[0175] In essence, the method for encoding a movie or the method for decoding a movie 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] Furthermore, the present invention is not limited to the Embodiments, and various modifications and changes are possible without departing from the scope of the present invention.
[0177] (Вариант 4 осуществления)[0177] (Implementation option 4)
Видеоданные могут формироваться путем переключения, по необходимости, между (i) способом кодирования кинофильма или устройством кодирования кинофильма, показанными в каждом из Вариантов осуществления, и (ii) способом кодирования кинофильма или устройством кодирования кинофильма в соответствии с другим стандартом, например MPEG-2, MPEG4-AVC и VC-1.The video data may be generated by switching, as necessary, between (i) the movie encoding method or movie encoding device shown in each of the Embodiments and (ii) the movie encoding method or movie encoding device according to another standard, such as MPEG-2, MPEG4-AVC and VC-1.
[0178] Здесь, когда формируется множество видеоданных, которые соответствуют разным стандартам, а затем декодируется, нужно выбирать способы декодирования, которые соответствуют разным стандартам. Однако, поскольку нельзя определить то, какому стандарту соответствуют каждые из множества видеоданных, которые будут декодироваться, существует проблема, что нельзя выбрать подходящий способ декодирования.[0178] Here, when a plurality of video data that conforms to different standards is generated and then decoded, it is necessary to select decoding methods that conform to different standards. However, since it is impossible to determine which standard each of the plurality of video data to be decoded conforms to, there is a problem that an appropriate decoding method cannot be selected.
[0179] Чтобы решить эту проблему, мультиплексированные данные, полученные путем мультиплексирования видеоданных аудиоданными и другими, имеют структуру, включающую в себя идентификационную информацию, указывающую, какому стандарту соответствуют видеоданные. Ниже будет описываться конкретная структура мультиплексированных данных, включающих видеоданные, сформированные по способу кодирования кинофильма или с помощью устройства кодирования кинофильма, показанных в каждом из Вариантов осуществления. Мультиплексированные данные являются цифровым потоком в формате транспортного потока MPEG-2.[0179] In order 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. A specific structure of multiplexed data including video data generated by a movie encoding method or by a movie encoding device shown in each of Embodiments will be described below. The multiplexed data is a digital stream in the 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, the multiplexed data can be obtained by multiplexing at least one of a video stream, an audio stream, a display graphics (PG) stream, and an interactive graphics stream. The video stream represents a primary video image and a secondary video image of a movie, the audio stream represents a primary audio portion and a secondary audio portion to be mixed with the primary audio portion, and the display graphics stream represents 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 in a smaller window in the main video image. In addition, the interactive graphics stream represents an interactive screen to be formed by placing GUI components on the screen. The video stream is encoded by a movie encoding method or by a movie encoding device shown in each of the Embodiments, or by a movie encoding method or by a movie encoding device in accordance with a conventional standard, such as MPEG-2, MPEG4-AVC and VC-1. The audio stream is encoded in accordance with 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, 0×1011 is assigned to a video stream to be used for the movie video, 0×1100-0×111F are assigned to audio streams, 0×1200-0×121F are assigned to demonstration graphics streams, 0×1400-0×141F are assigned to interactive graphics streams, 0×1B00-0×1B1F are assigned to video streams to be used for the secondary video of the movie, and 0×1A00-0×1A1F are assigned to audio streams to 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, a video stream ex235 composed of video frames and an audio stream ex238 composed of audio frames are converted into a stream of PES packets ex236 and a stream of PES packets ex239, and further into TS packets ex237 and TS packets ex240, respectively. Similarly, data from a demonstration graphic stream ex241 and data from an interactive graphic stream ex244 are converted into a stream of PES packets ex242 and a stream of PES packets ex245, and further into TS packets ex243 and TS packets ex246, respectively. These TS packets are multiplexed into a stream to obtain multiplexed data ex247.
[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 a video stream is stored in a PES packet stream. The first stripe in Fig. 24 shows a stream of video frames in the video stream. The second stripe shows a stream of PES packets. As indicated by the arrows labeled yy1, yy2, yy3 and yy4 in Fig. 24, the video stream is divided into pictures in the form of I-pictures, B-pictures and P-pictures, each of which is a unit of video presentation, 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 Timestamp (PTS) indicating the display time of the picture and a Decoding Timestamp (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 the TS packets that are ultimately to be written into the 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 for identifying a stream and a 184-byte TS payload for storing data. PES packets are separated and stored in the TS payloads. When a BD ROM is used, each of the TS packets is given a 4-byte TP_Extra_Header, respectively resulting in 192-byte source packets. The source packets are written into the multiplexed data. The 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 should be passed to the PID filter. The numbers increasing from the start of the multiplexed data are called source packet numbers (SPNs), as shown in the lower part 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 what 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 PIDs of the video, audio, subtitle and other streams included in the multiplexed data, and information about the attributes of the streams corresponding to the PIDs. 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. PCR stores STC timing information corresponding to ATS indicating when the PCR packet is transmitted to the decoder in order to achieve synchronization between the Arrival Timer (ATC), which is the time axis of ATS, and the System Timer (STC), which is the time axis of PTS and DTS.
[0186] Фиг. 26 подробно иллюстрирует структуру данных PMT. Заголовок PMT располагается в начале PMT. Заголовок PMT описывает длину данных, включенных в PMT, и прочее. После заголовка PMT располагается множество дескрипторов, относящихся к мультиплексированным данным. В дескрипторах описывается информация, например информация управления копированием. После дескрипторов располагается множество порций информации о потоке, относящихся к потокам, включенным в мультиплексированные данные. Каждая порция информации о потоке включает в себя дескрипторы потока, описывающие информацию, например тип потока для идентификации кодека сжатия потока, PID потока и информацию об атрибутах потока (например, частоту кадров или соотношение сторон). Дескрипторы потока по числу равны количеству потоков в мультиплексированных данных.[0186] Fig. 26 illustrates the data structure of the PMT in detail. A PMT header is located at the beginning of the PMT. The PMT header describes the length of the data included in the PMT, etc. After the PMT header, there are a plurality of descriptors related to the multiplexed data. The descriptors describe information such as copy control information. After the descriptors, there are a plurality of pieces of stream information related to the streams included in the multiplexed data. Each piece of stream information includes stream descriptors that describe information such as a stream type for identifying a stream compression codec, a stream PID, and stream attribute information (such as a frame rate or an aspect ratio). The 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 etc., it is recorded together with multiplexed data information files.
[0188] Каждый из информационных файлов мультиплексированных данных является управляющей информацией о мультиплексированных данных, как показано на фиг. 27. Информационные файлы мультиплексированных данных находятся в однозначном соответствии с мультиплексированными данными, и каждый из файлов включает в себя информацию о мультиплексированных данных, информацию об атрибутах потока и карту входов.[0188] Each of the multiplexed data information files is control information about the multiplexed data, 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 information about the multiplexed data, information about stream attributes, and an input map.
[0189] Как проиллюстрировано на фиг. 27, информация о мультиплексированных данных включает в себя системную скорость, время начала воспроизведения и время окончания воспроизведения. Системная скорость указывает максимальную скорость передачи, с которой конечный декодер системы, который будет описан позже, передает мультиплексированные данные в фильтр PID. Интервалы ATS, включенных в мультиплексированные данные, устанавливаются не выше системной скорости. Время начала воспроизведения указывает PTS в видеокадре в начале мультиплексированных данных. Интервал в один кадр добавляется к PTS в видеокадре в конце мультиплексированных данных, и PTS устанавливается во время окончания воспроизведения.[0189] As illustrated in Fig. 27, the information about the multiplexed data includes a system rate, a playback start time, and a playback end time. The system rate indicates the maximum transmission rate at which the final decoder of the system, which will be described later, transmits the multiplexed data to the PID filter. The intervals of the ATS included in the multiplexed data are set to be no higher than the system rate. The playback start time indicates a PTS in a video frame at the beginning of the multiplexed data. An interval of one frame is added to the PTS in a video frame at the end of the multiplexed data, and the PTS is set at the playback end time.
[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 display 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 a resolution, an aspect ratio, and a frame rate of 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 frequency is. The video stream attribute information and the audio stream attribute information are used to initialize the decoder before the player reproduces 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. Furthermore, when the multiplexed data is recorded on the recording medium, video stream attribute information included in the multiplexed data information is used. More specifically, the movie encoding method or the movie encoding device described in each of Embodiments includes a step or a unit for assigning unique information indicating video data generated by the movie encoding method or the movie encoding device in each of Embodiments to a stream type included in the PMT or the video stream attribute information. With this structure, the video data generated by the movie encoding method or the movie encoding device described in each of 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] Furthermore, Fig. 29 illustrates the steps of the movie decoding method according to Embodiment 4. In step exS100, a stream type included in the PMT or attribute information of the video stream is obtained from the multiplexed data. Next, in step exS101, it is determined whether the stream type or the attribute information of the video stream indicates that the multiplexed data is generated by the movie encoding method or by the movie encoding device in each of Embodiments. When it is determined that the stream type or the attribute information of the video stream indicates that the multiplexed data is generated by the movie encoding method or by the movie encoding device in each of Embodiments, then in step exS102, the stream type or the attribute information of the video stream is decoded by the movie decoding method in each of Embodiments. In addition, when the stream type or the attribute information of the video stream indicates conformity with conventional standards such as MPEG-2, MPEG4-AVC and VC-1, in step exS103, the stream type or the attribute information of the video stream is decoded according to the movie decoding method in accordance with conventional standards.
[0193] По существу, назначение нового уникального значения типу потока или информации об атрибутах видеопотока дает возможность определения, могут ли способ декодирования кинофильма или устройство декодирования кинофильма, которые описаны в каждом из Вариантов осуществления, выполнять декодирование. Даже при вводе мультиплексированных данных, которые соответствуют другому стандарту, можно выбрать подходящий способ или устройство декодирования. Таким образом, становится возможным декодировать информацию без какой-либо ошибки. Кроме того, способ или устройство кодирования кинофильма либо способ или устройство декодирования кинофильма в Варианте 4 осуществления могут использоваться в устройствах и системах, описанных выше.[0193] As such, assigning a new unique value to the stream type or the video stream attribute information makes it possible to determine whether the movie decoding method or the movie decoding device described in each of Embodiments can perform decoding. Even when multiplexed data that conforms to a different standard is input, an appropriate decoding method or device can be selected. In this way, it becomes possible to decode the information without any error. Furthermore, the movie encoding method or device or the movie decoding method or device in Embodiment 4 can be used in the devices and systems described above.
[0194] (Вариант 5 осуществления)[0194] (Implementation option 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, the movie encoding device, the movie decoding method and the movie decoding device in each of the embodiments is usually implemented as an integrated circuit or a Large Scale Integrated Circuit (LSI). As an example of an LSI, Fig. 30 illustrates a configuration of an LSI ex500 that is made into a single chip. The LSI ex500 includes elements ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 and ex509 that will be described later, and these elements are connected to each other by a bus ex510. The power supply circuit ex505 is activated by supplying power to each of the elements when the power supply 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, the LSI ex500 receives an audio-visual signal from the microphone ex117, the camera ex113, and others through the audio-visual input/output ex509 under the control of the control unit ex501 including the CPU ex502, the memory controller ex503, the stream controller ex504, and the driving frequency adjustment unit ex512. The received audio-visual signal is temporarily stored in an external memory ex511 such as an SDRAM. Under the control of the control unit ex501, the stored data is segmented into data portions according to the volume and processing speed to be supplied to the signal processing unit ex507. Then, the signal processing unit ex507 encodes the audio signal and/or the video signal. Here, the encoding of the video signal is the encoding described in each of Embodiments. Furthermore, the signal processing unit ex507 sometimes multiplexes the encoded audio data and the encoded video data, and the stream input/output ex506 supplies the multiplexed data to the outside. The provided multiplexed data is transmitted to the base station ex107 or recorded on the recording media ex215. When sets of data are multiplexed, the sets of data should be temporarily stored in the buffer ex508 so that the sets of data are synchronized with each other.
[0196] Хотя запоминающее устройство ex511 является элементом вне LSI ex500, оно может включаться в LSI ex500. Буфер ex508 не ограничивается одним буфером, а может состоять из буферов. Кроме того, LSI ex500 можно превратить в одну микросхему или множество микросхем.[0196] Although the memory device ex511 is an element outside the LSI ex500, it can be included in the LSI ex500. The buffer ex508 is not limited to one buffer, but can be composed of buffers. In addition, the LSI ex500 can be made into one chip or a plurality of chips.
[0197] Кроме того, хотя узел ex501 управления включает в себя CPU ex502, контроллер ex503 памяти, контроллер ex504 потока, узел ex512 регулировки частоты возбуждения, конфигурация узла ex501 управления не ограничивается таковой. Например, узел ex507 обработки сигналов может дополнительно включать в себя CPU. Включение другого CPU в узел ex507 обработки сигналов может повысить скорость обработки. Кроме того, в качестве другого примера CPU ex502 может включать в себя узел ex507 обработки сигналов или узел обработки аудиосигнала, который является частью узла ex507 обработки сигналов. В таком случае узел ex501 управления включает в себя узел ex507 обработки сигналов или CPU ex502, включающий в себя часть узла ex507 обработки сигналов.[0197] Furthermore, although the control unit ex501 includes a CPU ex502, a memory controller ex503, a flow controller ex504, a driving frequency adjustment unit ex512, the configuration of the control unit ex501 is not limited to this. For example, the signal processing unit ex507 may further include a CPU. Including another CPU in the signal processing unit ex507 can improve the processing speed. Furthermore, as another example, the CPU ex502 may include a signal processing unit ex507 or an audio signal processing unit that is a part of the signal processing unit ex507. In such a case, the control unit ex501 includes the signal processing unit ex507 or a CPU ex502 including a part 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, the methods for achieving integration are not limited to the LSI, and a dedicated circuit or a general-purpose processor, etc. can also achieve integration. For the same purpose, a field-programmable gate array (FPGA) that can be programmed after the production of the LSI, or a reconfigurable processor that allows reconfiguration of the connection or configuration of the LSI can be used. The programmable logic device can generally perform the movie encoding method and the movie decoding method according to the Embodiments and Variations by loading or reading from a memory a program included in software or firmware.
[0200] В будущем, с развитием полупроводниковой технологии совершенно новая технология может заменить LSI. Функциональные блоки можно интегрировать с использованием такой технологии. Есть вероятность, что настоящее изобретение применяется к биотехнологии.[0200] In the future, with the development of semiconductor technology, a completely new technology may replace LSI. Functional blocks can be integrated using such technology. There is a possibility that the present invention is applied to biotechnology.
[0201] (Вариант 6 осуществления)[0201] (Implementation option 6)
Когда декодируются видеоданные, сформированные по способу кодирования кинофильма или с помощью устройства кодирования кинофильма, описанных в каждом из Вариантов осуществления, по сравнению со случаем декодирования видеоданных, которые соответствуют традиционному стандарту, например MPEG-2, MPEG4-AVC и VC-1, объем вычислений скорее всего увеличивается. Таким образом, LSI ex500 нужно настраивать на частоту возбуждения выше, чем у CPU ex502, который должен использоваться, когда декодируются видеоданные в соответствии с традиционным стандартом. Однако, когда частота возбуждения устанавливается выше, имеется проблема, что увеличивается энергопотребление.When video data generated by the motion picture encoding method or by the motion picture encoding device described in each of Embodiments is decoded, compared with the case of decoding video data that conforms to a conventional standard such as MPEG-2, MPEG4-AVC, and VC-1, the amount of calculation is likely to increase. Therefore, the LSI ex500 needs to be set to a drive frequency higher than that of the CPU ex502 to be used when video data conforming to the conventional standard is decoded. However, when the drive 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] In order to solve this problem, a movie decoding device, such as a television ex300 and an LSI ex500, is configured to determine which standard the video data conforms to and switch between driving frequencies according to the determined standard. Fig. 31 illustrates a configuration of ex800 in Embodiment 6. A driving frequency switching unit ex803 sets a driving frequency to a higher driving frequency when the video data is generated by the movie encoding method or by the movie encoding device described in each of Embodiments. Then, the driving frequency switching unit ex803 instructs a decoding processing unit ex801 that executes the movie decoding method described in each of Embodiments to decode the video data. When the video data conforms to a conventional standard, the driving frequency switching unit ex803 sets a driving frequency to a lower driving frequency than that of the video data generated by the movie encoding method or by the movie encoding device described in each of Embodiments. Then, the driving frequency switching unit ex803 instructs the decoding processing unit ex802 that 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 specifically, the driving frequency switching unit ex803 includes a CPU ex502 and a driving frequency adjustment unit ex512 in Fig. 30. Here, each of the decoding processing unit ex801 that performs the movie decoding method described in each of Embodiments and the decoding processing unit ex802 that conforms to a conventional standard corresponds to the signal processing unit ex507 in Fig. 30. The CPU ex502 determines which standard the video data conforms to. Then, the driving frequency adjustment unit ex512 determines the driving frequency based on the signal from the CPU ex502. Furthermore, the signal processing unit ex507 decodes the video data based on the signal from the CPU ex502. For example, the identification information described in Embodiment 4 is likely to be used to identify the 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 what standard the video data conforms to. For example, when it is possible to determine what standard the video data conforms to based on an external signal for determining that the video data is used for television or a disc, etc., the determination can be made based on such an external signal. Furthermore, the CPU ex502 selects a driving frequency based on, for example, a look-up table in which the standards of the video data are associated with driving frequencies, as shown in Fig. 33. The driving frequency can be selected by storing the look-up table in the buffer ex508 and the internal memory LSI, and by referring to the look-up table by the CPU ex502.
[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 executing 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, the CPU ex502 determines whether video data is generated based on the identification information by the encoding method and the encoding device described in each of Embodiments. When the video data is generated by the encoding method or the encoding device described in each of Embodiments, in step exS202, the CPU ex502 supplies to the driving frequency adjustment unit ex512 a signal for setting the driving frequency to a higher driving frequency. Then, the driving frequency adjustment unit ex512 sets the driving frequency to the higher driving frequency. On the other hand, when the identification information indicates that the video data conforms to a conventional standard such as MPEG-2, MPEG4-AVC and VC-1, in step exS203, the CPU ex502 transmits to the driving frequency adjustment unit ex512 a signal for setting the driving frequency to a lower driving frequency. Then, the driving frequency adjustment unit ex512 sets the driving frequency to a lower driving frequency than in the case where the video data is generated by the encoding method or encoding device described in each of Embodiments.
[0205] Кроме того, вместе с переключением частот возбуждения можно усилить эффект экономии энергии путем изменения напряжения, которое должно быть подано на LSI ex500 или устройство, включающее в себя LSI ex500. Например, когда частота возбуждения устанавливается ниже, напряжение, которое должно быть подано на LSI ex500 или устройство, включающее в себя LSI ex500, скорее всего устанавливается в напряжение ниже, чем в случае, где частота возбуждения устанавливается выше.[0205] In addition, together with switching the excitation frequencies, it is possible to enhance the power saving effect by changing the voltage to be supplied to the LSI ex500 or the device including the LSI ex500. For example, when the excitation frequency is set lower, the voltage to be supplied to the LSI ex500 or the device including the LSI ex500 is likely to be set to a lower voltage than in the case where the excitation frequency is set higher.
[0206] Кроме того, в качестве способа для установки частоты возбуждения, когда объем вычислений для декодирования больше, частоту возбуждения можно установить выше, а когда объем вычислений для декодирования меньше, частоту возбуждения можно установить ниже. Таким образом, способ установки не ограничивается способами, описанными выше. Например, когда объем вычислений для декодирования видеоданных в соответствии с MPEG4-AVC больше объема вычислений для декодирования видеоданных, сформированных по способу кодирования кинофильма или с помощью устройства кодирования кинофильма, описанными в каждом из Вариантов осуществления, частота возбуждения скорее всего устанавливается в обратном порядке к описанной выше установке.[0206] Furthermore, 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. Thus, the setting method is not limited to the methods described above. For example, when the amount of calculation for decoding video data according to MPEG4-AVC is larger than the amount of calculation for decoding video data generated by the movie encoding method or by the movie encoding device described in each of Embodiments, the driving frequency is likely to be set in the reverse order of the setting described above.
[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] Furthermore, 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 the video data is generated by the movie encoding method or by the movie encoding device described in each of Embodiments, the voltage to be supplied to the LSI ex500 or the device including the LSI ex500 is likely to be set higher. When the identification information indicates that the video data conforms to a conventional standard such as MPEG-2, MPEG4-AVC and VC-1, the voltage to be supplied to the LSI ex500 or the device including the LSI ex500 is likely to be set lower. As another example, when the identification information indicates that the video data is generated by the movie encoding method or by the video encoding device described in each of Embodiments, the driving of the CPU ex502 is likely not to be suspended. When the identification information indicates that the video data conforms to a conventional standard such as MPEG-2, MPEG4-AVC, and VC-1, the driving of the CPU ex502 is likely to be suspended at a predetermined 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 device described in each of Embodiments, in a case where the CPU ex502 has excess processing capacity, the driving of the CPU ex502 is likely to be suspended at a predetermined time. In such a case, the suspension time is likely to be set shorter than in a case where the identification information indicates that the video data conforms to a conventional 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 battery life can be extended along with the power saving effect.
[0209](Вариант 7 осуществления)[0209](Implementation option 7)
Имеются случаи, где множество видеоданных, которые соответствуют разным стандартам, предоставляется устройствам и системам, например телевизору и сотовому телефону. Чтобы обеспечить возможность декодирования множества видеоданных, которые соответствуют разным стандартам, узел ex507 обработки сигналов в LSI ex500 должен соответствовать разным стандартам. Однако возникают проблемы увеличения масштаба схемы LSI ex500 и увеличения стоимости при отдельном использовании узлов ex507 обработки сигналов, которые соответствуют соответствующим стандартам.There are cases where a plurality of video data that conform to different standards is provided to devices and systems such as a television and a cellular phone. In order to be able to decode a plurality of video data that conform to different standards, the signal processing unit ex507 of the LSI ex500 must conform to different standards. However, there are problems of increasing the scale of the circuit of the LSI ex500 and increasing the cost when the signal processing units ex507 that conform to the respective standards are used separately.
[0210] Чтобы решить эти проблемы, представляется конфигурация, в которой узел декодирующей обработки для реализации способа декодирования кинофильма, описанного в каждом из Вариантов осуществления, и узел декодирующей обработки, который соответствует традиционному стандарту, например MPEG-2, MPEG4-AVC и VC-1, частично используются совместно. Ex900 на фиг. 34A показывает пример этой конфигурации. Например, способ декодирования кинофильма, описанный в каждом из Вариантов осуществления, и способ декодирования кинофильма, который соответствует MPEG4-AVC, имеют отчасти общие подробности обработки, например энтропийное кодирование, обратное квантование, фильтрацию уменьшения блочности и компенсацию движения. Подробности обработки, которые должны использоваться совместно, скорее всего включают в себя использование узла ex902 декодирующей обработки, который соответствует MPEG4-AVC. В отличие от этого специализированный узел ex901 декодирующей обработки, возможно, используется для другой обработки, которая уникальна для настоящего изобретения и не соответствует MPEG-4 AVC. Узел декодирующей обработки для реализации способа декодирования кинофильма, описанного в каждом из Вариантов осуществления, может совместно использоваться для обработки, которую нужно распределить, а специализированный узел декодирующей обработки может использоваться для обработки, уникальной для обработки в MPEG4-AVC.[0210] In order to solve these problems, a configuration is provided in which a decoding processing unit for implementing the movie decoding method described in each of Embodiments and a decoding processing unit that conforms to a conventional standard such as MPEG-2, MPEG4-AVC and VC-1 are partially shared. Ex900 in FIG. 34A shows an example of this configuration. For example, the movie decoding method described in each of Embodiments and the movie decoding method that conforms to MPEG4-AVC have partially common processing details such as entropy coding, inverse quantization, deblocking filtering and motion compensation. The processing details to be shared are likely to include using the decoding processing unit ex902 that conforms 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 does not conform to 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 the processing in MPEG4-AVC.
[0211] Кроме того, ex1000 на фиг. 34B показывает другой пример, в котором обработка частично распределяется. Этот пример использует конфигурацию, включающую специализированный узел ex1001 декодирующей обработки, который поддерживает обработку, уникальную для аспекта настоящего изобретения, специализированный узел ex1002 декодирующей обработки, который поддерживает обработку, уникальную для другого традиционного стандарта, и узел ex1003 декодирующей обработки, который поддерживает обработку, которую нужно распределить между способом декодирования кинофильма в аспекте настоящего изобретения и традиционным способом декодирования кинофильма. Здесь специализированные узлы ex1001 и ex1002 декодирующей обработки не обязательно являются специализированными для обработки по аспекту настоящего изобретения и обработки по традиционному стандарту, а могут быть узлами, допускающими реализацию общей обработки. Кроме того, конфигурация Варианта 7 осуществления может быть реализована с помощью LSI ex500.[0211] Furthermore, ex1000 in Fig. 34B shows another example in which the 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 dedicated decoding processing unit ex1002 that supports processing unique to another conventional standard, and a decoding processing unit ex1003 that supports processing to be distributed between the movie decoding method of the aspect of the present invention and the conventional movie decoding method. Here, the dedicated decoding processing units ex1001 and ex1002 are not necessarily dedicated to the processing of the aspect of the present invention and the processing of the conventional standard, but may be units capable of implementing common processing. Furthermore, the configuration of Embodiment 7 can be implemented using the LSI ex500.
[0212] По существу, уменьшение масштаба схемы LSI и сокращение затрат возможны путем совместного использования узла декодирующей обработки для обработки, которую нужно распределить между способом декодирования кинофильма в настоящем изобретении и способом декодирования кинофильма в соответствии с традиционным стандартом.[0212] In essence, the scale reduction of the LSI circuit and the cost reduction are possible by sharing the decoding processing unit for the processing that needs to be distributed 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 accelerating processing without reducing encoding efficiency and is applicable to various uses such as storing, transmitting and exchanging data. The present invention is applicable, for example, to information display devices and image capturing devices such as televisions, digital video recording devices, automobile navigation systems, mobile phones, digital still cameras and digital video cameras, and is very suitable for practical use.
[Список позиционных обозначений][List of positional designations]
[0214] 100 Устройство кодирования изображений[0214] 100 Image coding device
101 Узел разбиения на блоки101 Blocking Node
102 Узел вычитания102 Subtraction Node
103 Узел преобразования103 Conversion Node
104 Узел кодирования переменной длины104 Variable Length Coding Node
105, 202 Узел обратного преобразования105, 202 Inverse Transformation Node
106, 203 Узел сложения106, 203 Folding Knot
107, 204 Узел обработки SAO107, 204 SAO processing unit
108, 206 Память кадров108, 206 Frame memory
109, 207 Узел предсказания109, 207 Node of Prediction
110 Узел кодирования параметров SAO110 SAO Parameter Coding Node
111 Узел кодирования sao_type_idx111 Coding node sao_type_idx
112 Узел кодирования sao_offset112 Coding node sao_offset
113 Узел преобразования sao_offset в двоичную форму113 Node convert sao_offset to binary form
114 Узел переключения арифметического кодирования114 Arithmetic coding switching unit
115 Узел арифметического кодирования контекста 0115 Context Arithmetic Coding Node 0
116 Узел арифметического кодирования контекста 1116 Context Arithmetic Coding Node 1
117 Узел обходного арифметического кодирования117 Bypass arithmetic coding node
200 Устройство декодирования изображений200 Image decoding device
201 Узел декодирования переменной длины201 Variable Length Decoding Node
205 Узел объединения декодированных блоков205 Node 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 Arithmetic Decoding Node 1
216 Узел обходного арифметического декодирования216 Bypass arithmetic decoding node
217 Узел обратного преобразования sao_offset из двоичной формы217 Inverse conversion node sao_offset from binary form
Claims (10)
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 |
---|---|---|---|
RU2023116658A Division RU2812616C1 (en) | 2012-05-25 | 2023-06-26 | Image coding method, image decoding method, image coding device, image decoding device and image coding and decoding device |
Publications (1)
Publication Number | Publication Date |
---|---|
RU2824877C1 true RU2824877C1 (en) | 2024-08-15 |
Family
ID=
Citations (5)
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)
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 |
---|---|---|
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 | |
RU2625944C2 (en) | Image encoding method, image decoding method, image coding device, decoding device and image decoding device and image encoding | |
RU2609064C9 (en) | Image encoding method, image decoding method, image encoding device and image decoding device | |
KR101920519B1 (en) | Image encoding method, image decoding method, image encoding device, image decoding device, and image encoding/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 | |
RU2679984C2 (en) | Image encoding method, image encoding device, image decoding method, image decoding device and device for encoding and decoding images | |
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 | |
KR20140120253A (en) | Image coding method, image decoding method, image coding device, image decoding device, and image coding/decoding device | |
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 | |
RU2824877C1 (en) | Method of decoding images | |
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 |