Область техники, к которой относится изобретение
Настоящая технология относится к устройству декодирования и способу декодирования и, более конкретно, к устройству декодирования и способу декодирования, способным уменьшить объем информации, связанной с информацией, определяющей опорное изображение.
Уровень техники
С недавнего времени с информацией изображения обращаются как с цифровыми данными и для целей передачи и хранения информации, обладающей высокой эффективностью в этом случае как для передачи информации на широковещательных станциях и т.п., так и для приема информации в обычных помещениях широко используются устройства, соответствующие системе MPEG (Moving Picture Experts Group, экспертная группа по кинематографии) и т.п., выполняющей ортогональное преобразование, такое как дискретное косинусное преобразование, и сжатие, используя компенсацию движения, и применяют к информации изображения избыточность, являющуюся уникальной.
В частности, система MPEG2 (ISO/IEC 13818-2) определяется как универсальная система кодирования изображения и в настоящее время в большой спепени используется в широком диапазоне применений для профессионального и потребительского применения в качестве стандартов, охватывающих как чересстрочное сканируемое изображение и последовательно сканируемое изображение, так и изображение со стандартным разрешением и изображение высокой четкости. Используя систему MPEG2, например, назначаются объем кода (битовая скорость) 4-8 Мбит/с в случае чересстрочного сканируемого изображения со стандартным разрешением 720×480 пикселей и объем кода 18-22 Мбит/с в случае чересстрочного сканируемого изображения с высоким разрешением 1920×1088 пикселей, за счет чего могут быть реализованы высокая скорость сжатия и улучшенное качество изображения.
MPEG2 направлена на кодирование с высоким качеством изображения, которое пригодно, главным образом, для широкого вещания, но она не реагирует на систему кодирования с объемом кода (битовой скоростью) ниже, чем в MPEG1, другими словами, на систему кодирования с повышенным коэффициентом сжатия. В соответствии с растущей популярностью мобильных терминалов, предсказывают, что в будущем спрос на такую систему кодирования должен расти, и в ответ на это система кодирования MPEG4 была стандартизирована. Связанные с системой кодирования изображений технические требования MPEG4 были утверждены в декабре 1998 г, чтобы стать международным стандартом ISO/IEC 14496-2.
Кроме того, с недавнего времени для целей кодирования изображения, используемого для телевизионных конференций, проводится стандартизация H.26L (ITU-T Q6/16 VCEG). Хотя H.26L требует для кодирования и декодирования большего объема вычислений, чем традиционная система кодирования, такая как MPEG2 или MPEG4, известно, что реализуется более высокая эффективность кодирования.
Дополнительно, в настоящее время, как часть деятельности по MPEG4, в качестве объединенной модели (Joint Model) видеокодирования с улучшенным сжатием (Enhanced-Compression Video Coding) проводится стандартизация технических требований, основанных на H.26L, в том числе, функций, не поддерживаемых H.26L и реализующих более высокую эффективность кодирования. Эта стандартизация ведется интернационально, основываясь на титуле Н.264 и MPEG-4 Часть 10 (AVC (Advanced Video Coding)) в редакции от марта 2003 г.
Кроме того, в феврале 2005 г.была завершена стандартизация FRExt (Fidelity Range Extension, расширение диапазона точности), содержащая в качестве расширений инструмент кодирования, требующийся для бизнеса, под названием RGB, 4:2:2 или 4:4:4 и 8×8 DCT, и матрицу квантования, определенную в MPEG-2. Соответственно, AVC становится системой кодирования, способной представлять улучшенным способом шум пленки, содержащийся в кинофильме, а также системой, используемой для широкого диапазона применений, таких как диск Blu-Ray (зарегистрированная торговая марка).
Однако, в наше время возросла потребность в кодировании с повышенным коэффициентом сжатия, требующимся для сжатия изображения приблизительно 4000×2000 пикселей, что в четыре раза больше, чем у изображения с высоким разрешением, и для передачи изображения с высоким разрешением в среде с ограниченной пропускной способностью передачи, такой как Интернет. По этой причине в VCEG (Video Coding Expert Group, экспертная группа по видеокодированию) под руководством ITU-T непрерывно проводились исследования по повышению эффективности кодирования.
При этом в системе HEVC (High Efficiency Video Coding, высокоэффективного кодирования) кратковременная установка опорной картинки (здесь далее упоминаемая как RPS), используемая для распознавания информации, представляющей опорное изображение, который определяет опорное изображение в устройстве декодирования, включается в состав набора параметров последовательности SPS (Sequence Parameter Set) (смотрите, например, непатентный документ 1).
На фиг. 1 представлен пример синтаксиса RPS.
Как показано во второй строке на фиг. 1, в RPS содержится флаг inter_ref_pic_set_prediction_flag. Здесь флаг inter_ref_pic_set_prediction_flag является опорной информацией, представляющей, используется ли в качестве информации, определяющей опорное изображение текущего кодируемого изображения, информация, определяющая опорное изображение, которая определяет опорное изображение предшествующего изображения, являющегося изображением, предшествующим текущему кодируемому изображению в порядке кодирования внутри GOP (Group of Picture, группа кадров) текущего кодируемого изображения.
Здесь флаг" inter_ref_pic_set_prediction_flag равен "1" в случае, когда информация, определяющая опорное изображение, определяет опорное изображение предшествующего изображения и используется в качестве информации, определяющей опорное изображение для текущего кодируемого изображения, и равен «0» в случае, когда информация, определяющая опорное изображение, определяет опорное изображение предшествующего изображения, не используемое в качестве информации, определяющей опорное изображение для текущего кодируемого изображения.
В третьей и четвертой строках на фиг. 1, в случае, когда флаг inter_ref_pic_set_prediction_flag равен "1", информация delta_idx_minus1, которая является информацией, определяющей предшествующее изображение, вводится в RPS. Более конкретно, delta_idx_minus1 имеет значение, полученное путем вычитания из значения, полученного вычитанием номера кодирования предшествующего изображения из номера кодирования (порядка кодирования) текущего кодируемого изображения. Здесь, номер кодирования является числом, назначаемым каждому изображению внутри GOP, считая от меньшего значения в порядке кодирования.
Кроме того, как показано в строках 13-23 на фиг. 1, в случае, когда флаг inter_ref_pic_set_prediction_flag равен "0", информация, определяющая опорное изображение, вводится в RPS.
На фиг. 2 представлен пример флага inter_ref_pic_set_prediction_flag и delta_idx_minus1.
В примере, показанном на фиг. 2, информация, определяющая опорное изображение текущего кодируемого изображения, номер кодирования которого равен N, является той же самой, что и информация, определяющая опорное изображение для предшествующего изображения, номер кодирования которого равен "N-1", которое является предшествующим текущему кодируемому изображению в порядке кодирования.
В этом случае флаг inter_ref_pic_set_prediction_flag устанавливается равным "1", что соответствует информации, определяющей опорное изображение, которая используется в качестве информации, определяющей опорное изображение текущего кодируемого изображения. Кроме того, delta_idx_minus1 устанавливается равным "0", что получается вычитанием "N-1", который является номером кодирования предшествующего изображения, из N, который является номером кодирования текущего кодируемого изображения, и затем, из значения "1", полученного в результате вычитания, дополнительно вычитается единица.
Перечень литературы
Непатентный документ
Непатентный документ 1: Benjamin Brass, Woo-Jin Han, Jens-Rainer Ohm, Gary J. Sullivan, Thomas Wiegand, "High efficiency video coding (HEVC) text specification draft 7", JCTVC-I1003_d4, 2012.4.27-5.7.
Раскрытие изобретения
Проблемы, решаемые изобретением
Однако, объем информации, связанной с информацией, определяющей опорное изображение, такой как RPS, снижается недостаточно.
Настоящая технология разработана с учетом такой ситуации и позволяет уменьшить объем информации, связанной с информацией, определяющей опорное изображение.
Решения проблем
В соответствии с вариантом настоящей технологии, обеспечивается устройство декодирования, содержащее: приемный блок для приема опорной информации, представляющей, является ли информация, определяющая опорное изображение, которая определяет опорное изображение, используемое для формирования предсказываемого изображения для предшествующего изображения, которое является изображением, предшествующим текущему кодируемому изображению в порядке кодирования, которое передается в случае, когда текущее кодируемое изображение, являющееся изображением, отличным от первого изображения в GOP (Group of Picture, группе кадров), используется в качестве информации, определяющей опорное изображение для текущего кодируемого изображения; блок установки опорного изображения для формирования информации, определяющей опорное изображение для текущего декодируемого изображения, основываясь на опорной информации в случае, когда опорная информация принимается приемным блоком и формирования информации, определяющей опорное изображение для текущего декодируемого изображения, основываясь на опорной информации, представляющей, что информация, определяющая опорное изображение предшествующего изображения, не используется в качестве информации, определяющей опорное изображение для текущего кодируемого изображения, в случае, когда опорная информация не принимается приемным блоком; и блок формирования предсказанного изображения для формирования предсказываемого изображения, с использованием опорного изображения, определяемого информацией, определяющей опорное изображение, формируемой блоком установки опорного изображения.
Способ декодирования согласно другому варианту настоящей технологии соответствует устройству декодирования, представляющему вариант настоящей технологии.
Согласно варианту настоящей технологии, опорная информация, представляющая, принимается ли информация, определяющая опорное изображение, как информация, определяющая опорное изображение, которое используется для формирования предсказанного изображения для предшествующего изображения, являющегося изображением, предшествующим текущему кодируемому изображению в порядке кодирования, которое передается в случае, когда текущее кодируемое изображение, являющееся изображением, отличным от первого изображения в GOP (Group of Picture), используется в качестве информации, определяющей опорное изображение текущего кодируемого изображения. Информация, определяющая опорное изображение текущего декодируемого изображения, формируется на основе опорной информации в случае, когда опорная информация принимается и информация, определяющая опорное изображение для текущего декодируемого изображения, формируется на основе опорной информации, представляющей, что информация, определяющая опорное изображение для предшествующего изображения, не используется в качестве информации, определяющей опорное изображение для текущего кодируемого изображения в случае, когда опорная информация не принимается. Затем предсказанное изображение формируется посредством использования опорного изображения, которое определяется информацией, определяющей опорное изображение.
Кроме того, устройство кодирования, соответствующее варианту настоящей технологии, может быть реализовано посредством вызова выполнения программы компьютером.
Дополнительно, чтобы реализовать устройство декодирования, соответствующее варианту настоящей технологии, программа, исполняемая компьютером, может предоставляться путем передачи через среду передачи или записи на носителе записи данных.
Результаты изобретения
В соответствии с настоящей технологией, кодированный поток, в котором объем информации, относящейся к информации, определяющей опорное изображение, уменьшается, может быть декодирован.
Краткое описание чертежей
Фиг. 1 - схема, представляющая пример синтаксиса RPS.
Фиг. 2 - схема, представляющая пример флага inter_ref_pic_set_prediction_flag и delta_idx_minus1.
Фиг. 3 - блок-схема примера конфигурации устройства кодирования, к которому применяется настоящее изобретение, соответствующее первому варианту осуществления.
Фиг. 4 - блок-схема примера конфигурации блока кодирования, показанного на фиг. 3.
Фиг. 5 - схема, представляющая пример синтаксиса SPS, устанавливаемого блоком 12 установки, показанным на фиг. 3.
Фиг. 6 - схема, представляющая пример синтаксиса RPS.
Фиг. 7 - схема, представляющая объем информации RPS, устанавливаемой блоком 12 установки, показанным на фиг 3.
Фиг. 8 - схема, представляющая объем информации традиционного RPS.
Фиг. 9 - схема, представляющая пример синтаксиса заголовка среза.
Фиг. 10 - блок-схема последовательности выполнения операций процесса формирования, выполняемого устройством кодирования, показанным на фиг. 3.
Фиг. 11 - блок-схема последовательности выполнения операций процесса установки RPS, подробно показанного на фиг. 10.
Фиг. 12 - блок-схема последовательности выполнения операций процесса кодирования, подробно показанного на фиг. 10.
Фиг. 13 - блок-схема последовательности выполнения операций процесса кодирования, подробно показанного на фиг. 10.
Фиг. 14 - блок-схема последовательности выполнения операций процесса определения индекса RPS, подробно показанного на фиг. 12.
Фиг. 15 - блок-схема примера конфигурации устройства кодирования, к которому применяется настоящая технология, соответствующая первому варианту осуществления.
Фиг. 16 - блок-схема примера конфигурации устройства декодирования, показанного на фиг. 15.
Фиг. 17 - блок-схема последовательности выполнения операций процесса приема, выполняемого устройством декодирования, показанным на фиг. 15.
Фиг. 18 - блок-схема последовательности выполнения операций процесса установки RPS, подробно показанного на фиг. 17.
Фиг. 19 - блок-схема последовательности выполнения операций процесса декодирования, подробно показанного на фиг. 17.
Фиг. 20 - блок-схема примера конфигурации устройства кодирования, к которому применяется настоящая технология, соответствующая второму варианту осуществления.
Фиг 21 - схема, представляющая пример синтаксиса SPS, устанавливаемого блоком установки, показанным на фиг 20.
Фиг. 22 - схема, представляющая пример синтаксиса RPS, показанного на фиг. 21.
Фиг. 23 - схема, представляющая объем информации RPS, устанавливаемой блоком установки, показанным на фиг. 20.
Фиг. 24 - схема, представляющая объем информации RPS, устанавливаемой блоком установки, показанным на фиг 20.
Фиг. 25 - схема, представляющая объем информации традиционного RPS.
Фиг. 26 - блок-схема последовательности выполнения операций процесса установки RPS устройством кодирования, подробно показанным на фиг. 20.
Фиг. 27 - блок-схема примера конфигурации устройства декодирования, к которому применяется настоящая технология, соответствующая второму варианту осуществления.
Фиг. 28 - блок-схема последовательности выполнения операций процесса установки RPS, выполняемого устройством декодирования, подробно показанным на фиг. 27.
Фиг. 29 - блок-схема примера конфигурации устройства кодирования, к которому применяется настоящая технология, соответствующая третьему варианту осуществления.
Фиг. 30 - пример синтаксиса SPS, устанавливаемого блоком установки, показанным на фиг. 29.
Фиг. 31 - пример синтаксиса RPS, показанного на фиг. 30.
Фиг. 32 - объем информации RPS, устанавливаемого блоком установки, показанным на фиг. 29.
Фиг. 33 - блок-схема последовательности выполнения операций процесса установки RPS, выполняемого устройством кодирования, подробно показанным на фиг. 29.
Фиг. 34 - блок-схема примера конфигурации устройства декодирования, к которому применяется настоящая технология, соответствующая третьему варианту осуществления.
Фиг. 35 - блок-схема последовательности выполнения операций процесса установки RPS, выполняемого устройством декодирования, подробно показанным на фиг. 34.
Фиг. 36 - блок-схема примера конфигурации устройства кодирования, к которому применяется настоящая технология, соответствующая четвертому варианту осуществления.
Фиг. 37 - блок-схема примера конфигурации блока кодирования, показанного на фиг 36.
Фиг. 38 - схема, представляющая пример синтаксиса PPS, устанавливаемого блоком установки, показанным на фиг. 36.
Фиг. 39 - схема, представляющая пример синтаксиса PPS, устанавливаемого блоком установки, показанным на фиг. 36.
Фиг. 40 - схема, представляющая пример синтаксиса PPS в традиционной системе HEVC.
Фиг. 41 - схема, представляющая пример синтаксиса PPS в традиционной системе HEVC.
Фиг. 42 - схема, представляющая пример синтаксиса заголовка среза, добавляемого блоком кодирования без потерь, показанным на фиг. 37.
Фиг. 43 - схема, представляющая пример синтаксиса заголовка среза, добавляемого блоком кодирования без потерь, показанным на фиг. 37.
Фиг. 44 - схема, представляющая пример синтаксиса заголовка среза, добавляемого блоком кодирования без потерь, показанным на фиг. 37.
Фиг. 45 - схема, представляющая пример синтаксиса заголовка среза в традиционной системе HEVC.
Фиг. 46 - схема, представляющая пример синтаксиса заголовка среза в традиционной системе HEVC.
Фиг. 47 - схема, представляющая пример синтаксиса заголовка среза в традиционной системе HEVC.
Фиг. 48 - блок-схема последовательности выполнения операций процесса формирования, выполняемого устройством кодирования, показанным на фиг. 36.
Фиг. 49 - блок-схема последовательности выполнения операций процесса кодирования, подробно показанного на фиг. 48.
Фиг. 50 - блок-схема последовательности выполнения операций процесса кодирования, подробно показанного на фиг. 48.
Фиг. 51 - блок-схема последовательности выполнения операций процесса установки PPS, подробно показанного на фиг. 48.
Фиг. 52 - блок-схема примера конфигурации устройства декодирования, к которому применяется настоящая технология, соответствующего четвертому варианту осуществления.
Фиг. 53 - блок-схема примера конфигурации устройства декодирования, показанного на фиг 52.
Фиг. 54 - блок-схема последовательности выполнения операций процесса приема, выполняемого устройством декодирования, показанным на фиг. 52.
Фиг. 55 - блок-схема последовательности выполнения операций процесса декодирования, подробно показанного на фиг. 54.
Фиг. 56 - схема, представляющая пример системы кодирования мультипроекционного изображения.
Фиг. 57 - блок-схема примера основной конфигурации устройства кодирования мультипроекционного изображения, к которому применяется настоящая технология.
Фиг. 58 - блок-схема примера основной конфигурации устройства декодирования мультипроекционного изображения, к которому применяется настоящая технология.
Фиг. 59 - схема, представляющая пример системы кодирования иерархического изображения.
Фиг. 60 - блок-схема примера основной конфигурации устройства кодирования иерархического изображения, к которому применяется настоящая технология.
Фиг. 61 - блок-схема примера основной конфигурации устройства декодирования иерархического изображения, к которому применяется настоящая технология.
Фиг. 62 - блок-схема примера конфигурации аппаратного обеспечения компьютера.
Фиг. 63 - блок-схема конфигурации телевизионного устройства, к которому применяется настоящая технология.
Фиг. 64 - блок-схема конфигурации мобильного телефона, к которому применяется настоящая технология.
Фиг. 65 - блок-схема конфигурации устройства записи и воспроизведения, к которому применяется настоящая технология.
Фиг. 66 - блок-схема конфигурации устройства получения изображения, к которому применяется настоящая технология.
Фиг. 67 - блок-схема примера использования масштабируемого кодирования.
Фиг. 68 - блок-схема другого примера использования масштабируемого кодирования.
Фиг. 69 - блок-схема дополнительного примера использования масштабируемого кодирования.
Фиг. 70 - блок-схема конфигурации видеоустройства, к которому применяется настоящая технология.
Фиг. 71 - пример конфигурации видеопроцессора, к которому применяется настоящая технология.
Фиг. 72 - другой пример конфигурации видеопроцессора, к которому применяется настоящая технология.
Осуществление изобретения
Первый вариант осуществления
Пример конфигурации устройства кодирования, соответствующего первому варианту осуществления
На фиг. 3 представлена блок-схема примера конфигурации устройства кодирования, к которому применяется настоящее изобретение, соответствующее первому варианту осуществления.
Устройство 10 кодирования, показанное на фиг. 3, образуется блоком 11 кодирования, блоком 12 установки и блоком 13 передачи и кодирует изображение с соответствии с системой HEVC.
Более конкретно, изображение, состоящее из кадров, вводится в блок 11 кодирования устройства 10 кодирования в качестве входного сигнала. Блок 11 кодирования кодирует входной сигнал в соответствии с системой HEVC, используя в качестве опорного сигнала RPS, который подается от блока 12 установки, и подает кодированные данные, полученные в результате этого, на блок 12 установки.
Блок 12 " установки устанавливает RPS, который не содержит флага inter_ref_pic_set_prediction_flag, а содержит информацию, определяющую опорное изображение, и RPS, который содержит флаг inter_ref_pic_set_prediction_flag и информацию, определяющую опорное изображение, или delta_idx_minus1. В каждом RPS блок 12 установки назначает индекс в качестве информации, определяющей информацию опорного изображения, который определяет RPS (информацию опорного изображения). Здесь принимается, что "0" устанавливается в качестве индекса RPS, который не содержит флаг inter_ref_pic_set_prediction_flag, но содержит информацию, определяющую опорное изображение.
Блок 12 установки подает RPS, которому назначен индекс, на блок 11 кодирования.
Блок 12 установки устанавливает SPS, содержащий RPS, PPS (Picture Parameter Set, набор параметров кадра) и т.п.
Блок 12 установки формирует кодированный поток, основываясь на SPS и PPS, которые были установлены, и кодированных данных, полученных от блока 11 кодирования. Блок 12 установки подает кодированный поток на блок 13 передачи.
Блок 13 передачи передает кодированный поток, поданный от блока 12 установки, на устройство декодирования, которое будет описано позже.
Пример конфигурации блока кодирования
На фиг. 4 представлен пример конфигурации блока 11 кодирования, показанного на фиг. 3.
Показанный на фиг. 4, блок 11 кодирования содержит: аналогово-цифровой (A/D) преобразователь 31, буфер 32 перегруппировки экрана, блок 33 вычислений, блок 34 ортогонального преобразования, блок 35 квантования, блок 36 кодирования без потерь, накопительный буфер 37, блок 38 инверсного квантования, блок 39 инверсного ортогонального преобразования, блок 40 сумматора, фильтр 41 удаления блочности, фильтр 42 адаптивного смещения, адаптивный контурный фильтр 43, кадровую память 44, переключатель 45, блок 46 внутрикадрового предсказания, блок 47 предсказания/компенсации движения, блок 48 выбора изображения предсказания, блок 49 установки опорного изображения и блок 50 управления скоростью.
Более конкретно, A/D-преобразователь 31 блока 11 кодирования выполняет A/D-преобразование изображения, состоящего из блоков кадров, которое вводится в качестве входного сигнала, и выводит преобразованное изображение в буфер 32 перегруппировки экрана, чтобы храниться в нем. Буфер 32 перегруппировки экрана перегруппирует хранящиеся изображения, которые являются блоками кадров, следующими в порядке отображения в соответствии со структурой GOP, в порядок кодирования и выводит перегруппированные изображения на блок 33 вычислений, блок 46 внутрикадрового предсказания и блок 47 предсказания/компенсации движения.
Блок 33 вычислений служит в качестве блока кодирования и выполняет кодирование, вычисляя разность между предсказанным изображением, поданным от блока 48 выбора изображения предсказания, и текущим кодируемым изображением, выведенным из буфера 32 реорганизации экрана. Более конкретно, блок 33 вычислений выполняет кодирование, вычитая предсказанное изображение, поданное от блока 48 выбора предсказанного изображения, из текущего кодируемого изображения, выведенного от буфера 32 реорганизации экрана. Блок 33 вычислений выводит изображение, полученное в результате этого, на блок 34 ортогонального преобразования в качестве остаточной информации. Кроме того, в случае, когда предсказанное изображение не подается от блока 48 выбора предсказанного изображения, блок 33 вычислений напрямую выводит изображение, считанное из буфера 32 перегруппировки экрана, на блок 34 ортогонального преобразования в качестве остаточной информации.
Блок 34 ортогонального преобразования выполняет ортогональное преобразование остаточной информации, выведенной от блока 33 вычислений, формируя, таким образом, коэффициент ортогонального преобразования. Блок 34 ортогонального преобразования подает сформированный коэффициент преобразования на блок 35 квантования.
Блок 35 квантования выполняет квантование коэффициента ортогонального преобразования, который подается от блока 34 ортогонального преобразования, используя параметры квантования, поданные от блока 50 управления скоростью. Блок 35 квантования вводит полученный в результате этого коэффициент на блок 36 кодирования без потерь.
Блок 36 кодирования без потерь получает информацию (здесь далее упоминаемую как информация о режиме внутрикадрового предсказания), представляющую оптимальный режим внутрикадрового предсказания, от блока 46 внутрикадрового предсказания. Кроме того, блок 36 кодирования без потерь получает информацию (здесь далее упоминаемую как информация о режиме межкадрового предсказания), представляющую, оптимальный режим межкадрового предсказания, вектор движения и т.п., от блока 47 предсказания/компенсации движения. Кроме того, блок 36 кодирования без потерь получает индекс RPS, RPS и т.п. от блока 49 установки опорного изображения и получает параметры квантования от блока 50 управления скоростью.
Кроме того, блок 36 кодирования без потерь получает флаг хранения, индекс или смещение и информацию о типе от фильтра 42 адаптивного смещения в качестве информации о фильтре смещения и получает коэффициент фильтра от адаптивного контурного фильтра 43.
Блок 36 кодирования без потерь выполняет кодирование без потерь, такое как кодирование переменной длины (например, CAVLC (Context-Adaptive Variable Length Coding, контекстно адаптированное кодирование переменной длины) и т.п.) или арифметическое кодирование (например, САВАС (Context-Adaptive Binary Arithmetic Coding, контекстно адаптированное двоичное арифметическое кодирование) для квантованного коэффициента, подаваемого от блока 35 квантования.
Кроме того, блок 36 кодирования без потерь в качестве информации кодирования, связанной с кодированием, выполняет кодирование без потерь параметров квантования, информации о фильтре смещения и коэффициента фильтра, такой как информация о режиме внутрикадрового предсказания или информация о режиме межкадрового предсказания, о векторе движения, индексе RPS или RPS. Блок 36 кодирования без потерь подает информацию кодирования и коэффициенты, которые были кодированы способом без потерь, на накопительный буфер 37 в качестве кодированных данных, которые должны в нем храниться. Кроме того, информация кодирования, который была кодирована способом без потерь, может рассматриваться как информация заголовка (заголовок среза) коэффициента, кодированного способом без потерь.
Накопительный буфер 37 временно хранит кодированные данные, поданные от блока 36 кодирования без потерь. Кроме того, накопительный буфер 37 подает хранящиеся кодированные данные на блок 12 установки, показанный на фиг. 3.
Кроме того, квантованный коэффициент, который выводится из блока 35 квантования, также вводится на блок 38 инверсного квантования. Блок 38 инверсного квантования выполняет инверсное квантование коэффициента, квантованного блоком 35 квантования, используя параметры квантования, подаваемые от блока 50 управления скоростью, и подает полученный в результате этого коэффициент ортогонального преобразования на блок 39 инверсного ортогонального преобразования.
Блок 39 инверсного ортогонального преобразования выполняет инверсное ортогональное преобразование коэффициента ортогонального преобразования, поданного от блока 38 инверсного квантования. Блок 39 инверсного ортогонального преобразования подает остаточную информацию, полученную в результате инверсного ортогонального преобразования, на блок 40 сумматора.
Блок 40 сумматора складывает остаточную информацию, поданную от блока 39 инверсного ортогонального преобразования, и предсказанное изображение, поданное от блока 48 выбора предсказанного изображения, получая, таким образом, изображение, которое было локально декодировано. Кроме того, в случае, когда предсказанное изображение не подается от блока 48 выбора предсказанного изображения, блок 40 сумматора устанавливает остаточную информацию, поданную от блока 39 инверсного ортогонального преобразования, в качестве локально декодированного изображения. Блок 40 сумматора подает локально декодированное изображение на фильтр 41 удаления блочности и подает локально декодированное изображение на кадровую память 44, чтобы сохраняться в ней.
Фильтр 41 удаления блочности выполняет процесс адаптивной фильтрации удаления блочности для удаления блочного искажения локально декодированного изображения, которое подается от блока 40 суммирования, и подает полученное в результате этого изображение на фильтр 42 адаптивного смещения.
Адаптивный фильтр 42 смещения выполняет процесс фильтрации адаптивного смещения (SAO: sample adaptive offset, адаптивное смещение выборки), который удаляет, главным образом, звоны изображения после процесса адаптивной фильтрации удаления блочности, выполняемой фильтром 41 удаления блочности.
Более конкретно, фильтр 42 адаптивного смещения определяет тип процесса фильтрации адаптивного смещения для каждого LCU (Largest Coding Unit, наибольший блок кодирования), который является максимальным блоком кодирования и получает смещение, используемое в процессе фильтрации адаптивного смещения. Фильтр 42 адаптивного смещения выполняет процесс фильтрации адаптивного смещения определенного типа для изображения после процесса адаптивной фильтрации удаления блочности, используя полученное смещение. Затем фильтр 42 адаптивного смещения подает изображение после процесса фильтрации адаптивного смещения на адаптивный контурный фильтр 43.
Кроме того, фильтр 42 адаптивного смещения имеет буфер, в котором хранится смещение. Фильтр 42 адаптивного смещения для каждого LCU определяет, было ли уже сохранено в буфере смещение для процесса адаптивной фильтрации удаления блочности.
В случае, когда определено, что смещение, используемое для процесса адаптивной фильтрации удаления блочности, уже было сохранено в буфере, фильтр 42 адаптивного смещения устанавливает для флага хранения, представляющего, хранится ли смещение в буфере, значение (здесь "1"), представляющее, что смещение хранится в буфере.
Затем фильтр 42 адаптивного смещения для каждого LCU подает на блок 36 кодирования без потерь флаг хранения, для которого установлена "1", индекс, представляющий позицию хранения в буфере, и тип информации, представляющий тип процесса фильтрации адаптивного смещения, который был выполнен.
С другой стороны, в случае, когда смещение, используемое в процессе адаптивной фильтрации удаления блочности, не было сохранено в буфере, фильтр 42 адаптивного смещения сохраняет смещение в буфере по порядку. Кроме того, фильтр 42 адаптивного смещения устанавливает для флага хранения значение (здесь "0"), представляющее, что смещение не хранится в буфере. Затем фильтр 42 адаптивного смещения для каждого LCU подает флаг хранения, для которого установлен «0», смещение и тип информации на блок 36 кодирования без потерь.
Адаптивный контурный фильтр 43 выполняет, например, для каждого LCU процесс адаптивной контурной фильтрации (ALF: Adaptive Loop Filter) для изображения после процесса фильтрации адаптивного смещения, которое поступает от фильтра 42 адаптивного смещения. В качестве процесса адаптивной контурной фильтрации используется, например, процесс двумерной винеровской фильтрации. Очевидно, что может использоваться фильтр, отличный от фильтра Винера.
Более конкретно, адаптивный контурный фильтр 43 для каждого LCU вычисляет коэффициент фильтра, используемый в процессе адаптивной контурной фильтрации, так что остаток между оригинальным изображением, являющимся изображением с выхода буфера 32 перегруппировки экрана, и изображением после процесса адаптивной контурной фильтрации минимизируется. Затем адаптивный контурный фильтр 43 выполняет для каждого LCU процесс адаптивной контурной фильтрации для изображения после процесса фильтрации адаптивного смещения, используя вычисленный коэффициент фильтра.
Адаптивный контурный фильтр 43 подает изображение после процесса адаптивной контурной фильтрации в кадровую память 44. Кроме того, адаптивный контурный фильтр 43 подает коэффициент фильтра на блок 36 кодирования без потерь.
Здесь, хотя предполагается, что процесс адаптивной контурной фильтрации должен выполняться для каждого LCU, блок обработки процесса адаптивной контурной фильтрации на ограничивается LCU. Однако, путем согласования друг с другом работы блоков обработки фильтра 42 адаптивного смещения и адаптивного контурного фильтра 43 процесс может выполняться эффективно.
Кадровая память 44 хранит изображение, поданное от адаптивного контурного фильтра 43, и изображение, поданное от блока 40 сумматора. Изображение, хранящееся в кадровой памяти 44, выводится на блок 46 внутрикадрового предсказания или на блок 47 предсказания/компенсации движения через переключатель 45 в качестве опорного изображения.
Блок 46 внутрикадрового предсказания выполняет процессы внутрикадрового предсказания для всех режимов внутрикадрового предсказания, которые возможны, используя опорное изображение, считанное из кадровой памяти 44 через переключатель 45.
Кроме того, блок 46 внутрикадрового предсказания вычисляет значения функции стоимости (которая будет описана подробно) для всех режимов внутрикадрового предсказания, которые возможны, основываясь на изображении, считанном из буфера 32 реорганизации кадров, и на предсказанном изображении, сформированном в результате процесса внутрикадрового предсказания. Затем блок 46 внутрикадрового предсказания определяет в качестве оптимального режима внутрикадрового предсказания режим внутрикадрового предсказания, в котором значение функции стоимости является минимальным.
Блок 46 "внутрикадрового предсказания подает предсказанное изображение, сформированное в оптимальном режиме внутрикадрового предсказания, и соответствующее значение функции стоимости на блок 48 выбора предсказанного изображения. В случае, когда блок 48 выбора предсказанного изображения уведомляет блок 46 внутрикадрового предсказания о выборе изображения предсказания, сформированного в оптимальном режиме внутрикадрового предсказания, блок 46 внутрикадрового предсказания подает информацию о режиме внутрикадрового предсказания на блок 36 кодирования без потерь.
Значение функции стоимости, также называемое стоимостью RD (Rate Distortion), и которое определяется, например, как JM (Joint Model, совместная модель), являющееся опорным программным обеспечением, соответствующим системе H.264/AVC, вычисляется, основываясь на технологии режима высокой сложности или режима низкой сложности.
Более конкретно, в случае, когда в качестве технологии вычисления значения функции стоимости для всех возможных режимов предсказания используется режим высокой сложности, декодирование временно выполняется для всех возможных режимов предсказания и.значение функции стоимости, представленное в нижеследующем уравнении (1), вычисляется для каждого режима предсказания.
Здесь D является разностью (искажением) между оригинальным изображением и декодированным изображением, R является объемом сформированного кодирования, содержащим только коэффициент ортогонального преобразования, и λ является множителем Лагранжа, заданным как функция параметра QP квантования.
С другой стороны, в случае, когда в качестве технологии вычисления значения функции стоимости используется режим высокой сложности, для каждого из всех возможных режимов предсказания выполняются формирование предсказанного изображения и вычисление объема кодирования информации кодирования и функция стоимости, представленная в нижеследующем уравнении (2), вычисляется для каждого режима предсказания.
Здесь, D является разностью (искажением) между оригинальным изображением и декодированным изображение, Header_Bit является объемом кодирования и QPtoQuant является функцией, заданной как функция параметра QP квантования.
В режиме низкой сложности для всех режимов предсказания могут формироваться только изображения предсказания и нет необходимости формирования декодированных изображений, за счет чего объем вычисления мал.
Блок 47 предсказания/компенсации движения выполняет процесс предсказания/компенсации движения для всех возможных режимов межкадрового предсказания. Более конкретно, блок 47 предсказания/компенсации движения обнаруживает векторы движения для всех возможных режимов межкадрового предсказания, основываясь на изображении, поданном от буфера 32 реорганизации экрана, и опорном изображении, считанном из кадровой памяти 44 через переключатель 45. Затем блок 47 предсказания/компенсации движения служит в качестве блока формирования предсказанного изображения и формирует предсказанные изображения, выполняя процессы компенсации опорного изображения, основываясь на векторах движения.
В этом случае, блок 47 предсказания/компенсации движения вычисляет значения функции стоимости для всех возможных режимов межкадрового предсказания, основываясь на изображении, поданном от буфера 32 реорганизации экрана, и предсказанных изображениях, и определяет режим межкадрового предсказания, для которого значение функции стоимости является минимальным, в качестве оптимального режима межкадрового предсказания. Блок 47 предсказания/компенсации движения подает значение функции стоимости оптимального режима межкадрового предсказания и соответствующее предсказанное изображение на блок 48 выбора предсказанного изображения. Кроме того, в случае, когда блок 48 выбора предсказанного изображения уведомляет блок 47 предсказания/компенсации движения о выборе предсказанного изображения, сформированного в оптимальном режиме межкадрового предсказания, блок 47 предсказания/компенсации движения выводит информацию о режиме межкадрового предсказания, соответствующий вектор движения и т.п. на блок 36 кодирования без потерь и выводит информацию, определяющую опорное изображение, на блок 49 установки опорного изображения.
Блок 48 выбора предсказанного изображения определяет оптимальный режим внутрикадрового предсказания или оптимальные режим межкадрового предсказания, для которого значение функции стоимости меньше, в качестве оптимального режима предсказания, основываясь на значениях функции стоимости, полученных от блока 46 внутрикадрового предсказания и блока 47 предсказания/компенсации движения. Затем блок 48 выбора предсказанного изображения подает изображение, предсказанное в оптимальном режиме предсказания, на блок 33 вычисления и на блок 40 сумматора. Кроме того, блок 48 выбора предсказанного изображения уведомляет блок 46 внутрикадрового предсказания или блок 47 предсказания/компенсации движения о выборе предсказанного изображения в оптимальном режиме предсказания.
Блок 49 установки опорного изображения сохраняет информацию, определяющую опорное изображение, который подается от блока 47 предсказания/компенсации движения 47, в соответствии с GOP. В случае, когда текущее кодируемое изображение является первым изображением GOP, блок 49 установки опорного изображения подает на блок 36 кодирования без потерь "0" в качестве индекса RPS и флаг RPS, представляющий, что RPS текущего кодируемого изображения является RPS, включенной в SPS.
С другой стороны, в случае, когда текущее кодируемое изображение является изображением, отличным от первого изображения GOP, блок 49 установки опорного изображения сравнивает друг с другом хранящуюся информацию, определяющую опорное изображение для предшествующего изображения, и информацию, определяющую опорное изображение для текущего кодируемого изображения, и определяет inter_ref_pic_set_prediction_flag и delta_idx_minus1, основываясь на результате сравнения. Затем блок 49 установки опорного изображения устанавливает RPS, содержащий определенный флаг inter_ref_pic_set_prediction_flag, и информацию, определяющую опорное изображение для текущего кодируемого изображения, или delta_idx_minus1, в качестве RPS текущего кодируемого изображения.
Затем, в случае, когда RPS, который является тем же самым, что и RPS текущего кодируемого изображения, подается от блока 12 установки, блок 49 установки опорного изображения подает индекс RPS и флаг RPS, представляющий, что RPS текущего кодируемого изображения, является RPS, содержащимся в SPS, на блок 36 кодирования без потерь. С другой стороны, в случае, когда RPS, являющийся таким же, как RPS текущего кодируемого изображения, не подается от блока 12 установки, блок 49 установки опорного изображения подает RPS текущего кодируемого изображения и флаг RPS, представляющий, что RPS текущего кодируемого изображения, не является RPS, содержащимся в SPS, на блок 36 кодирования без потерь. Блок 50 управления скоростью определяет параметры квантования, используемые блоком 35 квантования, основываясь на кодированных данных, хранящихся в накопительном буфере 37, так чтобы переполнение или недостаточное заполнение не происходило. Блок 50 управления скоростью подает определенные параметры квантования на блок 35 квантования, блок 36 кодирования без потерь и блок 38 инверсного квантования.
Пример синтаксиса SPS
На фиг. 5 показан пример синтаксиса SPS, который устанавливается блоком 12 установки, показанным на фиг. 3.
Как показано на 18-ой строке на фиг. 5, RPS каждого индекса (i) вводится в SPS.
Пример синтаксиса RPS
На фиг. 6 показан пример синтаксиса RPS.
Хотя на чертеже не показано, описания шестой строки и последующих строк, показанные на фиг. 6, являются такими же, как описания третьей и последующих строк, показанных на фиг. 1.
Как показано на второй и третьей строках на фиг. 6, в RPS, для которого индекс (idx) равен нулю, флаг inter_ref_pic_set_prediction_flag не вводится, но информация, определяющая опорное изображение, вводится в случае, когда вводится флаг inter_ref_pic_set_prediction_flag, равный «0».
С другой стороны, как показано на четвертой и пятой строках, в RPS, для которых индекс (idx) отличен от «0», флаг inter_ref_pic_set_prediction_flag вводится. Затем, в случае, когда флаг inter_ref_pic_set_prediction_flag равен «0», вводится информация, определяющая опорное изображение. С другой стороны, в случае, когда флаг inter_ref_pic_set_prediction_flag равен "1", вводится delta_idx_minus1.
Описание преимуществ настоящей технологии
На фиг. 7 показан объем информации RPS, который устанавливается блоком 12 установки, показанным на фиг. 3, и на фиг. 8 показан объем информации для традиционного RPS.
В примерах, показанных на фиг. 7 и 8, информация, определяющая опорное изображение седьмой и восьмой картинок, считая от начала внутри GOP, является той же самой, что и информация, определяющая опорное изображение предшествующей картинки в порядке кодировании.
В этом случае, как показано на фиг. 7, блок 12 установки устанавливает информацию, определяющую опорное изображение первого кадра GOP, в качестве RPS, для которого индекс равен «0». Кроме того, блок 12 установки, например, в качестве RPS, для которого индекс равен "1", устанавливает "1" в качестве флага inter_ref_pic_set_prediction_flag и устанавливает «0» в качестве delta_idx_minus1. Таким образом, индекс RPS первого кадра GOP устанавливается как «0», а индексы RPS второго и восьмого кадра устанавливаются как "1".
Напротив, как показывается на фиг. 8, в традиционном случае, например, в качестве RPS, для которого индекс равен «0», устанавливаются «0» в качестве флага inter_ref_pic_set_prediction_flag и информация, определяющая опорное изображение для первого кадра GOP. Кроме того, подобно случаю блока 12 установки, устанавливается RPS, для которого индекс равен "1". Таким образом, индекс первого кадра GOP устанавливается равным «0», и индексы RPS второго и восьмого кадра устанавливаются равными "1".
Как сказано выше, блок 12 установки не устанавливает флаг inter_ref_pic_set_prediction_flag в качестве RPS, для которого индекс равен «0», который используется в качестве RPS первой картинки. Другими словами, поскольку первая картинка GOP не имеет никакого предшествующего изображения в порядке кодирования, флаг inter_ref_pic_set_prediction_flag должен обязательно быть равен «0». Соответственно, блок 12 установки не устанавливает флаг inter_ref_pic_set_prediction flag в качестве RPS, индекс которого равен «0», который используется в качестве RPS первого кадра, а устанавливает только информацию, определяющую опорное изображение, благодаря флагу inter_ref_pic_set_prediction_flag, равному «0». В результате, объем информации RPS может быть уменьшено относительно традиционного случая, соответствующего флагу inter_ref_pic_set_prediction_flag первого кадра.
Пример синтаксиса заголовка среза
На фиг. 9 показан пример синтаксиса заголовка среза.
Как показано на пятой строке на фиг. 9, в заголовок среза вводится флаг RPS (short_term_ref_pic_set_sps_flag) соответствующего коэффициента. Кроме того, как показано на шестой и седьмой строках на фиг. 9, в случае, когда флаг RPS равен «0», представляя, что RPS текущего кодируемого изображения не является RPS, содержащимся в SPS в заголовке среза, RPS соответствующего коэффициента вводится в виде short_term_ref_pic_set (num_short_term_ref_pic_sets).
С другой стороны, как показано на восьмой и девятой строках на фиг. 9, в случае, когда флаг RPS равен "1", представляя, что RPS текущего кодируемого изображения является RPS, содержащимся в SPS в заголовке среза, индекс RPS соответствующего коэффициента вводится как short_term_ref_pic_set_idx (num_short_term_ref_pic_sets).
Описание процесса работы устройства кодирования
На фиг. 10 представлена блок-схема последовательности выполнения операций процесса формирования, выполняемого устройством 10 кодирования, показанным на фиг. 3.
На этапе S11, показанном на фиг. 10, блок 12 установки устройства 10 кодирования выполняет процесс установки RPS для установки RPS. Этот процесс установки RPS далее будет описан подробно со ссылкой на фиг. 11, описываемый позже. На этапе S12 блок 11 кодирования выполняет процесс кодирования для кодирования изображения, выполненного в виде блоков кадров, введенных извне в качестве входного сигнала в соответствии с системой HEVC. Этот процесс кодирования будет описан позже подробно со ссылкой на фиг. 12 и 13, которые будут описаны позже.
На этапе S13 блок 12 установки устанавливает SPS, содержащую RPS, которой назначен индекс. На этапе S14 блок 12 установки устанавливает PPS. На этапе S15 блок 12 установки формирует кодированный поток, на основе SPS и PPS, которые были установлены, и кодированных данных, поданных от блока 11 кодирования. Блок 12 установки подает кодированный поток на блок 13 передачи.
На этапе S16 блок 13 передачи передает кодированный поток, поданный от блока 12 установки, на устройство декодирования, которое будет описано позже, и заканчивает процесс.
На фиг. 11 представлена блок-схема последовательности выполнения операций процесса установки RPS, представленного на этапе S11, подробно показанном на фиг. 10.
На этапе S21, показанном на фиг. 11, блок 12 установки устанавливает индекс i для RPS равным "0". На этапе S22 определяется, является ли индекс i для RPS равным "0". В случае, когда на этапе S22 определено, что индекс i для RPS установлен равным "0", на этапе S23 блок 12 установки устанавливает флаг inter_ref_pic_set_prediction_flag равным "0" и процесс переходит к этапу S25.
С другой стороны, в случае, когда на этапе S22 определено, что индекс i для RPS не равен "0", блок 12 установки на этапе S24 устанавливает RPS индекса i как флаг inter_ref_pic_set_prediction_flag и процесс переходит к этапу S25.
На этапе. S25 блок 12 установки определяет, равен ли "1" флаг inter_ref_pic_set_prediction_flag. В случае, когда на этапе S25 определено, что флаг inter_ref_pic_set_prediction_flag равен "1", на этапе S26 блок 12 установки устанавливает delta_idx_minus1 как RPS индекса i и процесс переходит к этапу S28.
С другой стороны, в случае, когда на этапе S25 определено, что флаг inter_ref_pic_set_prediction_flag не равен "1", другими словами, в случае, когда флаг inter_ref_pic_set_prediction_flag равен "0", на этапе S27 блок 12 установки устанавливает информацию, определяющую опорное изображение, и процесс переходит к этапу S28.
На этапе S28 блок 12 установки дает индексу i приращение на единицу. На этапе S29 блок 12 установки определяет для индекса i равен ли он или больше, чем число num_short_term_ref_pic_sets для RPS, содержащихся в SPS.
В случае, когда на этапе S29 определено, что индекс I не равен числу num_short_term_ref_pic_sets или больше его, процесс возвращается к этапу S22 и процесс этапов S22-S29 повторяется, пока индекс i не станет числом num_short_term_ref_pic_sets или больше.
С другой стороны, в случае, когда на этапе S29 определено, что индекс I является числом num_short_term_ref_pic_sets или более, процесс возвращается к этапу S11, показанному на фиг. 10, и переходит к этапу S12.
На фиг. 12 и 13 представляет блок-схему последовательности выполнения операций процесса кодирования на этапе S12, подробно показанном на фиг. 10.
На этапе S31, показанном на фиг. 12, A/D-преобразователь 31 блока 11 кодирования выполняет A/D-преобразование изображения, представленного блоками кадров, вводимых в качестве входного сигнала, и выводит преобразованное изображение на буфер 32 перегруппировки экрана, чтобы сохраняться в нем.
На этапе S32 буфер 32 перегруппировки экрана перегруппирует хранящиеся изображения кадров, расположенных в порядке отображения, в порядок кодирования в соответствии со структурой GOP. Буфер 32 перегруппировки экрана подает изображения, выполненные в блоки кадров после перегруппировки, на блок 33 вычислений, блок 46 внутрикадрового предсказания и на блок 47 предсказания/компенсации движения.
На этапе S33 блок 46 внутрикадрового предсказания выполняет процесс внутрикадрового предсказания для всех возможных режимов внутрикадрового предсказания. Кроме того, блок 46 внутрикадрового предсказания вычисляет значения функции стоимости для всех возможных режимов внутрикадрового предсказания, основываясь на изображении, считанном из буфера 32 перегруппировки экрана, и на предсказанном изображении, сформированном в результате процесса внутрикадрового предсказания. Затем блок 46 внутрикадрового предсказания определяет режим внутрикадрового предсказания, значение функции стоимости которого является минимальным, в качестве оптимального режима внутрикадрового предсказания. Блок 46 внутрикадрового предсказания подает предсказанное изображение, сформированное в оптимальном режиме внутрикадрового предсказания, и соответствующее значение функции стоимости на блок 48 выбора предсказанного изображения.
Кроме того, блок 47 предсказания/компенсации движения выполняет процесс предсказания/компенсации движения для всех возможных режимов межкадрового предсказания. Дополнительно, блок 47 предсказания/компенсации движения вычисляет значения функции стоимости для всех возможных режимов межкадрового предсказания, основываясь на изображении, поданном из буфера 32 перегруппировки экрана, и предсказанных изображениях, и определяет режим межкадрового предсказания, значение функции стоимости которого минимально, в качестве оптимального режима межкадрового предсказания. Затем блок 47 предсказания/компенсации движения подает значение функции стоимости оптимального режим межкадрового предсказания и соответствующее предсказанное изображение на блок 48 выбора предсказанного изображения.
На этапе S34 блок 48 выбора предсказанного изображения определяет оптимальный режим внутрикадрового предсказания или оптимальный режим межкадрового предсказания, значение функции стоимости которое минимальное, в качестве оптимального режима предсказания, основываясь на значениях функции стоимости, полученных от блока 46 внутрикадрового предсказания и от блока 47 предсказания/компенсации движения в процессе этапа S33. Затем блок 48 выбора предсказанного изображения подает изображение, предсказанное в оптимальном режиме предсказания, на блок 33 вычислений и на блок 40 сумматора.
На этапе S35 блок 48 выбора предсказанного изображения определяет, является ли оптимальный режим предсказания оптимальным режимом межкадрового предсказания. В случае, когда на этапе S35 определено, что оптимальный режим предсказания является оптимальным режимом межкадрового предсказания, блок 48 выбора предсказанного изображения уведомляет блок 47 предсказания/компенсации движения о выборе предсказанного изображения, сформированного в оптимальном режиме межкадрового предсказания.
Затем на этапе S36 блок 47 предсказания/компенсации движения подает информацию режима межкадрового предсказания и соответствующий вектор движения на блок 36 кодирования без потерь. Блок 47 предсказания/компенсации движения подает информацию, определяющую опорное изображение, на блок 49 установки опорного изображения.
На этапе S37 блок 47 установки опорного изображения выполняет процесс определения индекса RPS для определения индекса RPS. Этот процесс определения индекса RPS будет описан позже подробно со ссылкой на фиг. 14, который будет описан позже. С другой стороны, на этапе S35 в случае, когда определено, что оптимальным режимом предсказания не является оптимальный режим межкадрового предсказания, другими словами, в случае, когда оптимальным режимом предсказания является оптимальный режим внутрикадрового предсказания, блок 48 выбора предсказанного изображения 48 уведомляет блок 46 внутрикадрового предсказания о выборе предсказанного изображения, сформированного в оптимальном режиме внутрикадрового предсказания. Затем, на этапе S38 блок 46 внутрикадрового предсказания подает информацию о режиме внутрикадрового предсказания на блок 36 кодирования без потерь и процесс переходит к этапу S39.
На этапе S39 блок 33 вычислений вычитает предсказанное изображение, поданное от блока 48 выбора предсказанного изображения, из изображения, поданного из буфера 32 перегруппировки экрана, выполняя, таким образом, кодирование. Блок 33 вычислений выводит изображение, полученное в результате этого, на блок 34 ортогонального преобразования в качестве остаточной информации.
На этапе S40 блок 34 ортогонального преобразования выполняет ортогональное преобразование для остаточной информации, выведенной из блока 33 вычислений, и подает полученный в результате этого коэффициент ортогонального преобразования на блок 35 квантования.
На этапе S41 блок 35 квантования квантует коэффициент, поданный от блока 34 ортогонального преобразования, используя параметры квантования, полученные от блока 50 управления скоростью. Квантованный коэффициент вводится в блок 36 кодирования без потерь и блок 38 инверсного квантования.
На этапе S42, показанном на фиг. 13, блок 38 инверсного квантования выполняет инверсное квантование квантованного коэффициента, поданного от блока 35 квантования, используя параметры квантования, полученные от блока 50 управления скоростью, и подает полученный в результате коэффициент ортогонального преобразования на блок 39 инверсного ортогонального преобразования.
На этапе S43 блок 39 инверсного ортогонального преобразования выполняет инверсное ортогональное преобразование для коэффициента ортогонального преобразования, поданного от блока 38 инверсного квантования, и подает полученную в результате этого остаточную информацию на блок 40 сумматора.
На этапе S44 блок 40 сумматора складывает остаточную информацию, поданную от блока 39 инверсного ортогонального преобразования, и предсказанное изображение, поданное от блока 48 выбора предсказанного изображения, получая, таким образом, локально декодированное изображение. Блок 40 сумматора подает полученное изображение на фильтр 41 удаления блочности и кадровую память 44.
На этапе S45 фильтр 41 удаления блочности выполняет процесс фильтрации удаления блочности для локально декодированного изображения, поданного от блока 40 сумматора. Фильтр 41 удаления блочности подает изображение, полученное в результате этого, на фильтр 42 адаптивного смещения.
На этапе S46 фильтр 42 адаптивного смещения выполняет процесс фильтрации адаптивного смещения для изображения, подаваемого от фильтра 41 удаления блочности для каждого LCU. Фильтр 42 адаптивного смещения подает полученное в результате этого изображение на адаптивный контурный фильтр 43. Кроме того, фильтр 42 адаптивного смещения для каждого LCU подает флаг хранения, индекс или смещение и информацию о типе на блок 36 кодирования без потерь в качестве информации фильтра смещения.
На этапе S47 адаптивный контурный фильтр 43 выполняет процесс адаптивной контурной фильтрации для изображения, поданного от фильтра 42 адаптивного смещения, для каждого LCU. Адаптивный контурный фильтр 43 подает изображение, полученное в результате этого, на кадровую память 44. Кроме того, адаптивный контурный фильтр 43 подает коэффициент фильтра, используемый в процессе адаптивной контурной фильтрации, на блок 36 кодирования без потерь.
На этапе S48 кадровая память 44 сохраняет изображение, поданное от адаптивного контурного фильтра 43, и изображение, поданное от блока 40 сумматора. Изображения, хранящиеся в кадровой памяти 44, выводятся на блок 46 внутрикадрового предсказания или на блок 47 предсказания/компенсации движения через переключатель 45 в качестве опорных изображений.
На этапе S49 блок 36 кодирования без потерь выполняет кодирование без потерь для параметров квантования, информации фильтра смещения и коэффициентов фильтра, которые подаются от блока 50 управления скоростью, и такой информации, как информация о режиме внутрикадрового предсказания или информация о режиме межкадрового предсказания, векторе движения, индекс RPS или RPS и т.п. в качестве кодируемой информации.
На этапе S50 блок 36 кодирования без потерь выполняет кодирование без потерь для квантованного коэффициента, подаваемого от блока 35 квантования. Затем блок 36 кодирования без потерь формирует кодированные данные, основываясь на кодируемой информации и коэффициенте, которые были кодированы способом без потерь в процессе этапа S49.
На этапе S51 накопительный буфер 37 временно сохраняет кодированные данные, поданные от блока 36 кодирования без потерь.
На этапе S52 блок 50 управления скоростью определяет параметры квантования, используемые блоком 35 квантования, основываясь на кодированных данных, хранящихся в накопительном буфере 37, таким образом, что переполнение или недогрузка не происходят. Блок 50 управления скоростью подает определенные параметры квантования на блок 35 квантования, блок 36 кодирования без потерь и блок 38 инверсного квантования.
На этапе S53 накопительный буфер 37 выводит хранящиеся кодированные данные на блок 12 установки, показанный на фиг. 3.
В процессе кодирования, показанном на фиг. 12 и 13, для упрощения описания, хотя оба процесса, процесс внутрикадрового предсказания и процесс предсказания/компенсации движения, были конфигурированы таким образом, чтобы выполняться постоянно, фактически только один из них может выполняться в соответствии с типом картинки и т.п.
На фиг. 14 показана блок-схема последовательности выполнения операций процесса определения индекса RPS, представленного на этапе S37, подробно показанном на фиг. 12.
На этапе S71, показанном на фиг. 14, блок 49 установки опорного изображения, сохраняет информацию, определяющую опорное изображение, которая подается от блока 47 предсказания/компенсации движения, соответственно GOP. На этапе S72 блок 49 установки опорного изображения определяет, является текущее кодируемое изображение первым изображением в GOP.
В случае, когда на этапе S72 текущее кодируемое изображение определяется как первое изображение в GOP, на этапе S73 блок 49 установки опорного изображения устанавливает флаг RPS равным "1". На этапе S74 блок 49 установки опорного изображения устанавливает индекс RPS равным «0» и процесс переходит к этапу S79.
С другой стороны, в случае, когда на этапе S72 текущее кодируемое изображение определяется как изображение, отличное от первого изображения в GOP, на этапе S75 блок 49 установки опорного изображения формирует RPS текущего кодируемого изображения.
Более конкретно, блок 49 установки опорного изображения определяет, являются ли хранящаяся информация, определяющая опорное изображение для предшествующего изображения, и информация, определяющая опорное изображение для текущего кодируемого изображения, одной и той же. В случае, когда хранящаяся информация, определяющая опорное изображение для предшествующего изображения, и информация, определяющая опорное изображение для текущего кодируемого изображения, определяются как одна и та же, блок 49 установки опорного изображения формирует RPS текущего кодируемого изображения, который содержит "1" в качестве флага inter_ref_pic_set_prediction_flag и содержит delta_idx_minus1.
С другой стороны, в случае, когда хранящаяся информация, определяющая опорное изображение предшествующего изображения, и информация, определяющая опорное изображение для текущего кодируемого изображения, определяются как неодинаковые, блок 49 установки опорного изображения формирует RPS для текущего кодируемого изображения, который содержит «0» в качестве флага inter_ref_pic_set_prediction_flag.
На этапе S76 блок 49 установки опорного изображения определяет, является ли RPS текущего кодируемого изображения тем же самым, что и RPS, содержащийся в SPS, подаваемом от блока 12 установки. На этапе S76 в случае, когда RPS текущего кодируемого изображения определяется таким же, как RPS, содержащийся в SPS, на этапе S77 блок 49 установки опорного изображения устанавливает флаг RPS равным "1".
На этапе S78 блок 49 установки опорного изображения распознает индекс RPS, содержащийся в SPS, который является тем же самым, что и RPS текущего кодируемого изображения, и процесс переходит к этапу S79. На этапе S79 блок 49 установки опорного изображения подает на блок 36 кодирования без потерь флаг RPS, установленный на этапе S73 или на этапе S77, и индекс RPS, установленный на этапе S74, или индекс RPS, который распознан на этапе S78. Затем процесс возвращается на этап S37, показанный на фиг. 12, и переходит к этапу S39.
С другой стороны, в случае, когда на этапе S76 RPS текущего кодируемого изображения, определяется как не тот же самый, что и RPS, содержащийся в SPS, блок 49 установки опорного изображения устанавливает флаг RPS равным "0". На этапе S81 блок 49 установки опорного изображения подает флаг RPS, установленный на этапе S80, и RPS, сформированный на этапе S75, на блок 36 кодирования без потерь. Затем процесс возвращается к этапу S37, показанному на фиг. 12, и переходит к этапу S39.
Как сказано выше, в случае, когда текущее кодируемое изображение является изображением, отличным от первого изображения в GOP, устройство 10 кодирования передает флаг inter_ref_pic_set_prediction_flag. Другими словами, в случае, когда текущее кодируемое изображение является первым изображением GOP, устройство 10 кодирования не передает флаг inter_ref_pic_set_prediction_flag. Соответственно, объем информации для RPS, относящейся к информации, определяющей опорное изображение, может быть уменьшен на объем, соответствующий флагу inter_ref_pic_set_prediction_flag первого изображения в GOP.
Пример конфигурации устройства декодирования, соответствующего первому варианту осуществления
На фиг. 15 представлена блок-схема примера конфигурации устройства декодирования, в котором применяется настоящая технология, соответствующего первому варианту осуществления, которое декодирует кодированный поток, переданный от блока 10 кодирования, показанного на фиг. 3.
Устройство 110 декодирования, показанное на фиг. 15, образуется приемным блоком 111, блоком 112 извлечения и блоком 113 декодирования.
Приемный блок 111 устройства 110 декодирования принимает кодированный поток, переданный от блока 10 кодирования, показанного на фиг. 3, и подает принятый кодированный поток на блок 112 извлечения.
Блок 112 извлечения извлекает SPS, PPS, кодированные данные и т.п. из кодированного потока, подаваемого от приемного блока 111. Блок 112 извлечения подает кодированные данные на блок 113 декодирования. Кроме того, блок 112 извлечения, основываясь на SPS, получает флаг inter_ref_pic_set_prediction_flag каждой RPS и delta_idx_minus1 или информацию, определяющую опорное изображение, и подает полученную информацию на блок 113 декодирования. Кроме того, блок 112 извлечения по мере необходимости подает информацию, отличную от RPS, содержащегося в SPS, PPS и т.п. на блок 113 декодирования.
Основываясь на флаге inter_ref_pic_set_prediction_flag каждого RPS и delta_idx_minus1 или на информации, определяющей опорное изображение, поданное от блока 112 извлечения, блок 113 декодирования декодирует кодированные данные, поданные от блока 112 извлечения, в соответствии с системой HEVC. В это время блок 113 декодирования по мере необходимости обращается к информации, отличной от RPS, включенного в SPS, PPS и т.п. Блок 113 декодирования выводит изображение, полученное в результате декодирования, в качестве выходного сигнала.
Пример конфигурации блока декодирования
На фиг. 16 представлена блок-схема примера конфигурации блока 113 декодирования, показанного на фиг. 15.
Блок 113 декодирования, показанный на фиг. 16, содержит накопительный буфер 131; блок 132 декодирования без потерь; блок 133 инверсного квантования; блок 134 инверсного ортогонального преобразования; блок 135 сумматора; фильтр 136 удаления блочности; фильтр 137 адаптивного смещения; адаптивный контурный фильтр 138; буфер 139 перегруппировки экрана; D/A-преобразователь 140; кадровую память 141; переключатель 142; блок 143 внутрикадрового предсказания; блок 144 установки опорного изображения; блок 145 компенсации движения; и переключатель 146.
Накопительный буфер блока 113 декодирования принимает кодированные данные от блока 112 извлечения, показанного на фиг. 15, и сохраняет принятые кодированные данные. Накопительный буфер 131 подает сохраненные декодированные данные на блок 132 декодирования без потерь.
Блок 132 декодирования без потерь выполняет декодирование без потерь, такое как декодирование переменной длины или арифметическое декодирование, для кодированных данных, поданных от накопительного буфера 131, получая, таким образом, квантованные коэффициенты и кодируемую информацию. Блок 132 декодирования без потерь подает квантованные коэффициенты на блок 133 инверсного квантования. Кроме того, блок 132 декодирования без потерь подает информацию о режиме внутрикадрового предсказания и т.п. в качестве кодируемой информации на блок 143 внутрикадрового предсказания и подает вектор движения, информацию о режиме межкадрового предсказания и т.п. на блок 145 компенсации движения. Блок 132 декодирования без потерь подает флаг RPS и индекс RPS или RPS на блок 144 установки опорного изображения в качестве кодируемой информации.
Кроме того, блок 132 декодирования без потерь подает информацию о режиме внутрикадрового предсказания или информацию о режиме межкадрового предсказания в качестве кодируемой информации на переключатель 146. Блок 132 декодирования без потерь подает информацию фильтра смещения в качестве кодируемой информации на фильтр 137 адаптивного смещения и подает коэффициент фильтра на адаптивный контурный фильтр 138.
Блок 133 инверсного квантования, блок 134 инверсного ортогонального преобразования, блок 135 сумматора, фильтр 136 удаления блочности, фильтр 137 адаптивного смещения, адаптивный контурный фильтр 138, кадровая память 141, переключатель 142, блок 143 внутрикадрового предсказания и блок 145 компенсации движения выполняют процессы, подобные процессам блока 38 инверсного квантования, блока 39 инверсного ортогонального преобразования, блока 40 сумматора, фильтра 41 удаления блочности, фильтра 42 адаптивного смещения, адаптивного контурного фильтра 43, кадровой памяти 44, переключателя 45, блока 46 внутрикадрового предсказания и блока 47 предсказания/компенсации движения, показанных на фиг. 4, посредством которых изображение декодируется.
Более конкретно, блок 133 инверсного квантования выполняет инверсное квантование квантованных коэффициентов, полученных от блока 132 декодирования без потерь, и подает полученные в результате этого коэффициенты ортогонального преобразования на блок 134 инверсного ортогонального преобразования.
Блок 134 инверсного ортогонального преобразования выполняет инверсное ортогональное преобразование коэффициентов ортогонального преобразования, полученных от блока 133 инверсного квантования. Блок 134 инверсного ортогонального преобразования подает остаточную информацию, полученную в результате инверсного ортогонального преобразования, на блок 135 сумматора.
Блок 135 сумматора служит в качестве блока декодирования и выполняет декодирование, добавляя остаточную информацию, подаваемую от блока 134 инверсного ортогонального преобразования, в качестве декодируемого изображения и предсказанное изображение, подаваемое от переключателя 146. Блок 135 сумматора подает изображение, полученное в результате декодирования, на фильтр 136 удаления блочности и кадровую память 141. Кроме того, в случае, когда предсказанное изображение не подается от переключателя 146, блок 135 сумматора подает изображение, которое является остаточной информацией, поданной от блока 134 инверсного ортогонального преобразования на фильтр 136 удаления блочности, в качестве изображения, полученного в результате декодирования, и подает изображение в кадровую память 141, чтобы сохранить ее там.
Фильтр 136 удаления блочности выполняет процесс адаптивной фильтрации удаления блочности для изображения, поданного от блока 135 сумматора, и подает полученное в результате этого изображение на фильтр 137 адаптивного смещения.
Фильтр 137 адаптивного смещения имеет буфер, в котором последовательно сохраняются смещения, подаваемые от блока 132 декодирования без потерь. Кроме того, фильтр 137 адаптивного смещения для каждого LCU выполняет процесс фильтрации адаптивного смещения для изображения после процесса адаптивной деблокирующей фильтрации, выполняемого фильтром 136 удаления блочности, основываясь на информации фильтра смещения, поданной от блока 132 декодирования без потерь.
Более конкретно, в случае, когда флаг хранения, содержащийся в информации фильтра смещения, равен «0», фильтр 137 адаптивного смещения выполняет процесс фильтрации адаптивного смещения типа, представленного информацией о типе, используя смещение, содержащееся в информации фильтра смещения для изображения после процесса фильтрации удаления блочности, выполняемого в блоках LCU.
С другой стороны, в случае, когда флаг хранения, содержащийся в информации фильтра смещения, равен "1", фильтр 137 адаптивного смещения считывает смещение, которое хранится в месте, представленном индексом, содержащимся в информации фильтра смещения для изображения после процесса фильтрации удаления блочности, выполненного в блоках LCU. Затем фильтр 137 адаптивного смещения выполняет процесс фильтрации адаптивного смещения для типа, представленного информацией о типе, используя считанное смещение. Фильтр 137 адаптивного смещения после процесса фильтрации адаптивного смещения подает изображение на адаптивный контурный фильтр 138.
Адаптивный контурный фильтр 138 выполняет процесс адаптивной контурной фильтрации для каждого LCU для изображения, поданного от фильтра 137 адаптивного смещения, используя коэффициенты фильтра, полученные от блока 132 декодирования без потерь 132. Адаптивный контурный фильтр 138 подает полученное в результате этого изображение в кадровую память 141 и на буфер 139 перегруппировки экрана.
Буфер 139 перегруппировки экрана сохраняет изображения, полученные от адаптивного контурного фильтра 138 в блоках кадров. Буфер 139 перегруппировки экрана перегруппирует хранящиеся изображения, которые находятся в блоках кадров, упорядоченные для кодирования в первоначальном порядке, и подает перегруппированные изображения на D/A-преобразователь 140.
D/A-преобразователь 140 выполняет D/A-преобразование изображения, которое конфигурировано в блоках кадров, поданных от буфера 139 перегруппировки экрана, и выводит преобразованное изображение в качестве выходного сигнала. Кадровая память 141 сохраняет изображение, поданное от адаптивного контурного фильтра 138 и изображение, поданное от блока 135 сумматора. Изображение, хранящееся в кадровой памяти 141, считывается в качестве опорного изображения и подается на блок 145 компенсации движения или на блок 143 внутрикадрового предсказания через переключатель 142.
Блок 143 внутрикадрового предсказания выполняет процесс внутрикадрового предсказания в режиме внутрикадрового предсказания, представленном информацией о режиме внутрикадрового предсказания, поданной от блока 132 декодирования без потерь, используя опорное изображение, считанное из кадровой памяти 141 через переключатель 142. Блок 143 внутрикадрового предсказания подает сформированное в результате этого предсказанное изображение на переключатель 146.
Блок 144 установки опорного изображения сохраняет флаг inter_ref_pic_set_prediction_flag каждого RPS и delta_idx_minus1 или информацию, определяющую опорное изображение, поданную от блока 112 извлечения, показанного на фиг. 15, в качестве информации RPS. Кроме того, блок 144 установки опорного изображения формирует информацию, определяющую опорное изображение, для текущего декодируемого изображения, основываясь на флаге RPS и индексе RPS или RPS и информации RPS для каждого RPS, которые подаются от блока 132 декодирования без потерь 132. Блок 144 установки опорного изображения подает сформированную информацию, определяющую опорное изображение, на блок 145 компенсации движения и сохраняет информацию, определяющую опорное изображение.
Блок 145 компенсации движения считывает опорное изображение, указанное информацией, определяющей опорное изображение, из кадровой памяти 141 через переключатель 142, основываясь на информации, определяющей опорное изображение, поданной от блока 144 установки опорного изображения. Блок 145 компенсации движения служит блоком формирования предсказанного изображения и выполняет процесс компенсации движения в оптимальном режиме межкадрового предсказания, который представляется информацией о режиме межкадрового предсказания, используя вектор движения и опорное изображение. Блок 145 компенсации движения подает предсказанное изображение, сформированное в результате этого, на переключатель 146.
В случае, когда информация о режиме внутрикадрового предсказания подается от блока 132 декодирования без потерь, переключатель 146 подает предсказанное изображение, поданное от блока 143 внутрикадрового предсказания, на блок 135 сумматора. С другой стороны, в случае, когда информация о режиме межкадрового предсказания подается от блока 132 декодирования без потерь 132, переключатель 146 подает предсказанное изображение, поданное от блока 145 компенсации движения, на блок 135 сумматора.
Описание процесса работы устройства декодирования
На фиг. 17 представлена блок-схема последовательности выполнения операций процесса приема, выполняемого устройством 110 декодирования, показанным на фиг. 15.
На этапе S111, показанном на фиг. 17, приемный блок 111 устройства 110 декодирования принимает кодированный поток, переданный от устройства 10 кодирования, показанного на фиг. 3, и подает принятый кодированный поток на блок 112 извлечения.
На этапе S112 блок 112 извлечения извлекает SPS, PPS, кодированные данные и т.п. из кодированного потока, полученного от приемного блока 111. Блок 112 извлечения подает кодированные данные на блок 113 декодирования. Кроме того, при необходимости блок 112 извлечения подает информацию, отличную от RPS, который содержится в SPS, PPS и т.п. на блок 113 декодирования.
На этапе S113, блок 112 извлечения получает флаг inter_ref_pic_set_prediction_flag каждого RPS и delta_idx_minus1 или информацию, определяющую опорное изображение, в качестве информации RPS, основываясь на SPS, и подает полученную информацию на блок 113 декодирования.
На этапе S114 блок 113 декодирования выполняет процесс декодирования для декодирования кодированных данных, поданных от блока 112 извлечения, в соответствии с системой HEVC, основываясь на информации RPS каждой RPS, подаваемой от блока 112 извлечения. Этот процесс декодирования будет описан подробно со ссылкой на фиг. 19, который будет описан позже. На этом процесс заканчивается.
На фиг. 18 представлена блок-схема последовательности выполнения операций процесса установки RPS, представленного на этапе S113, подробно показанном на фиг. 17.
На этапе S120, показанном на фиг. 18, блок 112 извлечения получает num_short_term_ref_pic_sets, который содержится в SPS (фиг. 5). На этапе S121 блок 112 извлечения устанавливает равным "0" индекс i для RPS, который соответствует сформированному RPS. На этапе S122 определяется, является ли индекс i для RPS равным "0".
В случае, когда на этапе S122 определяется, что индекс i равен "0", на этапе S123 блок, 112 извлечения устанавливает флаг inter_ref_pic_set_prediction_flag, содержащийся в информации RPS для RPS индекса i, равным "0" и процесс переходит к этапу S125.
С другой стороны, в случае, когда на этапе S122 определяется, что индекс i не равен "0", на этапе S124 блок 112 извлечения получает флаг inter_ref_pic_set_prediction_flag, содержащийся в RPS индекса i, который содержится в SPS. Затем блок 112 извлечения устанавливает полученный флаг inter_ref_pic_set_prediction_flag в качестве флага inter_ref_pic_set_prediction_flag, содержащегося в информации RPS для RPS индекса i, и процесс переходит к этапу S125.
На этапе S125 блок 112 извлечения определяет, является ли флаг inter_ref_pic_set_prediction_flag равным "1". В случае, когда на этапе S125 определено, что флаг inter_ref_pic_set_prediction_flag равен "1", на этапе S126 блок 112 извлечения получает delta_idx_minus1, содержащийся в RPS индекса i, который содержится в SPS. Затем блок 112 извлечения устанавливает полученный delta_idx_minus1 в качестве delta_idx_minus1, содержащегося в информации RPS для RPS индекса i, и процесс переходит к этапу. S128.
С другой стороны, в случае, когда на этапе S125 определено, что флаг inter_ref_pic_set_prediction_flag не равен "1", на этапе S127 блок 112 извлечения получает информацию, определяющую опорное изображение, содержащуюся в RPS индекса i, содержащегося в SPS. Затем блок 112 извлечения устанавливает полученную информацию, определяющую опорное изображение, в качестве информации, определяющей опорное изображение, содержащейся в информацию RPS для RPS индекса i, и процесс переходит к этапу S128.
На этапе S128 блок 112 извлечения дает индексу i приращение на единицу. На этапе S129 блок 112 извлечения определяет, является ли индекс i равным или большим num_short_term_ref_pic_sets, полученному на этапе S120.
В случае, когда на этапе S129 определяется, что индекс i не равен num_short_term_ref_pic_sets или не больше, процесс возвращается к этапу S122 и процесс этапов S122-S129 повторяется, пока индекс i не станет равным или большим, чем num_short_term_ref_pic_sets.
С другой стороны, в случае, когда на этапе S129 определяется, что индекс i должен быть равным num_short_term_ref_pic_sets или более, на этапе S130 блок 112 извлечения подает информацию RPS для RPS, количество которых устанавливается как набор num_short_term_ref_pic_sets. Затем процесс возвращается к этапу S113, показанному на фиг. 17, и процесс переходит к этапу S114.
На фиг. 19 представлена блок-схема последовательности выполнения операций процесса декодирования, представленного на этапе S114, подробно показанном на фиг. 17.
На этапе S131, показанном на фиг. 19, накопительный буфер 131 блока 113 декодирования принимает кодированные данные, конфигурированные в блоках кадров, от блока 112 извлечения, показанного на фиг. 15, и сохраняет принятые кодированные данные. Накопительный буфер 131 подает сохраненные кодированные данные на блок 132 декодирования без потерь.
На этапе S132 блок 132 декодирования без потерь выполняет декодирование без потерь кодированных данных, поданных из накопительного буфера 131, получая, таким образом, квантованные коэффициенты и кодируемую информацию. Блок 132 декодирования без потерь подает квантованные коэффициенты на блок 133 инверсного квантования. Кроме того, блок 132 декодирования без потерь подает информацию о режиме внутрикадрового предсказания и т.п. как информацию кодирования на блок 143 внутрикадрового предсказания и подает вектор движения, информацию о режиме межкадрового предсказания, флаг RPS, индекс RPS или RPS и т.п. на блок 145 компенсации движения.
Кроме того, блок 132 декодирования без потерь подает информацию о режиме внутрикадрового предсказания или информацию о режиме межкадрового предсказания в качестве кодируемой информации на переключатель 146. Блок 132 декодирования без потерь подает информацию фильтра смещения в качестве кодируемой информации на фильтр 137 адаптивного смещения и подает коэффициенты фильтра на адаптивный контурный фильтр 138.
На этапе S133 блок 133 инверсного квантования 133 выполняет инверсное квантование квантованных коэффициентов, поданных от блока 132 декодирования без потерь, и подает полученные в результате этого коэффициенты ортогонального преобразования на блок 134 инверсного ортогонального преобразования.
На этапе S134 блок 145 компенсации движения определяет, подается ли от блока 132 декодирования без потерь информация о режиме межкадрового предсказания. На этапе S134 в случае, когда информация о режиме межкадрового предсказания определяется как поданная, процесс переходит к этапу S135.
На этапе S135 блок 144 установки опорного изображения формирует информацию, определяющую опорное изображение текущего декодируемого изображения, основываясь на информации RPS для каждого RPS, поданного от блока 112 извлечения, и флаг RPS и индекс RPS или RPS, подаваемый от блока 132 декодирования без потерь, и сохраняет сформированную информацию, определяющую опорное изображение.
Более конкретно, блок 144 установки опорного изображения сохраняет информацию RPS для каждого RPS, который подается от блока 112 извлечения. В случае, когда флаг RPS равен "1", блок 144 установки опорного изображения считывает информацию RPS индекса RPS, который содержится в сохраненной информации RPS. Затем, в случае, когда флаг inter_ref_pic_set_prediction flag, содержащийся в считанной информации RPS, равен «0», блок 144 установки опорного изображения формирует информацию, определяющую опорное изображение, содержащуюся в информации RPS в качестве информации, определяющей опорное изображение текущего декодируемого изображения, и сохраняет сформированную информацию, определяющую опорное изображение.
С другой стороны, в случае, когда флаг inter_ref_pic_set_prediction_flag равен "1", блок 144 установки опорного изображения считывает информацию, определяющую опорное изображение для предшествующего изображения, которое определяется посредством delta_idx_minus1, содержащегося в информации RPS из числа хранящейся информации, определяющей опорное изображение. Затем блок 144 установки опорного изображения формирует и сохраняет считанную информацию, определяющую опорное изображение для предшествующего изображения, в качестве информации, определяющей опорное изображение текущего декодируемого изображения.
Кроме того, в случае, когда флаг RPS равен «0» и флаг inter_ref_pic_set_prediction_flag, содержащийся RPS, который подается от блока 132 декодирования без потерь вместе с флагом RPS, равен «0», блок 144 установки опорного изображения формирует информацию, определяющую опорное изображение, содержащуюся в RPS в качестве информации, определяющей опорное изображение текущего декодируемого изображения, и сохраняет сформированную информацию, определяющую опорное изображение. С другой стороны, в случае, когда флаг inter_ref_pic_set_prediction_flag равен "1", блок 144 установки опорного изображения считывает информацию, определяющую опорное изображение для предшествующего изображения, указанного delta_idx_minus1, содержащимся в RPS, из числа хранящейся информации, определяющей опорное изображение. Затем блок 144 установки опорного изображения формирует считываемую информацию, определяющую опорное изображение для предшествующего изображения, в качестве информации, определяющей опорное изображение для текущего декодируемого изображения, и сохраняет сформированную информацию, определяющую опорное изображение.
На этапе S136 блок 145 компенсации движения считывает опорное изображение, основываясь на информации, определяющей опорное изображение, поданной от блока 144 установки опорного изображения, и выполняет процесс компенсации движения в оптимальном режиме межкадрового предсказания, представленный информацией о режиме межкадрового предсказания, используя вектор движения и опорное изображение. Блок 145 компенсации движения подает предсказанное изображение, сформированное в результате этого, на блок 135 сумматора через переключатель 146 и процесс переходит к этапу S138.
С другой стороны, в случае, когда на этапе S134 определяется, что информация о режиме межкадрового предсказания не подается, другими словами, в случае, когда на блок 143 внутрикадрового предсказания подается информация о режиме внутрикадрового предсказания, процесс переходит к этапу S137.
На этапе S137 блок 143 внутрикадрового предсказания выполняет процесс внутрикадрового предсказания в режиме внутрикадрового предсказания, представленного информацией о режиме внутрикадрового предсказания, используя опорное изображение, считанное из кадровой памяти 141 через переключатель 142. Блок 143 внутрикадрового предсказания подает предсказанное изображение, сформированное в результате процесса внутрикадрового предсказания, на блок 135 сумматора через переключатель 146 и процесс переходит к этапу S138.
На этапе S138 блок 134 инверсного ортогонального преобразования выполняет инверсное ортогональное преобразование для коэффициентов ортогонального преобразования, полученных от блока 133 инверсного квантования, и подает полученную в результате остаточную информацию на блок 135 сумматора.
На этапе S139 блок 135 сумматора складывает остаточную информацию, полученную от блока 134 инверсного ортогонального преобразования, и предсказанное изображение, полученное от переключателя 146. Блок 135 сумматора подает полученное в результате этого изображение на фильтр 136 удаления блочности и подает полученное изображение на кадровую память 141.
На этапе S140 фильтр 136 удаления блочности выполняет процесс фильтрации удаления блочности для изображения, поданного от блока 135 сумматора, удаляя, таким образом, блочное искажение. Фильтр 136 удаления блочности подает изображение, полученное в результате этого, на фильтр 137 адаптивного смещения.
На этапе S141 фильтр 137 адаптивного смещения выполняет процесс фильтрации адаптивного смещения для каждого LCU для изображения после того, как фильтром 136 удаления блочности выполняется процесс фильтрации удаления блочности, основанный на информации фильтра смещения, поданной от блока 132 декодирования без потерь. Фильтр 137 адаптивного смещения после процесса фильтрации адаптивного смещения подает изображение на адаптивный контурный фильтр 138.
На этапе S142 адаптивный контурный фильтр 138 выполняет процесс адаптивной контурной фильтрации для каждого LCU изображения, поданного от фильтра 137 адаптивного смещения, используя коэффициенты фильтра, полученные от блока 132 декодирования без потерь. Адаптивный контурный фильтр 138 подает полученное в результате этого изображение в кадровую память 141 и на буфер 139 перегруппировки экрана.
На этапе S143 кадровая память 141 сохраняет изображение, поданное от блока 135 сумматора, и изображение, поданное от адаптивного контурного фильтра 138. Изображения, сохраненные в кадровой памяти 141, подаются на блок 145 компенсации движения или на блок 143 внутрикадрового предсказания через переключатель 142 в качестве опорного изображения.
На этапе S144 буфер 139 перегруппировки экрана сохраняет изображения, поданные от адаптивного контурного фильтра 138, в блоках кадров и перегруппирует хранящиеся изображения, конфигурированные в блоках кадров в порядке кодирования, в первоначальный порядок отображения и подает перегруппированные изображения на D/A-преобразователь 140.
На этапе S145 D/A-преобразователь 140 выполняет D/A-преобразование для изображения, конфигурированного в блоках кадров, поданного от буфера 139 перегруппировки экрана 139, и выводит преобразованное изображение в качестве выходного сигнала. Затем процесс возвращается к этапу S114, показанному на фиг. 17, и процесс заканчивается.
Как сказано выше, устройство 110 декодирования принимает флаг inter_ref_pic_set_prediction_flag, передаваемый в случае, когда текущее кодируемое изображение является изображением, отличным от первого изображения в GOP. В случае, когда флаг inter_ref_pic_set_prediction_flag принят, устройство 110 декодирования формирует информацию, определяющую опорное изображение, для текущего декодируемого изображения, основываясь на флаге inter_ref_pic_set_prediction_flag. С другой стороны, в случае, когда флаг inter_ref_pic_set_prediction_flag не принят, устройство 110 декодирования формирует информацию, определяющую опорное изображение, для текущего декодируемого изображения, основываясь на "0", как на флаге inter_ref_pic_set_prediction_flag.
В результате устройство 110 декодирования может декодировать кодированный поток, в котором объем информации RPS уменьшен на объем, соответствующий флагу inter_ref_pic_set_prediction_flag первого изображения в GOP.
Второй вариант осуществления
Пример устройства кодирования, соответствующего второму варианту осуществления
На фиг. 20 представлена блок-схема примерной конфигурации устройства кодирования, к которому применяется настоящая технология и которое соответствует второму варианту осуществления.
Здесь, одна и та же ссылочная позиция назначается в каждой конфигурации, показанной на фиг. 20, которая является той же самой, что и конфигурация, показанная на фиг. 3, и повторное ее описание приводиться не будет.
Конфигурация устройства 150 кодирования, показанная на фиг. 20, отличается от конфигурации устройства 10 кодирования, показанного на фиг. 3, тем, что блок 151 установки вводится вместо блока 12 установки. Устройство 150 кодирования устанавливает SPS таким образом, что флаг inter_ref_pic_set_prediction_flag и delta_idx_minus1 могут совместно использоваться в блоках GOP.
Более конкретно, блок 151 установки устанавливает RPS, содержащие флаг inter_ref_pic_set_prediction_flag, delta_idx_minus1, информацию, определяющую опорное изображение, и т.п. по мере необходимости и назначает индекс каждого RPS. Блок 151 установки подает RPS, которым назначены индексы, на блок 11 кодирования 11. Кроме того, блок 151 установки содержит ссылочную недоступную информацию, представляющую, равен ли "0" флаг inter_ref_pic_set_prediction_flag в RPS и всех картинок внутри GOP и по мере необходимости устанавливает delta_idx_minus1 для SPS, который является общим для всех изображений в пределах GOP. Блок 151 установки устанавливает PPS и т.п.
Кроме того, блок 151 установки, подобный блоку 12 установки, показанному на фиг. 3, формирует кодированный поток, основываясь на SPS и PPS, которые были установлены, и кодированных данных, поданных от блока 11 кодирования. Блок 151 установки, подобный блоку 12 установки, подает кодированный поток на блок 13 передачи.
Пример синтаксиса SPS
На фиг. 21 представлен пример синтаксиса SPS, который устанавливается блоком 151 установки, показанным на фиг. 20.
Как показано в четвертой строке на фиг. 21, в SPS содержится недоступная ссылочная информация (disable_rps_prediction_flag). Кроме того, как показано в пятой и шестой строках, в случае, когда ссылочная недоступная информация равна "0", что не представляет ситуацию, когда флаг inter_ref_pic_set_prediction_flag равен "0" во всех картинках внутри GOP, информация идентичности (unified_rps_prediction_control_present_flag), представляющая, идентичен ли delta_idx_minus1 во всех картинках внутри GOP, вводится в SPS.
Дополнительно, как показано в седьмой и восьмой строках, в случае, когда информация идентичности равна "1", представляя, что delta_idx_minus1 идентично на всех картинках в пределах GOP, umfied_delta_idx_minus1, который является delta_idx_minus1, общим для всех картинах в пределах GOP, содержится в SPS. Кроме того, как показано в 11-ой строке, RPS каждого индекса (i) содержится в SPS.
Пример синтаксиса RPS
На фиг. 22 представлен пример синтаксиса RPS.
Описания 11-ой и последующих строк, показанных на фиг. 22, являются такими же, как описания пятой и последующих строк, показанных на фиг. 1.
Как показано во второй и третьей строках на фиг. 22, в случае, когда флаг disable_rps_prediction_flag равен "1", в RPS флаг inter_ref_pic_set_prediction_flag не вводится, а информация, определяющая опорное изображение, вводится в случае, когда вводится флаг inter_ref_pic_set_prediction_flag, равный «0».
С другой стороны, как показано в четвертой и пятой строках, в случае, когда флаг disable_rps_prediction_flag равен «0», в RPS вводится флаг inter_ref_pic_set_prediction_flag. Кроме того, как показано в шестой-восьмой строках, в случае, когда флаг inter_ref_pic_set__prediction_flag и флаг unified_rps_prediction_control_present_flag соответственно равны "1", в RPS delta_idx_minus1 не вводится и delta_idx_minus1 является unified_delta_idx_minus1.
Дополнительно, как показано в девятой и десятой строках, в случае, когда флаг inter_ref_pic_set_prediction_flag равен "1" и флаг unified_rps_prediction_control_present_flag равен «0», delta_idx_minus1 вводится в RPS.
Описание преимуществ настоящей технологии
На фиг. 23 и 24 показано количество информации RPS, который устанавливается блоком 151 установки, показанным на фиг. 20, и на фиг. 25 показано количество информации для традиционного RPS.
В примере, показанном на фиг. 23, информация, определяющая опорное изображение для каждой второй картинки и восьмой картинки от начала в пределах GOP, идентична информации, определяющей опорное изображение для соответствующей предшествующей картинки в порядке кодирования.
В этом случае, как показано на фиг. 23, блок 151 установки устанавливает «0» в качестве флага disable_rps_prediction_flag и устанавливает "1" в качестве флага unified_rps_prediction_control_present_flag. Кроме того, блок 151 установки устанавливает «0» в качестве unified_delta_idx_minus1.
Дополнительно, блок 151 установки, например, в качестве RPS, для которого индекс равен «0», устанавливает «0» в качестве флага inter_ref_pic_set_prediction_flag и устанавливает информацию, определяющую опорное изображение, для первого изображения в GOP. Кроме того, блок 151 установки, в качестве RPS, для которого индекс равен "1", устанавливает "1" в качестве флага inter_ref_pic_set_prediction_flag. Таким образом, индекс RPS первой картинки в GOP устанавливается равным «0» и индексы RPS второй и восьмой картинок устанавливаются равными "1".
Как сказано выше, блок 151 установки устанавливает delta_idx_minus1, который является общим, для всех картинок внутри GOP, как unified_delta_idx_minus1. Соответственно, блок 151 установки может установить delta_idx_minus1 в блоках GOP.
Кроме того, в примерах, показанных на фиг. 24 и 25, информация, определяющая опорное изображение для всех картинок в пределах GOP, не идентична информации, определяющей опорное изображение, для соответствующих предшествующих картинок в порядке кодирования.
В этом случае, как показано на фиг. 24, блок 151 установки устанавливает "1" в качестве disable_rps_prediction_flag и в качестве RPS, соответствующего каждой картинке внутри GOP, устанавливает для картинки информацию, определяющую опорное изображение. Напротив, в традиционном случае, показанном на фиг. 25, в качестве RPS, соответствующего каждой картинке внутри GOP, устанавливается «0» в качестве флага inter_ref_pic_set_prediction_flag и для картинки устанавливается информация, определяющая опорное изображение.
Как сказано выше, блок 151 установки устанавливает «0» в качестве флага inter_ref_pic_set_prediction_flag, обычного для всех картинок внутри GOP, как флаг disable_rps_prediction_flag. Соответственно, в случае, когда disable_rps_prediction_flag равен "1", объем информации RPS может быть уменьшен на величину, соответствующую inter_ref_pic_set_prediction_flag для традиционного случая.
Описание процесса работы устройства кодирования
Процесс формирования, выполняемый устройством 150 кодирования, показанным на фиг. 20, является таким же, как процесс формирования, показанный на фиг. 10, за исключением процесса установки RPS и, таким образом, здесь далее будет описан только процесс установки RPS.
На фиг. 26 подробно представлена блок-схема последовательности выполнения операций процесса установки RPS, выполняемого блоком 151 установки устройства 150 кодирования.
На этапе S161, показанном на фиг. 26, блок 151 установки устанавливает флаг disable_rps_prediction_flag в качестве SPS. На этапе S162 блок 151 установки определяет, равен ли "1" флаг disable_rps_prediction_flag. В случае, когда на этапе S162 определено, что флаг disable_rps_prediction_flag не равен "1", на этапе S163 блок 151 установки устанавливает флаг unified_rps_prediction_control_present_flag в качестве SPS. На этапе S164 блок - 151 установки определяет, равен ли "1" флаг unified_rps_prediction_control_present_flag. На этапе S164, в случае, когда определяется, что флаг unified_rps_prediction_control_present_flag равен "1", на этапе S165 блок 151 установки устанавливает unified_delta_idx_minus1 в качестве SPS и процесс переходит к этапу S166.
В случае, когда на этапе S162 определено, что флаг disable_rps_prediction flag равен "1" или в случае, когда на этапе S164 определено, что флаг unified_rps_prediction_control_present_flag равен «0», процесс переходит к этапу S166.
На этапе S166 блок 151 установки устанавливает индекс i для RPS равным «0». На этапе S167 блок 151 установки определяет, является ли флаг disable_rps_prediction_flag равным "1". В случае, когда на этапе S167 определено, что флаг disable_rps_prediction_flag равен "1", на этапе S168 блок 151 установки устанавливает флаг inter_ref_pic_set_prediction_flag равным «0» и процесс переходит к этапу S170.
С другой стороны, в случае, когда на этапе S167 определено, что флаг disable_rps_prediction_flag не равен "1", на этапе S169 блок 151 установки устанавливает флаг inter_ref_pic_set_prediction_flag для RPS индекса I и процесс переходит к этапу S170.
На этапе S170, блок 151 установки определяет, равен ли "1" флаг inter_ref_pic_set_prediction_flag. В случае, когда на этапе S170 определено, что флаг inter_ref_pic_set_prediction_flag равен "1", на этапе S171 блок 151 установки определяет, равен ли "1" флаг unified_rps_prediction_control_present_flag.
В случае, когда на этапе S171 определяется, что флаг unified_rps_prediction_control_present_flag равен "1", процесс переходит к этапу S174. С другой стороны, в случае, когда на этапе S171 определено, что флаг unified_rps_prediction_control_present_flag не равен "1", на этапе S172 блок 151 установки устанавливает delta_idx_minus1 в качестве RPS индекса i и процесс переходит к этапу S174.
Кроме того, в случае, когда на этапе S170 определено, что флаг inter_ref_pic_set_prediction_flag не равен "1", на этапе S173 блок 151 установки устанавливает информацию, определяющую опорное изображение, в качестве RPS индекса i и процесс переходит к этапу S174.
На этапе S174 блок 151 установки дает индексу i приращение на единицу. На этапе S175 блок 151 установки определяет, является ли индекс i числом num_short_term_ref_pic_sets или больше для RPS, содержащегося в SPS.
В случае, когда на этапе S175 определяется, что индекс i не равен num_short_term_ref_pic_sets или более, процесс возвращается к этапу S167 и процесс этапов S167- S175 повторяется, пока индекс i не станет равен или больше, чем num_short_term_ref_pic_sets.
С другой стороны, в случае, когда на этапе S175 определяется, что индекс i равен или больше, чем num_short_term_ref_pic_sets, процесс установки RPS завершается.
Как сказано выше, поскольку устройство 150 кодирования устанавливает флаг disable_rps_prediction_flag, то в случае, когда флаг disable_rps_prediction_flag равен "1", количество информации RPS, связанной с информацией, определяющей опорное изображения, может быть уменьшено на количество информации, соответствующее флагу inter_ref_pic_set_prediction_flag для традиционного случая. Кроме того, флаг inter_ref_pic_set_prediction_flag может быть установлен в блоках GOP.
Дополнительно, поскольку устройство 150 кодирования устанавливает delta_idx_minus1, общий для всех картинок в пределах GOP, как unified_delta_idx_minus1, delta_idx_minus1 может устанавливаться в блоках GOP.
Пример конфигурации устройства декодирования, соответствующего второму варианту осуществления
На фиг. 27 представлена блок-схема примера конфигурации устройства декодирования, к которому применяется настоящая технология, соответствующего второму варианту осуществления, которое декодирует кодированный поток, переданный от устройства 150 кодирования, показанного на фиг. 20.
Здесь, одна и та же ссылочная позиция назначается в каждой конфигурации, показанной на фиг. 27, которая является той же самой, что и конфигурация, показанная на фиг. 15, и повторное ее описание приводиться не будет.
Конфигурация устройства 170 декодирования, показанная на фиг. 27, отличается от конфигурации устройства 110 декодирования, показанной на фиг. 15, тем, что блок 171 извлечения установлен вместо блока 112 извлечения. Устройство 170 декодирования устанавливает информацию RPS для каждого RPS, основываясь на SPS, показанном на фиг. 21.
Более конкретно, блок 171 извлечения устройства 170 декодирования, подобный блоку 112 извлечения, показанному на фиг. 15, извлекает SPS, PPS, кодированные данные и т.п. из кодированного потока, подаваемого от приемного блока 111. Блок 171 извлечения, подобный блоку 112 извлечения, подает кодированные данные на блок 113 декодирования. Кроме того, блок 171 извлечения, основываясь на SPS, показанном на фиг. 21, получает информацию RPS для каждого RPS и подает полученную информацию RPS на блок 113 декодирования. Кроме того, блок 171 извлечения, подобный блоку 112 извлечения, по мере необходимости также подает информацию, отличную от RPS, содержащуюся в SPS, PPS и т.п., на блок 113 декодирования.
Описание процесса работы устройства декодирования
Процесс приема, выполняемый устройством 170 декодирования, показанным на фиг. 27, является таким же, как процесс приема, показанный на фиг. 17, за исключением процесса установки RPS, и, таким образом, здесь далее будет описываться только процесс установки RPS.
На фиг. 28 подробно представлена блок-схема последовательности выполнения операций процесса установки RPS, выполняемого устройством 170 декодирования, показанным на фиг. 27.
На этапе S191, показанном на фиг. 28, блок 171 извлечения получает num_short_term_ref_pic_sets, содержащийся в SPS (фиг. 21). На этапе S192 блок 171 извлечения получает флаг disable_rps_prediction_flag, содержащийся в SPS. На этапе S193, блок 171 извлечения определяет, является ли полученный флаг disable_rps_prediction_flag равным "1".
В случае, когда на этапе S193 определено, что флаг disable_rps_prediction_flag не равен "1", на этапе S194 блок 171 извлечения получает флаг unified_rps_prediction_control_present_flag, содержащийся в SPS. На этапе S195 блок 171 извлечения определяет, является ли полученный флаг unified_rps_prediction_control_present_flag равным "1".
В случае, когда на этапе S195 определено, что флаг unified_rps_prediction_control_present flag равен "1", блок 171 извлечения получает unified_delta_idx_minus1, содержащийся в SPS, и процесс переходит к этапу S197.
С другой стороны, в случае, когда на этапе S195 определено, что unified_delta_idx_minus1 не равен "1", процесс переходит к этапу S197. Кроме того, в случае, когда на этапе S193 определено, что флаг disable_rps_prediction_flag равен "1", процесс переходит к этапу S197.
На этапе S197 блок 171 извлечения устанавливает индекс i для RPS, соответствующего сформированной информации RPS, равным "0". На этапе S198 блок 171 извлечения определяет, является ли полученный на этапе S192 флаг disable_rps_prediction_flag равным «1».
В случае, когда на этапе S198 определяется, что флаг disable_rps_prediction_flag равен "1", на этапе S199 блок 171 извлечения устанавливает флаг inter_ref_pic_set__prediction_flag, содержащийся в информации RPS для RPS индекса I, равным "0" и процесс переходит к этапу S201.
С другой стороны, в случае, когда на этапе S198 определено, что флаг disable_rps_prediction_flag не равен "1", на этапе S200 блок 171 извлечения получает флаг inter_ref_pic_set_prediction_flag, содержащийся в RPS индекса i, который содержится в SPS. Затем блок 171 извлечения устанавливает полученный флаг inter_ref_pic_set_prediction_flag в качестве флага inter_ref_pic_set_prediction_flag, содержащегося в информации RPS для RPS индекса i, и процесс переходит к этапу S201.
На этапе S201 блок 171 извлечения определяет, равен ли "1" флаг inter_ref_pic_set_prediction_flag. В случае, когда на этапе S201 определено, что флаг inter_ref_pic_set_prediction_flag равен "1", на этапе S202 блок 171 извлечения определяет, является ли флаг unified_rps_prediction_control_present_flag, полученный на этапе S194, равен "1".
В случае, когда на этапе S202 определяется, что флаг unified_rps_prediction_control_present_flag равен "1", процесс переходит к этапу S203. На этапе S203 блок 171 извлечения устанавливает unified_delta_idx_minus1, полученный на этапе S196, в качестве unified_delta_idx_minus1, содержащегося в информации RPS для RPS индекса i, и процесс переходит к этапу S206.
С другой стороны, в случае, когда на этапе S202 определено, что флаг unified_rps_prediction_control_present flag не равен "1", на этапе S204 блок 171 извлечения получает delta_idx_minus1, содержащийся в RPS индекса i, который введен в SPS. Затем блок 171 извлечения устанавливает полученный delta_idx_minus1 в качестве delta_idx_minus1, содержащегося в информации RPS для RPS индекса i, и процесс переходит к этапу S206.
С другой стороны, в случае, когда на этапе S201 определено, что флаг inter_ref_pic_set_prediction_flag не равен "1", на этапе S205 блок 171 извлечения получает информацию, определяющую опорное изображение, содержащуюся в RPS индекса i, который содержится в SPS. Затем блок 171 извлечения устанавливает полученную информацию, определяющую опорное изображение, в качестве информации, определяющей опорное изображение, содержащейся в информации RPS для RPS индекса i, и процесс переходит к этапу S206.
Процесс на этапах S206-S208 подобен процессу на этапах S128-S130, показанных на фиг. 18, и его описание повторно не приводится.
Как сказано выше, устройство 170 декодирования принимает флаг disable_rps_prediction_flag и формирует информацию, определяющую опорное изображение, для текущего декодируемого изображения, основываясь на флаге disable_rps_prediction_flag. В результате, в случае, когда флаг disable_rps_prediction_flag равен "1", устройство 170 декодирования может декодировать кодированный поток, в котором количество информации RPS уменьшается на количество информации соответствующее флагу inter_ref_pic_set_prediction_flag.
Кроме того, устройство 170 декодирования принимает delta_idx_minus1, который является общим для всех картинок внутри GOP, в качестве unified_delta_idx_minus1 и формирует информацию, определяющую опорное изображение, для текущего декодируемого изображения, основываясь на unified_delta_idx_minus1. В результате устройство 170 декодирования может декодировать кодированный поток, в котором delta_idx_minus1 установлен в блоках GOP.
Третий вариант осуществления
Пример конфигурации устройства декодирования, соответствующего третьему варианту осуществления
На фиг. 29 представлена блок-схема примера конфигурации устройства кодирования, к которому применяется настоящая технология, соответствующего третьему варианту осуществления.
Здесь одна и та же ссылочная позиция назначается в каждой конфигурации, показанной на фиг. 29, которая является такой же, как конфигурация, показанная на фиг. 3, и описание ее повторяться не будет.
Конфигурация устройства 190 кодирования, показанная на фиг. 29, отличается от конфигурации устройства 10 кодирования, показанной на фиг. 3, тем, что блок 191 установки устанавливается вместо блока 12 установки. Устройство 190 кодирования получается, объединяя устройство 10 кодирования, показанное на фиг. 3, и устройство 150 кодирования, показанное на фиг. 20.
Более конкретно, блок 191 установки устройства 190 кодирования устанавливает RPS, содержащий RPS, который не содержит флаг inter_ref_pic_set_prediction_flag, но, по мере необходимости, содержит информацию, определяющую опорное изображение, и RPS, содержащий флаг inter_ref_pic_set_prediction_flag, delta_idx_minus1, информацию, определяющую опорное изображение, и т.п. Кроме того, блок 191 установки назначает индекс каждой RPS. Здесь, в качестве индекса RPS, который не содержит флаг inter_ref_pic_set_prediction_flag, но содержит информацию, определяющую опорное изображение, назначается "0".
Блок 191 установки подает RPS, которым назначены индексы, на блок 11 кодирования. Кроме того, блок 191 установки устанавливает SPS, содержащий RPS и флаг disable_rps_prediction_flag и, по мере необходимости, вводит флаг unified_rps_prediction_control_present_flag и unified_delta_idx_minus1. Блок 191 установки устанавливает PPS и т.п.
Кроме того, блок 191 установки, подобно блоку 12 установки, показанному на фиг. 3, формирует кодированный поток, основываясь на SPS и PPS, которые были установлены, и кодированных данных, поданных от блока 11 кодирования. Блок 191 установки, подобно блоку 12 установки, подает кодированный поток на блок 13 передачи.
Пример синтаксиса SPS
На фиг. 30 представлен пример синтаксиса SPS, устанавливаемого блоком 191 установки, показанным на фиг. 29.
Конфигурация, показанная на фиг. 30, является той же самой, что и конфигурация, показанная на фиг. 21, и поэтому ее описание не приводится.
Пример синтаксиса RPS
На фиг. 31 показан пример синтаксиса RPS.
Хотя на чертеже не показано, описания 11-ой строки и последующих строк, показанных на фиг. 31, являются такими же, как описания пятой и последующих строк, показанных на фиг. 1.
Как показано во второй строке и третьей строке на фиг. 31, в случае, когда индекс (idx) равен «0», или в случае, когда флаг disable_rps_prediction_flag равен "1", в RPS флаг inter_ref_pic_set_prediction_flag не вводится, но информация, определяющая опорное изображение, содержащееся в случае, когда флаг inter_ref_pic_set_prediction_flag равен «0», вводится.
Описания четвертой-десятой строк являются такими же, как описания четвертой-десятой строк, показанных на фиг. 22, и поэтому их описания не приводятся. Описание преимуществ настоящей технологии
На фиг. 32 приведена диаграмма, показывающая объем информации RPS, который устанавливается блоком 191 установки, показанный на фиг. 29.
В примере, показанном на фиг. 32, информация, определяющая опорное изображение второй и восьмой картинок от начала GOP, является той же самой, что и информация, определяющая опорное изображение предшествующей картинки в порядке кодирования.
В этом случае, как показано на фиг. 32, блок 191 установки устанавливает «0» в качестве флага disable_rps_prediction_flag и устанавливает "1" в качестве флага unified_rps_prediction_control_present_flag. Кроме того, блок 191 установки устанавливает «0» в качестве unified_delta_idx_minus1.
Дополнительно, блок 191 установки, например, устанавливает информацию, определяющую опорное изображение для первой картинки GOP, как RPS, индекс которого равен "0". Кроме того, блок 191 установки устанавливает "1" в качестве флага inter_ref_pic_set_prediction_flag как RPS, для которого индекс равен "1". Таким образом, индекс RPS первой картинки в GOP устанавливается как «0» и индексы RPS для второй и восьмой картинок устанавливаются как "1".
Как сказано выше, блок 191 установки не устанавливает флаг inter_ref_pic_set_prediction_flag в качестве RPS, для которого индекс равен «0», который используется в качестве RPS первой картинки. Соответственно, объем информации RPS может быть уменьшен на величину объема, соответствующего флагу inter_ref_pic_set_prediction_flag первой картинки относительно объема в традиционном случае, показанного на фиг. 8.
Кроме того, блок установки 191 устанавливает набор delta_idx_minus1, который является общим для всех изображений внутри GOP, как unified_delta_idx_minus1. Соответственно, delta_idx_minus1 может быть установлен в блоках GOP.
Хотя на чертеже не показано, блок 191 установки устанавливает «0» в качестве флага inter_ref_pic_set_prediction_flag, общего для всех картинок внутри GOP, как флаг disable_rps_prediction_flag. Соответственно, в случае, когда disable_rps_prediction_flag равен "1", объем информации RPS может также быть уменьшен на величину объема, соответствующую флагу inter_ref_pic_set_prediction_flag картинки, отличной от первой картинки для традиционного случая.
Описание процесса работы устройства кодирования
Процесс формирования, выполняемый устройством 190 кодирования, показанным на фиг. 29, является таким же, как процесс формирования, показанный на фиг. 10, за исключением процесса установки RPS, и, таким образом, здесь далее будет описан только процесс установки RPS.
На фиг. 33 показана блок-схема последовательности выполнения операций процесса установки RPS, выполняемого блоком 191 установки устройства 190 кодирования.
Процессы этапов S221-S226, показанных на фиг. 33, подобны процессам этапов S161-S166, показанных на фиг. 26, и поэтому их описание приводиться не будет.
На этапе S227 блок 191 установки определяет, равен ли "1" флаг disable_rps_prediction_flag или равен ли "0" индекс L В случае, когда на этапе S227 определено, что флаг disable_rps_prediction_flag равен "1" или индекс i равен "0", процесс переходит к этапу S228. С другой стороны, в случае, когда на этапе S227 определено, что disable_rps_prediction_flag не равен "1" и индекс i не равен "0", процесс переходит к этапу S229.
Процесс на этапах S228-S235 подобен процессу на этапах S168-S175, показанному на фиг. 26, и поэтому его описание не приводится.
Пример конфигурации устройства декодирования, соответствующего третьему варианту осуществления
На фиг. 34 представлена блок-схема примера конфигурации устройства декодирования, к которому применяется настоящая технология, соответствующего третьему варианту осуществления, которое декодирует кодированный поток, переданный от устройства 190 кодирования, показанного на фиг. 29.
Здесь, одна и та же ссылочная позиция назначается каждой конфигурации, показанной на фиг. 34, которая является той же самой, что и конфигурация, показанная на фиг. 15, и повторное ее описание не приводится.
Конфигурация устройства 210 декодирования, показанного на фиг. 34, отличается от конфигурации устройства 110 декодирования 110, показанной на фиг. 15, тем, что блок 211 извлечения устанавливается вместо блока 112 извлечения. Устройство 210 декодирования устанавливает информацию RPS для каждого RPS, основываясь на SPS, показанном на фиг. 30, в том числе, для RPS, показанного на фиг. 31.
Более конкретно, блок 211 извлечения устройства 210 декодирования, подобно блоку 112 извлечения, показанному на фиг. 15, извлекает SPS, PPS, кодированные данные, и т.п. из кодированного потока, подаваемого от приемного блока 111. Блок 211 извлечения, подобный блоку 112 извлечения, подает кодированные данные на блок 113 декодирования. Кроме того, блок 211 извлечения, основываясь на SPS, показанном на фиг. 30, содержащем RPS, показанный на фиг. 31, получает информацию RPS для каждого RPS и подает полученную информацию RPS на блок 113 декодирования. Кроме того, блок 211 извлечения, подобный блоку 112 извлечения, также по мере необходимости подает информацию, кроме RPS, содержащегося в SPS, PPS и т.п., на блок 113 декодирования.
Описание процесса работы устройства декодирования
Процесс приема, выполняемый устройством 210 декодирования, показанным на фиг. 34, является тем же самым, что и процесс приема, показанный на фиг. 17, за исключением процесса установки RPS, и поэтому здесь далее будет описан только процесс установки RPS.
На фиг. 35 подробно представлена блок-схема последовательности выполнения операций процесса установки RPS, выполняемого устройством 210 декодирования, показанным на фиг. 34.
Процесс на этапах S251-S257, показанных на фиг. 35, подобен процессу на этапах S191-S197, показанному на фиг. 28, и поэтому его описание не приводится.
На этапе S258 блок 211 извлечения определяет, равен ли "1" флаг disable_rps_prediction_flag, полученный на этапе S252, или равен ли "0" индекс i.
В случае, когда на этапе S258 определено, что флаг disable_rps_prediction_flag равен "1" или индекс i равен «0», процесс переходит к этапу S259. С другой стороны, в случае, когда на этапе S258 определено, что флаг disable_rps_prediction_flag не равен «1» и индекс i не равен «0», процесс переходит к этапу S260.
Процесс на этапах S259-S268 подобен процессу на этапах S199-S208, показанному на фиг. 28, и поэтому его описание не приводится.
Четвертый вариант осуществления
Пример конфигурации устройства кодирования, соответствующего четвертому варианту осуществления
На фиг. 36 представлена блок-схема примера конфигурации устройства кодирования, к которому применяется настоящая технология, соответствующего четвертому варианту осуществления.
Здесь, одна и та же ссылочная позиция назначается каждой конфигурации, показанной на фиг. 36, которая является той же самой, что и конфигурация, показанная на фиг. 3, и повторное ее описание не приводится.
Конфигурация устройства 230 кодирования, показанного на фиг. 36, отличается от конфигурации устройства 10 кодирования, показанного на фиг. 3, тем, что блок 231 кодирования устанавливается вместо блока 11 кодирования, и блок 232 установки устанавливается вместо блока 12 установки. Устройство 230 кодирования, соответствующее типу среза внутри картинки, не устанавливает информацию, относящуюся к опорному изображению, которое не обязательно для типа среза.
Более конкретно, изображение, выполненное в блоках кадров, вводится в блок 231 кодирования устройства 230 кодирования в качестве входного сигнала. Блок 231 кодирования 231 кодирует входной сигнал в соответствии с системой HEVC, обращаясь к RPS, PPS и т.п., подаваемым от блока 232 установки. В этом случае, поскольку это необходимо, блок 231 кодирования выполняет взвешенное предсказание (Weighted Prediction) для опорного изображения при межкадровом предсказании.
Здесь, взвешенное предсказание является процессом формирования предсказанного изображения путем взвешивания опорного изображения. Более конкретно, например, в случае, когда декодированные изображения двух кадров Y1 и Y0, предшествующих текущему кодируемому кадру X в порядке кодировании, используются как опорные изображения, при взвешенном предсказании предсказанное изображение X' кадра X получают, используя следующее уравнение (3).
Здесь в уравнении (3) w0 и w1 являются коэффициентами взвешивания и d является значением смещения. Эти коэффициенты взвешивания и значение смещения передаются вместе с кодированным потоком.
Выполняя взвешенное предсказание, даже в случае, когда происходит изменение в сигнале яркости между опорным изображением и текущим кодируемым изображением за счет постепенного увеличения, постепенного уменьшения, затухания, вызванного перекрытием и т.п., различие между предсказанным изображением и текущим кодируемым изображением можно уменьшить. В результате эффективность кодирования может быть повышена.
Напротив, в случае, когда взвешенное предсказание не выполняется, изменение в сигнале яркости, которое происходит между опорным изображением и такушим кодируемым изображением за счет постепенного увеличения, постепенного уменьшения, затухания, вызванного перекрытием и т.п., непосредственно становится разностью между предсказанным изображением и текущим кодируемым изображением, за счет чего эффективность кодирования снижается.
Блок 231 кодирования подает кодированные данные, полученные в результате процесса кодирования, на блок 232 установки.
Блок 232 установки, подобный блоку 12 установки, показанному на фиг. 3, устанавливает RPS, который не содержит флаг inter_ref_pic_set_prediction_flag, но содержит информацию, определяющую опорное изображение, и RPS, который содержит флаг inter_ref_pic_set_prediction_flag и информацию, определяющую опорное изображение, или delta_idx_minus1. Блок 232 установки, подобный блоку 12 установки, назначает индекс для каждой RPS.
Блок 232 установки устанавливает SPS, содержащий RPS, PPS и т.п. Блок 232 установки подает RPS, которым назначены индексы, и PPS на блок 231 кодирования. Блок 232 установки формирует кодированный поток, основываясь на SPS и PPS, которые были установлены, и кодированных данных, поданных от блока 231 кодирования. Блок 232 установки подает кодированный поток на блок 13 передачи.
Пример конфигурации блока кодирования
На фиг. 37 показана блок-схема примера конфигурации блока 231 кодирования, показанного на фиг. 36.
Здесь одна и та же ссылочная позиция назначается каждой конфигурации, показанной на фиг. 37, которая является той же самой, что и конфигурация, показанная на фиг. 4, и повторное ее описание не приводится.
Конфигурация блока 231 кодирования, показанного на фиг. 37, отличается от конфигурации блока 11 кодирования, показанного на фиг. 4, тем, что блок 251 предсказания/компенсации движения устанавливается вместо блока 47 предсказания/компенсации движения и блок 252 кодирования без потерь устанавливается вместо блока 36 кодирования без потерь.
Блок 251 предсказания/компенсации движения, основываясь на PPS, подаваемом от блока 232 установки, показанного на фиг. 36, выполняет процесс предсказания/компенсации движения, используя взвешенное предсказание всех возможных режимов межкадрового предсказания. Более конкретно, блок 251 предсказания/компенсации движения обнаруживает векторы движения для всех возможных режимов межкадрового предсказания, основываясь на изображении, подаваемом из буфера 32 перегруппировки экрана, и опорном изображении, считываемом из кадровой памяти 44 через переключатель 45. Затем блок 251 предсказания/компенсации движения выполняет процесс компенсации для опорного изображения, основываясь на обнаруженном векторе движения.
Затем блок 251 предсказания/компенсации движения вычисляет взвешиваемую информацию, конфигурированную с помощью коэффициента взвешивания и значения смещения при взвешенном предсказании. Блок 251 предсказания/компенсации движения служит блоком формирования и выполняет взвешенное предсказание для опорного изображения после процесса компенсации, основываясь на вычисленной взвешиваемой информации, формируя, таким образом, предсказанное изображение.
В это время блок 251 предсказания/компенсации движения, подобный блоку 47 предсказания/компенсации движения, показанному на фиг. 4, вычисляет значения функции стоимости для всех возможных режимов межкадрового предсказания, основываясь на изображении, полученном от буфера 32 перегруппировки экрана, и предсказанных изображениях. Затем блок 251 предсказания/компенсации движения, подобный блоку 47 предсказания/компенсации движения, определяет режим межкадрового предсказания, для которого значение функции стоимости является минимальным, в качестве оптимального режима межкадрового предсказания.
Затем блок 251 предсказания/компенсации движения, подобный блоку 47 предсказания/компенсации движения, подает предсказанное изображение, соответствующее значению функции стоимости оптимального режима межкадрового предсказания, на блок 48 выбора предсказанного изображения. Кроме того, в случае, когда блок 48 выбора предсказанного изображения уведомляет блок 251 предсказания/компенсации движения о выборе предсказанного изображения, сформированного в оптимальном режиме межкадрового предсказания, блок 251 предсказания/компенсации движения выводит информацио о режиме межкадрового предсказания, соответствующий вектор движения, информацию о взвешивании и т.п. на блок 252 кодирования без потерь. Кроме того, блок 251 предсказания/компенсации движения выводит информацию, определяющую опорное изображение, на блок 49 установки опорного изображения.
Блок 252 кодирования без потерь формирует тип среза, представляющий тип среза для текущего кодируемого изображения, основываясь на PPS, поданном от блока 232 установки, показанного на фиг. 36. Кроме того, блок 252 кодирования без потерь, подобный блоку 36 кодирования без потерь, показанному на фиг. 4, получает информацию о режиме внутрикадрового предсказания от блока 46 внутрикадрового предсказания. Дополнительно, блок 252 кодирования без потерь получает информацию о режиме межкадрового предсказания, вектор движения, информацию о взвешивании и т.п. от блока 251 предсказания/компенсации движения. Кроме того, блок 252 кодирования без потерь, подобный блоку 36 кодирования без потерь, получает индекс RPS или RPS и т.п. от блока 49 установки опорного изображения и получает параметры квантования от блока 50 управления скоростью.
Кроме того, блок 252 кодирования без потерь, подобный блоку 36 кодирования без потерь, получает флаг хранения, индекс или смещение и информацию о типе от фильтра 42 адаптивного смещения в качестве информации о фильтре смещения и получает коэффициент фильтра от адаптивного контурного фильтра 43.
Блок 252 кодирования без потерь, подобный блоку 36 кодирования без потерь, выполняет кодирование без потерь квантованного коэффициента, который подается от блока 35 квантования. Кроме того, блок 252 кодирования без потерь выполняет кодирование без потерь в качестве кодируемой информации параметров квантования, информации о фильтре смещения и коэффициента фильтра, такой как тип среза, информации о режиме внутрикадрового предсказания или информации о режиме межкадрового предсказания, векторе движения, информации о взвешивании и индексе RPS или RPS.
Блок 252 кодирования без потерь прибавляет кодируемую информацию, который была кодирована способом без потерь, к коэффициенту, который был кодирован способом без потерь, в качестве заголовка среза, формируя, таким образом, кодированные данные. Блок 252 кодирования без потерь подает кодированные данные в накопительный буфер 37 для их сохранения в нем.
Пример синтаксиса PPS
На фиг. 38 и 39 показаны примеры синтаксиса PPS, который устанавливается блоком 232 установки, показанным на фиг. 36. На фиг. 40 и 41 показаны примеры синтаксиса PPS в традиционной системе HEVC.
Как показано на шестой строке на фиг. 38, в PPS, который устанавливается блоком 232 установки, содержится флаг унификации unified_slice_type_flag, представляющий, идентичны ли типы всех пластин в пределах соответствующей картинки. Кроме того, как показано в седьмой и восьмой строках, в случае, когда флаг унификации равен "1", в PPS вводится флаг I (all_intra_slice_flag), представляющий, являются ли типы всех срезов в пределах соответствующей картинки, срезами I.
Кроме того, как показано в девятой и десятой строках, в случае, когда флаг I не равен "1", другими словами, в случае, когда срез Р или срез В содержатся внутри картинки, в PPS содержится флаг отсутствия В-среза no_b_slice_flag, представляющий присутствует ли срез B в соответствующей картинке.
Как показано в 11-ой и 12-ой строках, в случае, когда флаг I не равен "1", в PPS номер RPSL0 num_ref_idx_10_default_active_minus1, который является максимальным номером RPS в опережающем предсказании (предсказание L0), использующем опорное изображение, для которого время отображения является более ранним, чем соответствующая картинка, содержится как информация, относящаяся к опорному изображению.
Как показано в 13-ой и 14-ой строках, в случае, когда флаг отсутствия В-среза равен «0», другими словами, в случае, когда В-срез содержится внутри картинки, в PPS номер RPSL1 (num_ref_idx_11l_default_active_minus1), который является максимальным номером RPS в обратном предсказании (предсказании L1), используя опорное изображение, время отображения, более позднее, чем время отображения соответствующей картинки, содержится как информация, относящаяся к опорному изображению.
Как показано на 25-ой и 26-ой строках, в случае, когда флаг I не равен "1", в PPS флаг предсказания Р weighted_pred_flag, представляющий, выполняется ли взвешенное предсказание для P-среза, вводится как информация, относящаяся к опорному изображению. Кроме того, в случае, когда флаг отсутствия В-среза не равен "1", в PPS флаг предсказания В-среза weighted_bipred_flag, представляющий, выполняется ли взвешенное предсказание для В-среза, вводится как информация, относящаяся к опорному изображению.
Как сказано выше, в PPS, показанном на фиг. 38 и 39, в случае, когда соответствующая картинка образуется только I-срезом, номер RPSL0, номер RPSL1, флаг предсказания P и флаг предсказания В не устанавливаются. Кроме того, в случае, когда соответствующая картинка содержит срез, отличный от I-среза, номер RPSL1 и флаг предсказания В не устанавливаются. Соответственно, эффективность кодирования может повышаться по сравнению со случаем, когда номер RPSL0, номер RPSL1, флаг предсказания P и флаг предсказания В устанавливаются для всех картинок, независимо от типов срезов в пределах картинок.
Кроме того, в устройстве декодирования, в случае, когда изображение образуется только I-срезом, номер RPSL0 и номер RPSL1 распознаются как равные «0», и в случае, когда картинка содержит срез, отличный от I-среза, номер RPSL1 распознается как равный «0».
Напротив, в PPS традиционной системы HEVC, показанной на фиг. 40 и 41, как показано в шестой, седьмой, 17-ой и 18-ой строках на фиг. 40, номер RPSL0, номер RPSL1, флаг предсказания P и флаг предсказания В устанавливаются независимо от типа среза в пределах картинки.
Кроме того, в случае, когда изображение конфигурировано только В-срезом, флаг предсказания P может быть конфигурирован так, чтобы не устанавливаться.
Пример синтаксиса заголовка среза
На фиг. 42-44 показаны примеры синтаксиса заголовка среза, который добавляется блоком 252 кодирования без потерь, показанным на фиг. 37. Кроме того, на фиг. 45-47 показаны примеры синтаксиса заголовка среза в традиционной системе HEVC.
Как показано во второй строке на фиг. 42, в заголовок среза, добавляемый к блоку 252 кодирования без потерь, вводится первый флаг first_slice_in_pic_flag, представляющий, является ли соответствующий срез первым флагом внутри кадра. Кроме того, как показано на 11-ой и 12-ой строках, в случае, когда флаг унификации равен «0», или в случае, когда флаг унификации равен "1" и первый флаг равен «0», в заголовок среза вводится тип среза slice_type соответствующего среза.
Другими словами, в заголовок среза, показанный на фиг. 42-44 устанавливается тип среза в случае, когда типы срезов внутри кадра являются не одинаковыми, или в случае, когда типы срезов внутри кадра являются одними и теми же, и соответствующий срез является первым срезом внутри кадра.
Однако, в заголовке среза, показанном на фиг. 42-44, в случае, когда типы срезов внутри кадра являются одинаковыми, и соответствующий срез является срезом, отличным от первого среза внутри кадра, тип среза не устанавливается. В таком случае тип среза, содержащийся в заголовке среза, рассматривается как тип среза для среза, отличного от первого среза.
Соответственно, эффективность кодирования может быть повышена по сравнению со случаем, когда типы срезов для всех срезов устанавливаются независимо от того, являются ли типы срезов для всех срезов внутри кадра одними и теми же.
Напротив, в заголовке среза в традиционной системе HEVC, показанной на фиг. 45-47, как показано на 11-ой строке на фиг. 45, типы срезов для всех срезов устаналиваются независимо от того, являются ли одинаковыми типы срезов для всех срезов пластин внутри кадра.
Описание процесса работы устройства кодирования
На фиг. 48 представлена блок-схема последовательности выполнения операций процесса формирования, выполняемого устройством 230 кодирования, показанным на фиг. 36.
На этапе S281, показанном на фиг. 48, блок установки 232 устройства 230 кодирования выполняет процесс установки RPS, показанный на фиг. 11. На этапе S282 блок 231 кодирования выполняет процесс кодирования для кодирования изображения, выполняемого в блоках кадров, вводимых снаружи в качестве входного сигнала в соответствии с системой HEVC. Этот процесс кодирования будет описан подробно позже со ссылкой на фиг. 49 и 50, которые будут описаны позже.
На этапе S283 блок 232 установки устанавливает SPS, содержащий RPS, которому назначается индекс. На этапе S284 блок 232 установки выполняет процесс установки PPS для установки PPS. Этот процесс установки PPS будет описан позже подробно со ссылкой на фиг. 51, который будет описан позже.
Процесс на этапах S285 и S286 подобен процессу на этапах S15 и S16, показанных на фиг. 10, и поэтому его описание не приводится.
На фиг. 49 и 50 представлена блок-схема последовательности выполнения операций процесса этапа S282 кодирования, подробно показанного на фиг. 48.
Процесс на этапах S301 и S302, показанный на фиг. 49, подобен процессу на этапах S31 и S32, показанных на фиг. 12, и поэтому его описание не приводится.
На этапе S303 блок 251 предсказания/компенсации движения определяет, выполнять ли взвешенное предсказание, основываясь на флаге предсказания P или на флаге предсказания В, содержащемся в PPS, который подается от блока 232 установки 232, показанного на фиг. 36.
Более конкретно, в случае, когда текущее кодируемое изображение является P-срезом, когда флаг предсказания P равен "1", блок 251 предсказания/компенсации движения принимает решение выполнить взвешенное предсказание. Дополнительно, в случае, когда текущее кодируемое изображение является В-срезом, когда флаг предсказания В равен "1", блок 251 предсказания/компенсации движения принимает решение выполнить взвешенное предсказание. Дополнительно, в случае, когда текущее кодируемое изображение является I-срезом процесс на этапе S303 пропускается и процесс переходит к этапу S304.
В случае, когда на этапе S303 определяется, что взвешенное предсказание должно быть выполнено, на этапе S304 блок 46 внутрикадрового предсказания выполняет процесс внутрикадрового предсказания для всех возможных режимов внутрикадрового предсказания. Кроме того, блок 46 внутрикадрового предсказания вычисляет значения функции стоимости для всех возможных режимов внутрикадрового предсказания, основываясь на изображении, считываемом из буфера 32 перегруппировки экрана, и предсказанном изображении, формируемом в результате процесса внутрикадрового предсказания. Затем блок 46 внутрикадрового предсказания определяет режим внутрикадрового предсказания, для которого значение функции стоимости минимально, в качестве оптимального режима внутрикадрового предсказания. Блок 46 внутрикадрового предсказания подает предсказанное изображение, сформированное в оптимальном режиме внутрикадрового предсказания, и соответствующее значение функции стоимости на блок 48 выбора предсказанного изображения.
Кроме того, блок 251 предсказания/компенсации движения выполняет процесс предсказания/компенсации движения, используя взвешенные предсказания во всех возможных режимах межкадрового предсказания. Кроме того, блок 251 предсказания/компенсации движения вычисляет значения функции стоимости для всех возможных режимов межкадрового предсказания, основываясь на изображении, полученном от буфера 32 перегруппировки экрана, и предсказанных изображениях, и определяет режим межкадрового предсказания, для которого значение функции стоимости минимально, в качестве оптимального режима межкадрового предсказания. Затем блок 251 предсказания/компенсации движения подает значение функции стоимости оптимального режима межкадрового предсказания и соответствующее предсказанное изображение на блок 48 выбора предсказанного изображения.
Однако, в случае, когда текущее кодируемое изображение является 1-срезом, процесс предсказания/компенсации движения не выполняется. После процесса на этапе S304 процесс переходит к этапу S306.
С другой стороны, в случае, когда на этапе S303 определено, что взвешенное предсказание не должно выполняться, на этапе S305 блок 46 внутрикадрового предсказания выполняет тот же самый процесс, что и на этапе S304.
Кроме того, блок 251 предсказания/компенсации движения выполняет процесс предсказания/компенсации движения для всех возможных режимов межкадрового предсказания. Кроме того, блок 251 предсказания/компенсации движения вычисляет значения функции стоимости для всех возможных режимов межкадрового предсказания, основываясь на изображении, поданном от буфера 32 перегруппировки экрана, и предсказанных изображениях,, и определяет режим межкадрового предсказания, для которого значение функции стоимости минимально, в качестве оптимального режима межкадрового предсказания. Затем блок 251 предсказания/компенсации движения подает значение функции стоимости оптимального режима межкадрового предсказания и соответствующее предсказанное изображение на блок 48 выбора предсказанного изображения. Далее процесс переходит к этапу S306.
Процесс на этапах S306-S308 подобен процессу на этапах S34- S36, показанному на фиг. 12, и поэтому его описание не приводится.
После процесса на этапе S308, на этапе S309 блок 251 предсказания/компенсации движения определяет, было ли выполнено взвешенное предсказание в процессе предсказания/компенсации движения. В случае, когда определено, что на этапе S309 взвешенное предсказание было выполнено в процессе предсказания/компенсации движения, на этапе S310 блок 251 предсказания/компенсации движения подает информацию о взвешивании взвешенного предсказания на блок 252 кодирования без потерь. Затем процесс переходит к этапу S311.
Процесс на этапах S311-S322 подобен процессу на этапах S37-S48, показанных на фиг. 12 и 13, и поэтому его описание не приводится.
На этапе S323, показанном на фиг. 50, блок 252 кодирования без потерь определяет, является ли флаг унификации, содержащийся в PPS, поданном от блока 232 установки, показанного на фиг. 36, равным "0" или являются ли флаг унификации и первый флаг равными "1".
В случае, когда на этапе S323 определено, что флаг унификации равен "0" или флаг унификации и первый флаг равны "1", на этапе S324 блок 252 кодирования без потерь формирует тип среза текущего кодируемого изображения. Затем процесс переходит к этапу S325.
С другой стороны, в случае, когда на этапе S323 определено, что флаг унификации не равен "0" и флаг унификации и первый флаг не равны "1", процесс переходит к этапу S325.
На этапе S325 блок 252 кодирования без потерь выполняет кодирование без потерь параметров квантования, полученных от блока 50 управления скоростью, информации фильтра смещения и коэффициента фильтра, таких как тип среза, информация о режиме внутрикадрового предсказания или информация о режиме межкадрового предсказания, вектор движения, информация о взвешивании и индекс RPS или RPS в качестве кодируемой информации.
Процесс на этапах S326-S329 подобен процессу на этапах S50-S53, показанному на фиг. 13, и поэтому его описание не приводится.
На фиг. 51 представлена блок-схема последовательности выполнения операций процесса установки PPS на этапе S284, подробно показанного на фиг. 48. Этот процесс установки PPS выполняется в блоках изображений.
На этапе S331, показанном на фиг. 51, блок 232 установки определяет, являются ли одинаковыми типы всех срезов внутри изображения.' В случае, когда на этапе S331 определено, что типы всех срезов внутри изображения являются одинаковыми, на этапе S332 блок 232 установки устанавливает флаг унификации равным "1" и вводит установленный флаг унификации в PPS.
На этапе S333 блок 232 установки определяет, являются ли типы всех срезов внутри изображения 1-срезами. В случае, когда на этапе S333 определено, что типами всех срезов внутри изображения являются I-срезы, на этапе S334 блок 232 установки устанавливает флаг I равным «1» и вводит установленный 1-флаг в PPS и процесс переходит к этапу S337.
С другой стороны, в случае, когда на этапе S333 определено, что типы всех срезов внутри изображения не являются 1-срезами, на этапе S335 блок 232 установки устанавливает флаг I равным «0», вводит установленный 1-флаг в PPS, и процесс переходит к этапу S337.
С другой стороны, в случае, когда на этапе S331 определено, что типы всех срезов внутри изображения не одинаковы, на этапе S336 блок 232 установки устанавливает флаг I равным «0», вводит установленный флаг I в PPS и процесс переходит к этапу S337.
На этапе S337 блок 232 установки определяет, равен ли "1" флаг I. В случае, когда на этапе S337 определено, что флаг I не равен "1", на этапе S338 блок 232 установки устанавливает номер RPSL0 и флаг предсказания Р, введенный в PPS, и вводит номер RPSL0 и флаг предсказания Р, которые были установлены, в PPS.
На этапе S339 блок 232 установки определяет, введен ли срез В внутрь картинки. В случае, когда на этапе S339 определено, что срез В введен внутрь кадра, на этапе S340 блок 232 установки устанавливает флаг отсутствия В, введенный в PPS, равным «0» и вводит флаг установки в PPS. На этапе S341 блок 232 установки определяет номер RPSL1 и флаг предсказания В, введенный в PPS, и вводит номер RPSL1 и флаг предсказания В, которые были установлены, в PPS. Затем процесс возвращается к этапу S284, показанному на фиг. 48, и переходит к этапу S285.
С другой стороны, в случае, когда на этапе S339 определено, что срез В не содержится внутри картинки, на этапе S342 блок 232 установки устанавливает флаг отсутствия В равным "1" и вводит установленный флаг в PPS. Затем процесс возвращается к этапу S284, показанному на фиг. 48, и переходит к этапу S285.
Кроме того, в случае, когда на этапе S337 определено, что флаг I равен "1", процесс возвращается к этапу S284, показанному на фиг. 48, и переходит к этапу S285.
Как сказано выше, поскольку устройство 230 кодирования устанавливает информацию, относящуюся к опорному изображению в соответствии с типами срезов внутри изображения, объем информации, относящийся к опорному изображению, уменьшается и, соответственно, эффективность кодирования может быть повышена. Кроме того, поскольку устройство 230 кодирования устанавливает тип среза в зависимости от того, являются ли типы всех срезов внутри изображения одинаковыми, объем информации о типе среза снижается и, соответственно, эффективность кодирования может быть повышена.
Пример конфигурации устройства декодирования, соответствующего четвертому варианту осуществления
На фиг. 52 представлена блок-схема примера конфигурации устройства декодирования, к которому применяется настоящая технология, соответствующего четвертому варианту осуществления, который декодирует кодированный поток, переданный от устройства 230 кодирования, показанного на фиг. 36.
Здесь одна и та же ссылочная позиция назначается каждой конфигурации, показанной на фиг. 52, которая является такой же, как конфигурация, показанная на фиг. 15, и ее повторное описание не приводится.
Конфигурация устройства 270 декодирования, показанная на фиг. 52, отличается от конфигурации, показанной на фиг. 15, тем, что блок 271 декодирования устанавливается вместо блока 113 декодирования. Устройство 270 декодирования выполняет взвешенное предсказание, когда, по мере необходимости, выполняется процесс компенсации движения.
Более конкретно, блок 271 декодирования устройства 270 декодирования декодирует кодированные данные, поданные от блока 112 извлечения в соответствии с системой HEVC, основываясь на флаге inter_ref_pic_set_prediction_flag каждого RPS и delta_idx_minus1 или информации, определяющей опорное изображение, подаваемой от блока 112 извлечения. В этом случае, блок 271 декодирования, по мере необходимости, обращается к информации, отличной от RPS, которая содержится в SPS, PPS, и т.п. Кроме того, блок 271 декодирования, по мере необходимости, выполняет взвешенное предсказание, когда выполняется процесс компенсации движения. Блок 271 декодирования выводит изображение, полученное в результате декодирования, в качестве выходного сигнала.
Пример конфигурации блока декодирования
На фиг. 53 приведена блок-схема примера конфигурации блока 271 декодирования, показанного на фиг. 52.
Здесь, одна и та же ссылочная позиция назначается каждой конфигурации, показанной на фиг. 53, которая является той же самый, что и конфигурация, показанная на фиг. 16, и ее повторное описание поэтому не приводится.
Конфигурация блока 271 декодирования, показанная на фиг. 53, отличается от конфигурации, показанной на фиг. 16, тем, что блок 291 декодирования без потерь устанавливается вместо блока 132 декодирования без потерь и блок 292 компенсации движения устанавливается вместо блока 145 компенсации движения.
Блок 291 декодирования без потерь блока 271 декодирования, подобный блоку 132 декодирования без потерь, показанному на фиг. 16, выполняет декодирование без потерь для кодированных данных, подаваемых от накопительного буфера 131, получая, таким образом, квантованные коэффициенты и кодируемую информацию. Блок 291 декодирования без потерь, подобный блоку 132 декодирования без потерь, подает квантованные коэффициенты на блок 133 инверсного квантования. Кроме того, блок 291 декодирования без потерь подает информацию о режиме внутрикадрового предсказания и т.п. в качестве кодируемой информации на блок 143 внутрикадрового предсказания и подает вектор движения, информацию о режиме межкадрового предсказания, информацию о взвешивании и т.п. на блок 292 компенсации движения. Блок 291 декодирования без потерь, подобный блоку 132 декодирования без потерь, подает флаг RPS и индекс RPS или RPS в качестве кодируемой информации на блок 144 установки опорного изображения.
Кроме того, блок 291 декодирования без потерь 291, подобный блоку 132 декодирования без потерь, предоставляет информацию о режиме внутрикадрового предсказания или информацию о режиме межкадрового предсказания в качестве кодируемой информации на переключатель 146. Блок 291 декодирования без потерь, подобный блоку 132 декодирования без потерь, подает информацию фильтра смещения в качестве кодируемой информации на фильтр 137 адаптивного смещения и подает коэффициент фильтра на адаптивный контурный фильтр 138.
Блок 292 компенсации движения 292, подобный блоку 145 компенсации движения, показанному на фиг. 16, считывает опорное изображение, определяемое информацией, определяющей опорное изображение, из кадровой памяти 141 через переключатель 142, основываясь на информации, определяющей опорное изображение, подаваемой от блока 144 установки опорного изображения.
Кроме того, блок 292 компенсации движения, подобный блоку 251 предсказания/компенсации движения, показанному на фиг. 37, определяет, выполнять ли взвешенное предсказание, основываясь на флаге предсказания P или на флаге предсказания В, содержащемся в PPS, подаваемом от блока 112 извлечения.
Блок 292 компенсации движения служит в качестве блока формирования и в случае, когда определено, что должно выполняться взвешенное предсказание, выполняет процесс компенсации движения, используя взвешенное предсказание оптимального режима межкадрового предсказания, представленного информацией режима межкадрового предсказания, используя вектор движения и опорное изображение. В этом случае блок 292 компенсации движения, при необходимости, в случае, когда срез текущего кодируемого изображения является срезом P, обращается к номеру RPSL0, а в случае, когда срез текущего кодируемого изображения является срезом В, обращается к номеру RPSL0 и к номеру RPSL1.
С другой стороны, в случае, когда определено, что взвешенное предсказание не должно выполняться, блок 292 компенсации движения, подобный блоку 145 компенсации движения, выполняет процесс компенсации движения оптимального режима межкадрового предсказания. Блок 292 компенсации движения подает сформированное в результате этого предсказанное изображение на переключатель 146.
Описание процесса работы устройства декодирования
На фиг. 54 представлена блок-схема последовательности выполнения операций процесса приема, выполняемого устройством 270 декодирования, показанным на фиг. 52.
Процесс на этапах S351-S353, показанный на фиг. 54, подобен процессу на этапах S111-S113, показанному на фиг. 17, и поэтому его описание не приводится.
На этапе S354 блок 271 декодирования выполняет процесс декодирования, основываясь на информации RPS для каждого RPS и PPS, которые подаются от блока 112 извлечения. Этот процесс декодирования позднее будет подробно описан со ссылкой на фиг. 55. Затем процесс заканчивается.
На фиг. 55 представлена блок-схема последовательности выполнения операций процесса декодирования на этапе S354, подробно показанном на фиг. 54.
На этапе S361, показанном на фиг. 55, накопительный буфер 131 блока 271 декодирования принимает кодированные данные, конфигурированные в блоках кадров, от блока 112 извлечения, показанного на фиг. 52, и сохраняет принятые кодированные данные. Накопительный буфер 131 подает сохраненные кодированные данные на блок 291 декодирования без потерь.
На этапе S362 блок 291 декодирования без потерь выполняет декодирование без потерь кодированных данных, полученных от накопительного буфера 131, получая, таким образом, квантованный коэффициент и кодируемую информацию. Блок 291 декодирования без потерь подает квантованный коэффициент на блок 133 инверсного квантования. Кроме того, блок 291 декодирования без потерь подает информацию режима внутрикадрового предсказания и т.п. в качестве кодируемой информации на блок 143 внутрикадрового предсказания и подает вектор движения, информацию режима межкадрового предсказания, информацию взвешивания, флаг RPS, индекс RPS или RPS и т.п. на блок 292 компенсации движения.
Кроме того, блок 291 декодирования без потерь подает информацию режима внутрикадрового предсказания в качестве кодируемой информации или информацию режима межкадрового предсказания на переключатель 146. Блок 291 декодирования без потерь подает информацию фильтра смещения в качестве кодируемой информации на фильтр 137 адаптивного смещения и подает коэффициент фильтра на адаптивный контурный фильтр 138.
Процесс на этапах S363-S365 подобен процессу на этапах S133-S135, показанному на фиг. 19, и поэтому его описание не приводится. На этапе S366 блок 292 компенсации движения 292, подобный блоку 251 предсказания/компенсации движения, показанному на фиг. 37, определяет, выполнять ли взвешенное предсказание, основываясь на флаге предсказания P или на флаге предсказания В, содержащемся в PPS, поданном от блока 112 извлечения, показанного на фиг. 52.
В случае, когда на этапе S366 определено, что взвешенное предсказание должно выполняться, на этапе S367 блок 292 компенсации движения считывает опорное изображение, основываясь на информации, определяющей опорное изображение, поданной от блока 144 установки опорного изображения, и выполняет процесс компенсации движения, используя взвешенное предсказание оптимального режима межкадрового предсказания, представленного информацией о режиме межкадрового предсказания, используя вектор движения и опорное изображение.
В этом случае блок 292 компенсации движения, при необходимости, в случае, когда срез текущего кодируемого изображения является срезом P, обращается к номеру RPSL0, а в случае, когда срез текущего кодируемого изображения является срезом В, обращается к номеру RPSL0 и номеру RPSL1. Блок 292 компенсации движения подает предсказанное изображение, сформированное в результате этого, на блок 135 сумматора через переключатель 146 и процесс переходит к этапу S370.
С другой стороны, в случае, когда на этапе S366 определено, что взвешенное предсказание не должно выполняться, на этапе S368 блок 292 компенсации движения считывает опорное изображение, основываясь на информации, определяющей опорное изображение, поданной от блока 144 установки опорного изображения, и выполняет процесс компенсации движения в оптимальном режиме межкадрового предсказания, представленном информацией режима межкадрового предсказания, используя вектор движения и опорное изображение. Блок 292 компенсации движения подает предсказанное изображение, сформированное в результате этого, на блок 135 сумматора через переключатель 146 и процесс переходит к этапу S370.
Процесс на этапах S369-S377 подобен процессу на этапах S137-S145, показанному на фиг. 19, и поэтому его описание не приводится.
Как сказано выше, устанавливая информацию, относящуюся к опорному изображению, в соответствии с типами срезов внутри изображения, устройство 270 декодирования может декодировать кодированный поток, имеющий улучшенную эффективность кодирования.
Кроме того, в четвертом варианте осуществления, хотя информация, относящаяся к опорному изображению, была описана как номер RPSL0, номер RPSL1, флаг предсказания P и флаг предсказания В, настоящая технология этим не ограничивается.
Применение к кодированию мультипроекционного изображения/ декодированию мультипроекционного изображения
Ряд процессов, описанных выше, может применяться к кодированию мультипроекционного изображения и к декодированию мультипроекционного изображения. На фиг. 56 представлен пример системы кодирования мультипроекционного изображения.
Как показано на фиг. 56, мультипроекционное изображение содержит изображения множества проекций и изображение заданной проекции из множества проекций назначается в качестве изображения основной проекции. Изображение каждой проекции, отличной от изображения основной проекции, рассматривается как изображение неосновной проекции.
В случае, когда выполняется кодирование мультипроекционного изображения, как показано на фиг. 56, для каждой проекции (одной и той же проекции), может быть получена разница между параметрами квантования.
(1) основная проекция:
(1-1) dQP (основная проекция) = Current_CU_QP (основная проекция) - LCU_QP (основная проекция)
(1-2) dQP (основная проекция) = Current_CU_QP (основная проекция) - Previsous_CU_QP (основное представление)
(1-3) dQP (основная проекция) = Current_CU_QP (основная проекция) - Slice_QP (основная проекция)
(2) неосновная проекция:
(2-1) dQP (неосновная проекция) = Current_CU_QP (неосновная проекция) - LCU_QP (неосновное представление)
(2-2) dQP (неосновная проекция) = Current_QP (неосновная проекция) - Previsous_QP (неосновная проекция)
(2-3) dQP (неосновная проекция) = Current_CU_QP (неосновная проекция) - Slice_QP (неосновная проекция)
В случае, когда выполняется кодирование мультипроекционного изображения, для каждой проекции (различных проекций) может быть взята разность между параметрами квантования.
(3) основная проекция/неосновная проекция:
(3-1) dQP (межкадровая проекция) = Slice_QP (основная проекция) - Slice_QP (неосновная проекция)
(3-2) dQP (межкадровая проекция) = LCU_QP (основная проекция) - LCU_QP (неосновная проекция)
(4) неосновная проекция/неосновная проекция:
(4-1) dQP (межкадровая проекция) = Slice_QP (неосновная проекция i) - Slice_QP (неосновная проекция j)
(4-2) dQP (межкадровая проекция) = LCU_QP (неосновная проекция i) - LCU_QP (неосновная проекция j)
В таком случае позиции (1)-(4), описанные выше, могут использоваться комбинационным способом. Например, для неосновной проекции может рассматриваться технология (объединяющая 3-1 и 2-3) получения разности между параметрами квантования основной проекции и неосновной проекции на уровне срезов и технология (объединяющая 3-2 и 2-1) получения разности между параметрами квантования основной проекции и неосновной проекции на уровне LCU. Таким образом, неоднократно применяя разность, а также в случае, когда выполняется мультипроекционное кодирование, эффективность кодирования может быть повышена.
Подобно описанной выше технологии, для каждого dQP, описанного выше, может быть установлен флаг, используемый для идентификации, присутствует ли dQP, имеющий значение, отличное от «0».
Устройство кодирования мультипроекционного изображения
На фиг. 57. показано устройство кодирования мультипроекционного изображения, выполняющее кодирование мультипроекционного изображения, описанное выше. Как показано на фиг. 57, устройство 600 кодирования мультипроекционного изображения содержит блок 601 кодирования, блок 602 кодирования и мультиплексор 603.
Блок 601 кодирования кодирует основную проекцию, формируя, таким образом, кодированный поток основной проекции. Кроме того, блок 602 кодирования кодирует неосновную проекцию, формируя, таким образом, кодированный поток неосновной проекции. Мультиплексор 603 мультиплексирует кодированный поток основной проекции, сформированный блоком 601 кодирования, и кодированный поток неосновной проекции, сформированный блоком 602 кодирования, формируя, таким образом, кодированный поток мультипроекционного изображения.
Устройство 10 (150 и 190) кодирования может применяться к блоку 601 кодирования 601 и к блоку 602 кодирования 602 этого устройства 600 кодирования мультипроекционного изображения. В таком случае, устройство 600 кодирования мультипроекционного изображения устанавливает разность между параметром квантования, установленным блоком 601 кодирования 601, и параметром квантования, установленным блоком 602 кодирования, и передает установленную разность.
Устройство декодирования мультипроекционного изображения
На фиг. 58 представлено устройство декодирования мультипроекционного изображения, выполняющее описанное выше декодирование мультипроекционного изображения. Как показано на фиг. 58, устройство 610 декодирования мультипроекционного изображения содержит демультиплексор 611, блок 612 декодирования и блок 613 декодирования.
Демультиплексор 611 демультиплексирует кодированный поток мультипроекционного изображения, полученный посредством мультиплексирования кодированного потока основной проекции и кодированного потока неосновной проекции, извлекая, таким образом, кодированный поток основной проекции и кодированный поток неосновной проекции. Блок 612 декодирования декодирует кодированный поток основной проекции, извлеченный демультиплексором 611, получая, таким образом, изображение основной проекции. Блок 613 декодирования 613 декодирует кодированный поток неосновной проекции, извлеченный демультиплексором 611, получая, таким образом, изображение неосновной проекции.
Устройство 110 (170 и 210) декодирования может применяться к блоку 612 декодирования и к блоку 613 декодирования 613 этого устройства 610 декодирования мультипроекционного изображения. В таком случае устройство 610 декодирования мультипроекционного изображения устанавливает параметр квантования, основываясь на разности между параметром квантования, установленным блоком 601 кодирования, и параметром квантования, установленным блоком 602 кодирования, и выполняет инверсное квантование.
Применение к кодированию иерархического изображения/декодированию иерархического изображения
Ряд процессов, описанных выше, может быть применен к кодированию иерархического изображения и к декодированию иерархического изображения. На фиг. 59 показан пример системы кодирования иерархического изображения.
Как показано на фиг. 59, иерархическое изображение содержит изображения множества иерархий (разрешений) и изображение одной заданной иерархии из множества разрешений назначается в качестве изображения основного уровня. Изображения иерархий, отличные от изображения основного уровня, обрабатываются как изображения неосновного уровня.
В случае, когда выполняется кодирование иерархического изображения (пространственная масштабируемость), как показано на фиг. 59, на каждом уровне (одном и том же уровне) может быть получена разность между параметрами квантования.
(1) основной уровень:
(1-1) dQP (основной уровень) = Current_CU_QP (основной уровень) LCU_QP (базовый уровень)
(1-2) dQP (основной уровень) = Current_CU_QP (основной уровень) - Previsous_CU_QP (базовый уровень)
(1-3) dQP (основной уровень) = Current_CU_QP (основной уровень) - Slice_CU_QP (базовый уровень)
(2) неосновной уровень:
(2-1) dQP (неосновной уровень) = Current_CU_QP (неосновной уровень) - LCu_QP (небазовый уровень)
(2-2) dQP (неосновной уровень) = Current_CU_QP (неосновной уровень) - Previsous_QP (небазовый уровень)
(2-3) dQP (неосновной уровень) = Current_CU_QP (неосновной уровень) - Slice_QP (неосновной уровень)
В случае, когда выполняется иерархическое кодирование, на каждом уровне (разных уровнях) может быть получена разность между параметрами квантования.
(3) основной уровень/неосновной уровень:
(3-1) dQP (межкадровый уровень) = Slice_CU_QP (основной уровень) - Slice_QP (неосновной уровень)
(3-2) dQP (межкадровый уровень) = LCU_CU_QP (основной уровень) - LCU_QP (неосновной уровень)
(4) неосновной уровень/неосновной уровень:
(4-1) dQP (межкадровый уровень) = Slice_CU_QP (неосновной уровень i) - Slice_QP (неосновной уровень j)
(4-2) dQP (межкадровый уровень) = LCU_CO_QP (неосновной уровень i) - LCU_QP (неосновной уровень j)
В таком случае позиции (1)-(4), описанные выше, могут использоваться комбинационным способом. Например, на неосновном уровне могут рассматриваться способ (объединяющий позиции 3-1 и 2-3) для получения разности между параметрами квантования основного уровня и неосновного уровня на уровне среза и способ (объединяющий позиции 3-2 и 2-1) для получения разности между параметрами квантования основного уровня и неосновного уровня на уровне LCU. Таким образом, периодически применяя разность, в случае выполнения иерархического кодирования эффективность кодирования также может быть повышена.
Аналогично описанной выше технологии для каждого dQP, описанного выше, может быть установлен флаг, используемый для идентификации, присутствует ли dQP, имеющее значение, отличное от «0».
Устройство кодирования иерархического изображения
На фиг. 60 показано устройство кодирования иерархического изображения, выполняющее описанное выше кодирование иерархического изображения. Как показано на фиг. 60, устройство 620 кодирования иерархического изображения содержит блок 621 кодирования, блок 622 кодирования и блок 623 мультиплексора.
Блок 621 кодирования кодирует изображения основного уровня, формируя, таким образом, кодированный поток изображения основного уровня. Кроме того, блок 622 кодирования кодирует изображение неосновного уровня, формируя, таким образом, кодированный поток изображения неосновного уровня. Мультиплексор 623 мультиплексирует кодированный поток изображения основного уровня, сформированный блоком 621 кодирования, и кодированный поток изображения неосновного уровня, сформированный блоком 622 кодирования, формируя, таким образом, кодированный поток иерархического изображения.
Устройство 10 (150 и 190) кодирования может применяться к блоку 621 кодирования и к блоку 622 кодирования устройства 620 кодирования иерархического изображения. В таком случае, устройство 620 кодирования иерархического изображения устанавливает разность между параметром квантования, установленным блоком 621 кодирования, и параметром квантования, установленным блоком 622 кодирования, и передает установленную разность.
Устройство декодирования иерархического изображения
На фиг. 61 показано устройство декодирования иерархического изображения, выполняющее описанное выше декодирование иерархического изображения. Как показано на фиг. 61, устройство 630 декодирования иерархического изображения содержит демультиплексир 631, блок 632 декодирования и блок 633 декодирования.
Демультиплексор 631 демультиплексирует кодированный поток иерархического изображения, полученный посредством мультиплексирования кодированного потока изображения основного уровня и кодированного потока изображения неосновного уровня, извлекая, таким образом, кодированный поток изображения основного уровня и кодированный поток изображения неосновного уровня. Блок 632 декодирования декодирует кодированный поток изображения основного уровня, извлеченный демультиплексором 631, получая, таким образом, изображение основного уровня. Блок 633 декодирования декодирует кодированный поток изображения неосновного уровня, извлеченный демультиплексором 631, получая, таким образом, изображение неосновного уровня.
Устройство 110 (170 и 210) декодирования может применяться к блоку 632 декодирования и к блоку 633 декодирования устройства 630 декодирования иерархического изображения. В таком случае, устройство 630 декодирования иерархического изображения параметр квантования, основываясь на разности между параметром квантования, установленным блоком 621 кодирования, и параметром квантования, установленным блоком 622 кодирования, и выполняет инверсное квантование.
Описание компьютера, к которому применяется настоящая технология
Ряд процессов, описанных выше, могут выполняться посредством аппаратурного обеспечения или программного обеспечения. В случае, когда ряд процессов выполняется посредством программного обеспечения, программа, формирующая программное обеспечение, устанавливается на компьютер. Здесь компьютер содержит компьютер, встроенный в специализированное аппаратурное обеспечение, компьютер, способный исполнять различные функции, имея установленные на нем различные программы, такой как универсальный компьютер и т.п.
На фиг. 62 показана блок-схема примера конфигурации аппаратурного обеспечения компьютера, исполняющего последовательность описанных выше процессов в соответствии с программой.
В компьютере CPU (центральный процессор) 801, ROM (постоянное запоминающее устройство) 802 и RAM (оперативное запоминающее устройство) 803 соединяются друг с другом через шину 804.
Кроме того, к шине 804 присоединяется интерфейс 805 ввода-вывода. Интерфейс 805 ввода-вывода соединяется с устройством 806 ввода, устройством 807 вывода, блоком 808 запоминающего устройства, блоком 809 связи и приводом 810.
Устройство 806 ввода образуется клавиатурой, мышью, микрофоном и т.п. Устройство 807 вывода образуется дисплеем, громкоговорителем и т.п. Блок 808 запоминающего устройства образуется жестким диском, энергонезависимой памятью и т.п. Блок 809 связи образуется сетевым интерфейсом и т.п. Привод 810 приводит в действие съемный носитель 811, такой как магнитный диск, оптический диск, магнитооптический диск или полупроводниковая память.
В компьютере, выполненном, как описано выше, CPU 801 выполняет ряд описанных выше процессов, например, путем загрузки программы, хранящейся в блоке 808 запоминающего устройства, на RAM 803 через интерфейс 805 ввода-вывода и шину 804 и исполняет программу.
Программа, исполняемая компьютером (CPU 801) может предоставляться, например, как записанная на съемном носителе 811, служащем, например, в качестве пакетного носителя. Кроме того, программа может предоставляться через проводную или беспроводную среду передачи, такую как локальная сеть, Интернет и цифровое спутниковое вещание.
В компьютере программа может устанавливаться в блок 808 запоминающего устройства через интерфейс 805 ввода-вывода, монтируя съемный носитель 811 на привод 810. Кроме того, программа может приниматься блоком 809 связи через проводную или беспроводную передающую среду и устанавливаться в блок 808 запоминающего устройства. Дополнительно, программа может устанавливаться в ROM 802 или блок 808 запоминающего устройства заранее.
Кроме того, программа, исполняемая компьютером, может быть программой, выполняющей процесс последовательно во времени, как описано здесь, или может быть программой, выполняющей процесс параллельно или в необходимые моменты времени, такие как моменты времени, когда вызывается программа.
Пример конфигурации телевизионного устройства
На фиг. 63 схематично представлено телевизионное устройство, к которому применяется настоящая технология. Телевизионное устройство 900 содержит: антенну 901, тюнер 902, демультиплексор 903, декодер 904, блок 905 видеопроцессора, блок 906 отображения, блок 907 аудиопроцессора, громкоговоритель 908 и внешний интерфейсный блок 909. Кроме того, телевизионное устройство 900 содержит блок 910 управления, блок 911 интерфейса пользователя и т.п.
Тюнер 902 выбирает желаемый канал из числа широковещательных сигналов, принимаемых антенной 901, выполняет демодуляцию и выводит полученный кодированный битовый поток на демультиплексор 903.
Демультиплексор 903 извлекает пакет видео- и аудиоконтента программы, являющийся целью просмотра, из кодированного битового потока и выводит данные извлеченного пакета на декодер 904. Кроме того, демультиплексор 903 подает пакет данных, такой как EPG (электронная программа передач) и т.п. на блок 910 управления. Дополнительно, в случае, когда выполняется скремблирование, скремблирование удаляется, используя демультиплексор и т.п.
Декодер 904 выполняет процесс декодирования пакета и выводит видеоданные, сформированные в процессе декодирования, на блок 905 видеопроцессора и выводит аудиоданные на блок 907 аудиопроцессора.
Блок 905 видеопроцесора выполняет подавление шумов, видеообработку в соответствии с установками пользователя и т.п. для видеоданных. Блок 905 видеопроцессора формирует видеоданные телевизионной программы, которые должны отображаться на блоке 906 отображения, данные изображения, соответствующие процессу, который основывается на приложении, предоставленном через сеть, и т.п. Кроме того, блок 905 видеопроцессора формирует видеоданные для отображения на экране меню для выбора позиций меню и т.п. и накладывает сформированные видеоданные на видеоданные программы. Блок. 905 видеопроцессора формирует запускающий сигнал, основываясь на видеоданных, сформированных, как указано выше, и запускает блок 906 отображения.
Блок 906 отображения запускает устройство отображения (например, жидкокристаллический дисплей и т.п.), основываясь на сигнале запуска, подаваемом от блока 905 видеопроцессора, отображая, таким образом, видеопрограмму и т.п.
Блок 907 аудиопроцессора выполняет заданный процесс, такой как подавление шумов для аудиоданных, выполняет процесс D/A-преобразования аудиоданных после этого процесса или после усиления аудиоданных и подает результирующие данные на громкоговоритель 908, выполняя, таким образом, процесс вывода звукового сигнала.
Внешний интерфейсный блок 909 является интерфейсом, используемым для соединения с внешним устройством или сетью, и выполняет передачу или прием данных, таких как видеоданные или аудиоданные.
Блок 911 интерфейса пользователя соединяется с блоком 910 управления. Блок 911 интерфейса пользователя содержит операционный переключатель, блок приема сигналов дистанционного управления и т.п. и подает рабочий сигнал, соответствующий операции пользователя, на блок 910 управления.
Блок 910 управления содержит CPU (центральный процессор), память и т.п. В памяти хранится программа, исполняемая CPU, различные виды данных, необходимых CPU для выполнения операций, данные EPG, данные, полученные через сеть, и т.п. Программа, хранящаяся в памяти, считывается и выполняется CPU в заданное время, такое как время включения телевизионного устройства 900. Исполняя программу, CPU выполняет управление каждым блоком, так что телевизионное устройство 900 работает в соответствии с операцией пользователя.
Кроме того, в телевизионном устройстве 900 предусмотрена шина, чтобы соединить тюнер 902, демультиплексор 903, блок 905 видеопроцессора, блок 907 аудиопроцессора, внешний интерфейсный блок 910 и т.п. с блоком 910 управления.
В телевизионном устройстве, выполненном таким образом, функция устройства декодирования (способа декодирования), соответствующая настоящему применению, реализуется в декодере 904. Соответственно, кодированный поток, в котором уменьшается объем информации, относящейся к информации, определяющей опорное изображение, может быть декодирован.
Пример конфигурации мобильного телефона
На фиг. 64 схематично представлена конфигурация мобильного телефона, к которому применяется настоящая технология. Мобильный телефон 920 содержит: блок 922 связи, аудиокодек 923, блок 926 камеры, блок 927 обработки изображений, блок 928 мультиплексирования/разделения, блок 929 записи/воспроизведения, блок 930 отображения и блок 931 управления. Они соединяются друг с другом через шину 933.
Кроме того, антенна 921 соединяется с блоком 922 связи и громкоговоритель 924 и микрофон 925 соединяются с аудиокодеком 923. Дополнительно, операционный блок 932 соединяется с блоком 931 управления.
Мобильный телефон 920 выполняет различные операции, такие как передача и прием аудиосигнала, передача и прием электронной почты и данных изображения, получение изображения и запись данных в различных режимах, таких как режим речевого вызова и режим передачи данных.
В режиме речевого вызова аудиосигнал, сформированный микрофоном 925, преобразуется в аудиоданные и сжимается аудиокодеком 923 и результирующий сигнал подается на блок 922 связи. Блок 922 связи выполняет процесс модуляции, процесс преобразования частоты и т.п. для аудиоданных, формируя, таким образом, сигнал передачи. Кроме того, блок 922 связи подает сигнал передачи на антенну 921, передавая, таким образом, сигнал передачи на базовую станцию, не показанную на чертеже. Дополнительно, блок 922 связи выполняет процесс усиления, процесс преобразования частоты, процесс демодуляции и т.п. для принимаемого сигнала, принятого антенной 921, и подает полученные аудиоданные на аудиокодек 923. Аудиокодек 923 выполняет распаковку данных для аудиоданных, преобразует аудиоданные в аналоговый аудиосигнал и выводит аудиосигнал на громкоговоритель 924.
Кроме того, в режиме передачи данных, в случае, когда выполняется передача электронной почты, блок 931 управления принимает текстовые данные, введенные посредством операции через операционный блок 932, и отображает входные символы на экране блока 930 отображения. Дополнительно, блок 931 управления формирует данные электронной почты, основываясь на команде пользователя и т.п., поданной от операционного блока 932, и подает сформированные данные электронной почты на блок 922 связи. Блок 922 связи выполняет процесс модуляции, процесс преобразования частоты и т.п. для данных электронной почты и передает полученный сигнал передачи через антенну 921. Кроме того, блок 922 связи выполняет процесс усиления, процесс преобразования частоты, процесс демодуляции и т.п. для сигнала приема, принятого антенной 921, восстанавливая, таким образом, данные электронной почты. Эти почтовые данные подаются на блок 930 отображения, посредством которого содержимое электронной почты отображается на экране.
Кроме того, мобильный телефон 920 может хранить принятые почтовые данные на носителе данных, используя блок 929 записи/воспроизведения. Носитель данных является произвольным перезаписываемым носителем данных. Например, носитель данных может быть полупроводниковой памятью, такой как RAM или встроенная флэш-память, жесткий диск, магнитный диск, магнитооптический диск, оптический диск или съемный носитель, такой как USB-память или карта памяти.
В режиме передачи данных, когда передаются данные изображения, данные изображения, сформированные блоком 926 камеры, подаются на блок 927 обработки изображений. Блок 927 обработки изображений выполняет процесс кодирования данных изображения, формируя, таким образом, кодированные данные.
Блок 928 мультиплексирования/разделения мультиплексирует кодированные данные, сформированные блоком 927 обработки изображений, и аудиоданные, поданные от аудиокодека 923 в соответствии с заданной системой и подает мультиплексированные данные на блок 922 связи. Блок 922 связи выполняет процесс модуляции, процесс преобразования частоты и т.п.для мультиплексированных данных и передает полученный сигнал передачи через антенну 921. Кроме того, блок 922 связи выполняет процесс усиления, процесс преобразования частоты, процесс демодуляции и т.п. для сигнала приема, принятого антенной 921, восстанавливая, таким образом, мультиплексированные данные. Эти мультиплексированные данные подаются на блок 928 мультиплексирования/ разделения. Блок 928 мультиплексирования/разделения разделяет мультиплексированные данные, подает кодированные данные на блок 927 обработки изображений и подает аудиоданные на аудиокодек 923. Блок 927 обработки изображений выполняет процесс декодирования кодированных данных, формируя, таким образом, данные изображения. Эти данные изображения подаются на блок 930 отображения, с помощью которого принятое изображение отображается на экране. Аудиокодек 923 преобразует аудиоданные в аналоговый аудиосигнал и подает преобразованный аналоговый аудиосигнал на громкоговоритель 924, чтобы, таким образом, выводить принятые аудиоданные.
В устройстве мобильного телефона, выполненном таким образом, функции устройства кодирования и устройства декодирования (способ кодирования и способ декодирования), соответствующих настоящей заявке, реализуются в блоке 927 обработки изображений. Соответственно, кодированный поток, в котором объем информации, относящейся к информации, определяющей опорное изображение, уменьшается, может быть декодирован.
Пример конфигурации устройства записи и воспроизведения На фиг. 65 схематично представлена конфигурация устройства записи и воспроизведения, к которому применяется настоящая технология. Устройство 940 записи и воспроизведения, например, записывает аудиоданные и видеоданные принятой широковещательной программы на носителе записи и предоставляет записанные данные пользователю в то время, когда пользователь подает команду. Кроме того, устройство 940 записи и воспроизведения может, например, получать аудиоданные и видеоданные от другого устройства и записывать данные на носителе записи. Дополнительно, устройство 940 записи и воспроизведения декодирует и выводит аудиоданные и видеоданные, записанные на носителе записи, за счет чего на устройстве монитора и т.п.могут быть выполнены отображение изображения или вывод аудиоданных.
Устройство 940 записи и воспроизведения содержит: тюнер 941, внешний интерфейсный блок 942, кодер 943, блок 944 HDD (жесткий диск), дисковод 945, переключатель 946, декодер 947, блок 948 OSD (экранное меню), блок 949 управления и блок 950 интерфейса пользователя.
Тюнер 941 выбирает желаемый канал из широковещательных сигналов, принятых антенной, не показанной на чертеже. Тюнер 941 выводит на переключатель 946 кодированный битовый поток, полученный посредством демодуляции сигнала приема желаемого канала.
Внешний интерфейсный блок 942 содержит по меньшей мере интерфейс IEEE 1394 или блок сетевого интерфейса или интерфейс USB или интерфейс флэш-памяти и т.п. Внешний интерфейсный блок 942 является интерфейсом для соединения с внешним устройством, сетью, картой памяти и т.п. и выполняет прием видеоданных, аудиоданных и т.п. для записи.
Когда видеоданные и аудиоданные, поданные от внешнего интерфейсного блока 942, не кодированы, кодер 943 кодирует видеоданные и аудиоданные в соответствии с заданной системой и выводит кодированный битовый поток на переключатель 946.
Блок 944 HDD записывает данные контента, такие как видеоданные и аудиоданные, различные программы, другие данные и т.п., на встроенный жесткий диск и считывает записанные данные с жесткого диска во время воспроизведения и т.п.
Дисковод 945 выполняет запись сигнала и воспроизведение сигналов на загруженном оптическом диске. Примерами оптического диска являются, например, диск DVD (DVD-Video, DVD-RAM, DVD-R, DVD-RW, DVD+R или DVD+RW и т.п.), диск Blu-ray и т.п.
Когда записываются видеоданные или аудиоданные, переключатель 946 выбирает кодированный битовый поток, поданный от тюнера 941, или кодер 943 и подает выбранный кодированный битовый поток на блок 944 HDD и дисковод 945. Кроме того, при воспроизведении видеоданных или аудиоданных переключатель 946 подает кодированный битовый поток с выхода блока 944 HDD или дисковода 945 на декодер 947.
Декодер 947 выполняет процесс декодирования кодированного битового потока. Декодер 947 подает видеоданные, сформированные при выполнении процесса декодирования, на блок 948 OSD. Кроме того, декодер 947 выводит аудиоданные, сформированные при выполнении процесса декодирования.
Блок 948 OSD формирует видеоданные, используемые для отображения экранного меню, такого как меню для выбора позиций и т.п., и выводит сформированные видеоданные, так чтобы накладывать их на видеоданные, поступающие с выхода декодера 947.
Блок 950 интерфейса пользователя соединяется с блоком 949 управления. Блок 950 интерфейса пользователя содержит операционный переключатель, блок приема сигналов дистанционного управления и т.п. и подает рабочий сигнал, соответствующий операции пользователя, на блок 949 управления.
Блок 949 управления содержит CPU, память и т.п. Память хранит программы, которые должны выполняться CPU, и различные виды данных, необходимых для процесса, выполняемого CPU. Программа, хранящаяся в памяти, считывается и исполняется CPU в заданное время, такое как время включения устройства 940 записи и воспроизведения. CPU исполняет программы, выполняя управление каждым блоком таким образом, что устройство 940 записи и воспроизведения работает в соответствии с операцией пользователя.
В устройстве записи и воспроизведения, выполненном таким образом, функция устройства декодирования (способа декодирования), соответствующая настоящей заявке, реализуется в декодере 947. Соответственно, кодированный поток, в котором объем информации, относящейся к информации, определяющей опорное изображение, уменьшается, может быть декодирован.
Пример конфигурации устройства получения изображения
На фиг. 66 представлен пример схемы конфигурации устройства получения изображения, к которому применяется настоящая технология. Устройство 960 получения изображения получает изображение объекта, отображает изображение объекта на блоке отображения или записывает изображение объекта на носителе записи данных в виде данных изображения.
Устройство 960 получения изображения содержит: оптический блок 961, блок 962 получения изображения, блок 963 видеопроцессора камеры, блок 964 видеопроцессора, блок 965 отображения, внешний интерфейсный блок 966, блок 967 запоминающего устройства, привод 968 носителя данных, блок 969 OSD и блок 970 управления. Кроме того, блок 971 интерфейса пользователя соединяется с блоком 970 управления. Дополнительно, блок 964 обработки данных изображения, внешний интерфейсный блок 966, блок 967 запоминающего устройства, привод 968 носителя данных, блок 969 OSD, блок 970 управления и т.п. соединяются друг с другом через шину 972.
Оптический блок 961 выполнен с возможностью использования объектива, диафрагменного механизма и т.п. Оптический блок 961 формирует оптическое изображение объекта на поверхности получения изображения блока 962 получения изображения. Блок 962 получения изображения выполнен с возможностью использования датчика изображений на CCD или CMOS, формирует электрический сигнал в соответствии с оптическим изображением посредством фотоэлектронного преобразования и подает сформированный электрический сигнал на блок 963 видеопроцессора камеры.
Блок 963 видеопроцессора камеры выполняет различные виды обработки сигналов камеры, такие как г-образная коррекция, гамма-коррекция и коррекция цвета для электрического сигнала, подаваемого от блока 962 получения изображения. Блок 963 видеопроцессора камеры подает данные изображения после обработки сигнала камеры на блок 964 обработки данных изображения.
Блок 964 обработки данных изображения выполняет процесс кодирования данных изображения, поданных от блока 963 видеопроцессора камеры. Блок 964 обработки данных изображения подает кодированные данные, сформированные путем выполнения процесса кодирования, на внешний интерфейсный блок 966 или на привод 968 носителя данных. Кроме того, блок 964 обработки данных изображения выполняет процесс декодирования кодированных данных, подаваемых от внешнего интерфейсного блока 966 или привода 968 носителя данных. Блок 964 обработки данных изображения подает данные изображения, сформированные посредством выполнения процесса декодирования, на блок 965 отображения. Кроме того, блок 964 обработки данных изображения выполняет процесс подачи данных изображения, полученных от блока 963 видеопроцессора камеры, на блок 965 отображения и подает данные для отображения, полученные от блока 969 OSD, на блок 965 отображения с наложением на данные изображения.
Блок 969 OSD формирует данные для отображения, такие как экранное меню или значки, которые формируются символами, знаками или графикой, и выводит данные для отображения на блок 964 обработки данных изображения.
Внешний интерфейсный блок 966, например, образуется USB-терминалом ввода/вывода и т.п. и соединяется с принтером в случае, когда изображение распечатывается. Кроме того, по мере необходимости, дисковод соединяется с внешним интерфейсным блоком 966, на него должным образом устанавливается съемный носитель данных, такой как магнитный диск или оптический диск, и, по мере необходимости, устанавливается считанная с него компьютерная программа. Дополнительно, внешний интерфейсный блок 966 содержит сетевой интерфейс, соединенный с заданной сетью, такой как LAN или Интернет. Например, в соответствии с командой, поданной от блока 971 интерфейса пользователя, блок 970 управления может считывать кодированные данные с носителя 968 данных и подавать кодированные данные, считанные с внешнего интерфейсного блока 966, на другое устройство, присоединенное через сеть. Кроме того, блок 970 управления может получать кодированные данные или данные изображения, подаваемые от другого устройства через сеть, через внешний интерфейсный блок 966 и подавать полученные данные на блок 964 обработки данных изображения.
В качестве носителя записи данных, приводимого в действие приводом 968 носителя данных, используется, например, произвольный считываемый и записываемый съемный носитель данных, такой как магнитный диск, магнито-оптический диск, оптический диск или полупроводниковая память. Кроме того, тип носителя записи данных как съемного носителя является произвольным и может быть ленточным устройством, диском или картой памяти. Дополнительно, в качестве носителя записи данных может, конечно, использоваться бесконтактная IC-карта (карта на интегральной схеме) и т.п.
Кроме того, объединяя вместе привод 968 носителя данных и носитель записи данных, носитель записи данных может быть выполнен в виде стационарного носителя записи данных, такого как встроенный дисковод жесткого диска или SSD (Solid State Drive, твердотельный дисковод).
Блок 970 управления выполнен с возможностью использования CPU. Блок 967 памяти хранит программы, исполняемые блоком 970 управления, различные виды данных, необходимые для процесса, выполняемого блоком 970 управления, и т.п. Программа, хранящаяся в блоке 967 запоминающего устройства, считывается и исполняется блоком 970 управления в заданное время, такое как время включения устройства 960 получения изображения. Блок 970 управления исполняет программы, выполняя, таким образом, управление каждым блоком так, чтобы устройство 960 получения изображения действовало в соответствии с операцией пользователя.
В устройстве получения изображения, выполненном таким образом, функции устройства кодирования и устройства декодирования (способ кодирования и способ декодирования), соответствующие настоящему применению, реализуются в блоке 964 обработки данных изображения. Соответственно, объем информации, относящийся к информации, определяющей опорное изображение, может быть уменьшен. Кроме того, кодированный поток, в котором объем информации, относящейся к информации, определяющей опорное изображение, уменьшается, может быть декодирован.
Пример применения иерархического кодирования
Первая система
Далее будет описан конкретный пример использования масштабируемых кодированных данных, которые иерархически кодированы (кодированы масштабируемым способом). Масштабируемое кодирование, например, как описано в примере, показанном на фиг. 67, используется для выбора данных, которые должны передаваться.
В системе 1000 передачи данных, показанной на фиг. 67, распределительный сервер 1002 считывает масштабируемые кодированные данные, хранящиеся в блоке 1001 запоминающего устройства масштабируемых кодированных данных, и распределяет масштабируемые кодированные данные оконечному устройству, такому как персональный компьютер 1004, AV-устройство 1005, планшетное устройство 1006 или мобильный телефон 1007 через сеть 1003.
В этом случае, распределительный сервер 1002 выбирает и передает кодированные данные соответствующего качества согласно возможностям оконечного устройства, среды передачи данных и т.п. Даже когда распределительный сервер 1002 передает данные, обладающие необязательным высоким качеством, изображение высокого качества не может быть получено в оконечном устройстве и существует проблема возможности возникновения задержки или переполнения. Кроме того, существует проблема ненужной занятости полосы или нагрузка на оконечное устройство может без необходимости возрастать. Напротив, когда распределительный сервер 1002 передает данные, обладающие без необходимости низким качеством, существует проблема, что изображение с достаточным качеством изображения не может быть получено в оконечном устройстве. Соответственно, распределительный сервер 1002 должным образом считывает и передает масштабируемые кодированные данные, хранящиеся в блоке 1001 запоминающего устройства для хранения масштабируемых кодированных данных в качестве кодированных данных, обладающих качеством, соответствующим возможностям оконечного устройства, среды передачи данных и т.п.
Например, предполагается, что блок 1001 запоминающего устройства для хранения масштабируемых кодированных данных сохраняет масштабируемые кодированные данные (BL+EL) 1011, кодированные масштабируемым способом. Эти масштабируемые кодированные данные (BL+EL) являются кодированными данными, содержащими как основной уровень, так и повышенный уровень, и являются данными, из которых изображение основного уровня и изображение повышенного уровня может быть получено, декодируя масштабируемые кодированные данные.
Распределительный сервер 1002 выбирает соответствующий уровень согласно возможностям оконечного устройства, передающего данные, среды передачи данных и т.п. и считывает данные уровня. Например, для персонального компьютера 1004 или планшетного устройства 1006 с высокой способностью обработки, распределительный сервер 1002 считывает высококачественные масштабируемые кодированные данные (BL+EL) 1011 из блока 1001 запоминающего устройства для хранения масштабируемых кодированных данных и передает их такими, как они есть. В отличие от этого, например, для AV-устройства 1005 или мобильного телефона 1007 с низкой способностью обработки, распределительный сервер 1002 извлекает данные основного уровня из масштабируемых кодированных данных (BL+EL) 1011 и передает масштабируемые кодированные данные (BL) 1012, имеющие то же самое содержание, что и масштабируемые кодированные данные (BL+EL) 1011, но имеют более низкое качество, чем масштабируемые кодированные данные (BL+EL) 1011.
Как сказано выше, используя масштабируемые кодированные данные, объем данных может легко регулироваться. Соответственно, можно избежать появления задержки или переполнения, а также избежать ненужного увеличения нагрузки на оконечное устройство или среду передачи данных. Кроме того, в масштабируемых кодированных данных (BL+EL) 1011, поскольку избыточность между уровнями уменьшается, объем данных может быть уменьшен, чтобы быть меньше, чем в случае, когда кодированные данные каждого уровня конфигурируются как индивидуальные данные. Соответственно область хранения блока 1001 запоминающего устройства для хранения масштабируемых кодированных данных может использоваться более эффективно.
Кроме того, аналогично персональному компьютеру 1004 и мобильному телефону 1007, в качестве оконечных устройств могут применяться различные устройства и, соответственно, возможности аппаратурного обеспечения оконечных устройств различаются в зависимости от устройств. Дополнительно, поскольку существуют - различные прикладные программы, исполняемые оконечными устройствами, существуют различные возможности программного обеспечения. Кроме того, в качестве сети 1003, которая служит в качестве среды передачи данных, могут применяться любые сети передачи данных, в том числе, проводная сеть, беспроводная сеть или поводная и беспроводная сеть, такая как Интернет или LAN (Local Area Network, локальная сеть) и, соответственно, возможности передачи данных варьируются. Дополнительно, существует проблема, что возможности передачи данных могут изменяться в соответствии с другими передачами данных и т.п.
Таким образом, распределительный сервер 1002 перед началом передачи данных может осуществлять связь с оконечным устройством, являющимся местом назначения передачи данных, так чтобы получать информацию, относящуюся к возможностям оконечного устройства, таким как возможности аппаратурного обеспечения оконечного устройства или возможности прикладной программы (программного обеспечения), исполняемой оконечным устройством, и информацию, относящуюся к среде передачи данных, такую как доступная ширина полосы сети 1003 и т.п. Кроме того, распределительный сервер 1002 может быть выполнен с возможностью выбора соответствующего уровня, основываясь на полученной им информации.
Кроме того, извлечение уровня может выполняться оконечным устройством. Например, персональный компьютер 1004 может декодировать переданные масштабируемые кодированные данные (BL+EL) 1011 и отображать изображение основного уровня или изображение улучшенного уровня. Дополнительно, персональный компьютер 1004 может извлекать масштабируемые кодированные данные (BL) 1012 основного уровня из переданных масштабируемых кодированных данных (BL+EL) 1011 и может хранить масштабируемые кодированные данные, передавать извлеченные масштабируемые кодированные данные другому устройству или декодировать извлеченные масштабируемые кодированные данные и отображать изображение основного уровня.
Здесь очевидно, что блок 1001 запоминающего устройства масштабируемых кодированных данных, распределительный сервер 1002, сеть 1003 и количество оконечных устройств являются произвольными. В приведенном выше описании, хотя был описан пример, в котором распределительный сервер 1002 передает данные оконечному устройству, примеры использования не ограничиваются только этим. Система 1000 передачи данных может применяться к любой системе до тех пор, пока система выбирает должный уровень, соответствующий возможностям оконечного устройства, среды связи и т.п. и передает выбранный уровень, когда кодированные данные передаются оконечному устройству кодированными масштабируемым способом.
Вторая система
Кроме того, масштабируемое кодирование, например, как описано в примере, показанном на фиг. 68, используется для передачи через множество сред передачи данных.
В системе 1100 передачи данных, показанной на фиг. 68, широковещательная станция 1101 передает масштабируемые кодированные данные (BL) 1121 основного уровня посредством наземного вещания 1111. Кроме того, широковещательная станция 1101 передает (например, пакетирует и передает) масштабируемые кодированные данные (EL) 1122 улучшенного уровня через произвольную сеть 1112, которая является проводной сетью, беспроводной сетью передачи данных или сетью передачи данных, содержащей и ту, и другую сети.
Оконечное устройство 1102 обладает функцией приема наземного вещания 1111, которое распространяет широковещательная станция 1101, и принимает масштабируемые кодированные данные (BL) 1121 основного уровня через наземное вещание 1111. Кроме того, оконечное устройство 1102 дополнительно имеет функцию связи для осуществления связи через сеть 1112 и принимает масштабируемые кодированные данные (EL) 1122 улучшенного уровня, передаваемые через сеть 1112.
Оконечное устройство 1102, например, в соответствии с командой пользователя и т.п., получает изображение основного уровня, декодируя масштабируемые кодированные данные (BL) 1121 основного уровня, полученные через наземное вещание 1111, сохраняет полученные масштабируемые кодированные данные или передает полученные масштабируемые кодированные данные другому устройству.
Кроме того, оконечное устройство 1102, например, в соответствии с командой пользователя, создает масштабируемые кодированные данные (BL) 1121 основного уровня, получаемые через наземное вещание 1111, и масштабируемые кодированные данные (EL) 1122 улучшенного уровня, получаемые через сеть 1112, так чтобы получить масштабируемые кодированные данные (BL+EL), декодирует масштабируемые кодированные данные, так чтобы получить изображение улучшенного уровня, или передает масштабируемые кодированные данные другому устройству.
Как сказано выше, масштабируемые кодированные данные могут, например, передаваться через среду передачи данных, которая различна для каждого уровня. Соответственно, нагрузка может распределяться и возникновение задержки или переполнения могут исключаться.
Кроме того, в зависимости от ситуации, среда передачи данных, используемая для передачи, может быть выполнена такой, чтобы выбираться для каждого уровня. Например, она может быть выполнена такой, что масштабируемые кодированные данные (BL) 1121 основного уровня с относительно большим объемом данных передаются через среду передачи данных с широкой полосой пропускания, а масштабируемые кодированные данные (EL) 1122 улучшенного уровня с относительно малым объемом данных передаются через среду передачи данных с узкой полосой пропускания. Кроме того, например, среда передачи данных, через которую передаются масштабируемые кодированные данные (EL) 1122 улучшенного уровня может быть выполнена с возможностью переключения между сетью 1112 и наземным вещанием 1111 в соответствии с используемой полосой пропускания сети 1112. Аналогично, то же самое относится к данным любого уровня.
Управляя таким образом, повышение нагрузки для передачи данных может дополнительно сдерживаться.
Здесь количество уровней является произвольным и количество сред передачи данных, используемых для передачи, также является произвольным. Кроме того, количество оконечных устройств 1102, являющихся местами назначения при распределении данных, также является произвольным. Дополнительно, в приведенном выше описании, хотя был описан пример, в котором вешание ведется через широковещательную станцию 1101, примеры использования этим не ограничиваются. Система 1100 передачи данных может применяться в любой системе, пока она является системой, которая делит кодированные данные, кодируемые масштабируемым способом, на множество частей в виде блоков уровней и передает поделенные данные через множество линий.
Третья система
Кроме того, масштабируемые кодированные данные используются, например, как описано в примере, показанном на фиг. 69, для хранения кодированных данных.
В системе 1200 получения изображения, показанной на фиг. 69, устройство 1201 получения изображения выполняет масштабируемое кодирование данных изображения, полученного посредством получения изображения объекта 1211, и подает результирующие данные изображения на устройство 1202 хранения масштабируемых кодированных данных в качестве масштабируемых кодированных данных (BL+EL) 1221.
Устройство 1202 хранения масштабируемых кодированных данных хранит масштабируемые кодированные данные (BL+EL) 1221, поданные от устройства 1201 получения изображения, с качеством, соответствующим ситуации. Например, в случае стандартной ситуации устройство 1202 хранения масштабируемых кодированных данных извлекает данные основного уровня из масштабируемых кодированных данных (BL+EL) 1221 и сохраняет извлеченные данные (BL) 1222 основного уровня, имеющие низкое качество и малый объем данных. В отличие от этого, например, в ситуации повышенного внимания, запоминающее устройство 1202 масштабируемых кодированных данных сохраняет масштабируемые кодированные данные (BL+EL) 1221, имеющие высокое качество и большой объем данных, такими, какие они есть.
Таким образом, устройство 1202 хранения масштабируемых кодированных данных может сохранять изображение высокого качества только в необходимом случае. Соответственно, хотя снижение значимости изображения за счет ухудшения качества изображения ограничивается, увеличение объема данных может сдерживаться, за счет чего эффективность использования области хранения может улучшаться.
Например, предполагается, что устройством 1201 получения изображения является контрольная видеокамера. В случае, когда цель контроля (например, незваный гость) отсутствует в полученном изображении (в случае обычной ситуации), вероятность, что содержимое полученного изображения не обладает важностью, является высокой, снижение объема данных имеет приоритет и данные изображения (масштабируемые кодированные данные) сохраняются с низким качеством. Напротив, когда цель контроля присутствует в полученном изображении в виде объекта (в случае ситуации, требующей повышенного внимания), вероятность, что содержимое полученного изображения обладает важностью, является высокой, качество изображения имеет приоритет и данные изображения (масштабируемые кодированные данные) сохраняются с высоким качеством.
Здесь ситуация обычного состояния или требующая повышенного внимания может, например, определяться, анализируя изображение с использованием устройства 1202 хранения масштабируемых кодированных данных. Кроме того, конфигурация может быть такой, что процесс определения выполняется устройством 1201 получения изображения и результат определения передается в устройство 1202 хранения масштабируемых кодированных данных.
Здесь критерий определения для определения ситуации обычного состояния или состояния повышенного внимания произволен и содержание изображения, являющееся критерием определения, будет произвольным. Кроме того, в качестве критерия определения может быть установлено условие, отличающееся от содержания изображения. Например, определение может меняться в соответствии с размером, формой сигнала и т.п. записанной речи, может меняться для каждого заданного периода времени или может меняться по команде, подаваемой извне, такой как команда пользователя.
Кроме того, в представленном выше описании, хотя был описан пример, в котором выполняется переключение между двумя состояниями, обычным состоянием и состоянием повышенного внимания, количество состояний является произвольным. Таким образом, например, возможна конфигурация, в которой переключение выполняется между тремя или более состояниями, в том числе, обычным состоянием, состоянием небольшого внимания, состоянием повышенного внимания и состоянием усиленного внимания. Однако, верхний предел количества состояний, между которыми происходит переключение, зависит от количества уровней масштабируемых кодированных данных.
Дополнительно, устройство 1201 получения изображения может быть выполнено с возможностью определения количества уровней масштабируемого кодирования в соответствии с состояниями. Например, в обычном состоянии устройство 1201 получения изображения может быть выполнено с возможностью формирования масштабируемых кодированных данных (BL) 1222 основного уровня, имеющих низкое качество и малый объем данных, и подавать масштабируемые кодированные данные на запоминающее устройство 1202 для хранения масштабируемых кодированных данных. Кроме того, например, в состоянии повышенного внимания устройство 1201 получения изображения может быть выполнено с возможностью формирования масштабируемых кодированных данных (BL+EL) 1221 основного уровня, имеющих высокое качество и большой объем данных, и подачи сформированных масштабируемых кодированных данных на запоминающее устройство 1202 для хранения масштабируемых кодированных данных.
Хотя в представленном выше описании в качестве примера была использована контрольная камера, применение такой системы 1200 получения изображения является произвольным и не ограничивается контрольной камерой.
Здесь LCU является CU (блоком кодирования), имеющим максимальный размер, и CTU (Coding Tree Unit, блок дерева кодирования) является блоком, содержащим СТВ (Coding Tree Block, блок дерева кодирования) для LCU и параметры на момент выполнения процесса на основе (уровне) LCU. Кроме того, CU, образующий CTU, является блоком, содержащим СВ (Coding Block, блок кодирования) и параметры на момент выполнения процесса на основе (уровне) CU (level).
Другие примеры
Хотя выше были описаны примеры устройств, систем и т.п., к которым применяется настоящая технология, настоящая технология этим не ограничивается. Таким образом, настоящая технология может применяться как ко всем конфигурациям, установленным на таком устройстве или устройствах, образующих такую систему, например, на процессоре, как системе LSI (Large Scale Integration, интеграции большого объема), и т.п., так и к модулю, который использует множество процессоров и т.п., блоке, использующих множество модулей и т.п. или их наборов и т.п. (другими словами, на части конфигурации устройства), полученных добавлением к блоку других функций.
Пример конфигурации видеокомбайна
Пример случая, когда настоящая технология применяется к комбайну, будет описан со ссылкой на фиг. 70. На фиг. 70 представлена схема конфигурации видеокомбайна, к которому применяется настоящая технология.
В последнее время реализация многочисленных функций электронного устройства расширяется и при их разработке или изготовлении, в случае, когда часть конфигурации назначается для продажи, обеспечения и т.п., существует не только случай, когда применяется конфигурация, использующая одну функцию, но также широко используемый случай, когда применяется одно устройство, имеющее множество функций, полученных посредством комбинации множества конфигураций, имеющих соответствующие функции.
Видеокомбайн 1300, показанный на фиг. 70, имеет такую многофункциональную конфигурацию и получается путем объединения устройства, имеющего функцию, связанную с кодированием изображения или декодирования изображения (любая из них или обе), с устройствами, имеющими другие функции, связанные с этой функцией.
Как показано на фиг. 70, видеокомбайн 1300 содержит группу модулей, содержащую видеомодуль 1311, внешнюю память 1312, модуль 1313 управления электропитанием, входной модуль 1314 и т.п. и устройства, имеющие связанные функции связности 1321, камеры 1322, датчика 1323 и т.п.
Модуль формируется как компонент, имеющий функцию, обладающую единством, организуя вместе функции нескольких компонент, связанных друг с другом. Хотя конкретная физическая конфигурация является произвольной, может быть рассмотрен модуль, полученный путем установки нескольких процессоров, каждый из которых обладает некоторой функцией, компонент электрической схемы, таких как резистор или конденсатор, и других устройств и т.п. на проводной панели и т.п., так чтобы интегрировать их вместе. Кроме того, может быть рассмотрено формирование нового модуля, объединяя модуль с другими модулями, процессорами и т.п.
В примере, показанном на фиг. 70, видеомодуль 1311 получается объединением конфигураций, имеющих функции, связанные с видеообработкой, и содержит: прикладной процессор, видеопроцессор, широкополосный модем 1333 и радиочастотный модуль 1334.
Процессор получают, интегрируя конфигурацию, имеющую заданную функцию на полупроводниковом кристалле в виде SoC (System On a Chip, система на кристалле) и, например, существует процессор, называемый системной LSI (Large Scale Integration, большая степень интеграции) и т.н. Конфигурация, обладающая заданной функцией, может быть логической схемой (конфигурацией аппаратурного обеспечения), конфигурацией, содержащей CPU, ROM, RAM и т.п., и программой (конфигурация программного обеспечения), исполняемой ими, или конфигурацией, объединяющей обе описанные выше конфигурации. Например, возможна конфигурация, в которой процессор содержит логические схемы, CPU, ROM, RAM и т.п., в которой некоторые функции реализуются логическими схемами (конфигурация аппаратурного обеспечения), а другие функции реализуются программой (конфигурация программного обеспечения), исполняемой CPU.
Прикладной процессор 1331, показанный на фиг. 70, является процессором, исполняющим прикладную программу, связанную с обработкой изображения. Для реализации заданных функций прикладная программа, исполняемая прикладным процессором 1331, может не только выполнять процесс вычислений, но также может по мере необходимости управлять конфигурациями внутри и снаружи видеомодуля 1311, такого как видеопроцессор 1332.
Видеопроцессор 1332 является процессором, имеющим функцию, связанную с кодированием изображения и декодированием изображения (одну из них или обе).
Широкополосный модем 1333 является процессором (или модулем), связанным с проводной или беспроводной (или проводной и беспроводной) широкополосной связью, осуществляемой через широкополосную линию, такую как Интернет или общественная телефонная сеть. Например, широкополосный модем 1333 преобразует данные (цифровой сигнал), которые должны передаваться, в аналоговый сигнал посредством цифровой модуляции и т.п. или демодулирует принятый аналоговый сигнал, так чтобы преобразовывать его в данные (цифровой сигнал). Например, широкополосный можем 1333 может выполнять цифровую модуляцию/демодуляцию произвольной информации, такой как данные изображения, обработанные видеопроцессором 1332, поток, в котором кодированы данные изображения, прикладная программа и данные установки.
Радиочастотный модуль 1334 является модулем, выполняющим преобразование частот, модуляцию/демодуляцию, усиление, процесс фильтрации и т.п. для радиочастотного (RF, Radio Frequency) сигнала, который передается/принимается через антенну. Например, радиочастотный модуль 1334 формирует радиочастотный сигнал, выполняя преобразование частот и т.п. для сигнала системы соединения выделенных линий, сформированного широкополосным модемом 1333. Кроме того, радиочастотный модуль 1334, например, формирует сигнал системы соединения выделенных линий, выполняя частотное преобразование и т.п. для радиочастотного сигнала, принятого через входной модуль 1314.
Кроме того, как отмечено пунктирной линией 1341 на фиг. 70, прикладной процессор 1331 и видеопроцессор 1332 могут интегрироваться так, чтобы образовывать конфигурацию единого процессора.
Внешняя память 1312 является модулем, расположенным снаружи видеомодуля 1311 и содержит запоминающее устройство, используемое видеомодулем 1311. Запоминающее устройство внешней памяти 1312 может быть реализовано посредством определенной физической конфигурации. Однако, в целом, так как запоминающее устройство часто используется для хранения данные, имеющих большой объем, таких как данные изображения, выполненные в виде блоков кадров, запоминающее устройство предпочтительно реализуется посредством полупроводниковой памяти, обладающей большой емкостью при относительно низкой стоимости, такой как динамическая оперативная память (DRAM, Dynamic Random Access Memory).
Модуль 1313 управления электропитанием управляет и контролирует подачу электропитания на видеомодуль 1311 (для каждой конфигурации внутри видеомодуля 1311).
Входной модуль 1314 является модулем, обеспечивающим входную функцию (схему передачи/приема на стороне антенны) для радиочастотного модуля 1334. Как показано на фиг. 70, входной модуль 1314 содержит, например, блок 1351 антенны, фильтр 1352, и блок 1353 усиления.
Блок 1351 антенны содержит антенну, которая передает/принимает беспроводной сигнал, и ее периферийную конфигурацию. Блок 1351 антенны передает сигнал, подаваемый от блока 1353 усиления как беспроводной сигнал, и подает принятый беспроводной сигнал на фильтр 1352 в виде электрического сигнала (радиочастотного сигнала). Фильтр 1352 выполняет процесс фильтрации и т.п. для радиочастотного сигнала, принятого через блок 1351 антенны, и подает радиочастотный сигнал после процесса на радиочастотный модуль 1334. Блок 1353 усиления усиливает радиочастотный сигнал, поданный от радиочастотного блока 1334, и подает усиленный радиочастотный сигнал на блок 1351 антенны.
Модуль 1321 связности является модулем, имеющим функцию, относящуюся к соединению с внешней стороной. Физическая конфигурация модуля 1321 связности является произвольной. Например, модуль 1321 связности содержит конфигурацию, имеющую функцию связи, отличную от технических требований к связи, которым соответствует широкополосный модем 1333, внешние выводы ввода-вывода и т.п.
Например, модуль 1321 связности может быть выполнен с возможностью присутствия в нем модуля, имеющего функции связи, совместимые с техническими требованиями к радиосвязи, такими как технология Bluetooth (зарегистрированная торговая марка), IEEE 802.11 (например, Wi-Fi (Wireless Fidelity; зарегистрированная торговая марка)), NFC (Near Field Communication, связь в ближнем поле) и IrDA (InfraRed Data Association, ассоциация инфракрасных данных), и антенну, которая передает/принимает сигналы, совместимые с техническими требованиями. Кроме того, например, модуль 1321 связности может быть выполнен с возможностью содержания в нем модуля, обладающего функциями связи, совместимыми с техническими требованиями к проводной связи, такими как USB (Universal Serial Bus, универсальная последовательная шина) и HDMI (зарегистрированная торговая марка) (High-Definition Multimedia Interface, мультимедийный интерфейс высокого разрешения) и терминалы, совместимые с техническими требованиями. Дополнительно, например, модуль 1321 связности может быть выполнен с возможностью иметь дополнительную функцию передачи данных (сигнала) и т.п. аналоговых терминалов ввода-вывода и т.п.
Кроме того, модуль 1321 связности может быть выполнен с возможностью содержания в нем устройства, являющегося местом назначением передачи данных (сигнала). Например, модуль 1321 связности может быть выполнен с возможностью содержания в нем привода (не только привода съемного носителя, но и жесткого диска, SSD (Solid State Drive, твердотельный привод), NAS (Network Attached Storage, хранилище, связанное с сетью) и т.п.), который выполняет считывание данных или запись данных для носителя записи данных, такого как магнитный диск, оптический диск, магнитооптический диск или полупроводниковая память. Дополнительно, модуль 1321 связности может быть выполнен с возможностью присутствия в нем устройства вывода (монитора, громкоговорителя и т.п.) изображения или звука.
Камера 1322 является модулем, обладающим функцией получения данных изображения объекта, получая изображение объекта. Данные изображения, полученные в процессе получения изображения, выполняемого камерой 1322, подаются, например, на видеопроцессор 1332 и кодируются.
Датчик 1323 является модулем, имеющим функцию произвольного датчика, такого как аудиодатчик, ультразвуковой датчик, оптический датчик, датчик освещенности, инфракрасный датчик, датчик изображения, датчик вращения, датчик угла, датчик угловой скорости, датчик скорости, датчик ускорения, датчик наклона, магнитный датчик идентификации, датчик удара или датчик температуры. Данные, которые обнаруживаются датчиком 1323, подаются, например, на прикладной процессор 1331 и используются прикладной программой и т.п.
В представленном выше описании, каждая конфигурация, описанная как модуль, может быть реализована процессором и каждая конфигурация, описанная как процессор, может быть реализована модулем.
Как будет описан позже, настоящая технология может быть применена к видеопроцессору 1332 видеокомбайна 1300, имеющего описанную выше конфигурацию. Соответственно, видеокомбайн 1300 может быть выполнен в виде комплекта, к которому применима настоящая технология.
Пример конфигурации видеопроцессора
На фиг. 71 показан пример схемы конфигурации видеопроцессора 1332 (фиг. 70), к которому применяется настоящая технология.
В примере, показанном на фиг. 71, видеопроцессор 1332 имеет функцию приема входного видеосигнала и аудиосигнала и кодирования принятых сигналов в соответствии с заданной системой и функцией декодирования кодированных видеоданных и кодированных аудиоданных и воспроизведения и вывода видеосигнала и звукового сигнала.
Как показано на фиг. 71, видеопроцессор 1332 содержит: блок 1401 входного видеопроцессора; первый блок 1402 увеличения/уменьшения изображения; второй блок 1403 увеличения/уменьшения изображения; блок 1404 выходного видеопроцессора; кадровую память 1405; и блок 1406 управления памятью. Кроме того, видеопроцессор 1332 сордержит: механизм 1407 кодирования/декодирования; видеобуферы 1408А и 1408В ES (Elementary Stream, элементарный поток), и аудиобуферы 1409А и 1409В ES. Кроме того, видеопроцессор 1332 содержит: аудиокодер 1410; аудиодекодер 1411; мультиплексор (MUX) 1412; демультиплексор (DMUX) 1413; и потоковый буфер 1414.
Блок 1401 входного видеопроцессора, например, получает входной видеосигнал от модуля 1321 связности (фиг. 70) и т.п. и преобразует полученный видеосигнал в цифровые данные изображения. Первый блок 1402 увеличения/уменьшения изображения выполняет преобразование формата и процесс увеличения/уменьшения изображения для данных изображения. Второй блок 1403 увеличения/уменьшения изображения для данных изображения выполняет процесс увеличения/уменьшения изображения в соответствии с форматом места назначения для вывода через блок 1404 выходного видеопроцессора или выполняет преобразование формата и процесс увеличения/уменьшения изображения, подобные процессам первого блока 1402 увеличения/уменьшения изображения и т.п. Блок 1404 выходного видеопроцессора выполняет преобразование формата, преобразование в аналоговый сигнал и т.п. для данных изображения и выводит результирующий сигнал, например, на модуль 1321 связности (фиг. 70) и т.п. в виде воспроизводимого видеосигнала.
Кадровая память 1405 является памятью для данных изображения, которая используется совместно блоком входного видеопроцессора 1401, первым блоком 1402 увеличения/уменьшения изображения, вторым блоком 1403 увеличения/уменьшения изображения, выходным видеопроцессором 1404 и механизмом 1407 кодирования/декодирования. Кадровая память 1405 реализуется как полупроводниковая память, такая как DRAM.
Блок 1406 управления памятью принимает сигнал синхронизации, подаваемый от механизма 1407 кодирования/декодирования и управляет доступом к кадровой памяти 1405 записи/считывания в соответствии с графиком доступа для кадровой памяти 1405, который записывается в таблицу 1406А управления доступом. Таблица 1406А управления доступом обновляется блоком 1406 управления памятью в соответствии с процессом, выполняемым механизмом 1407 кодирования/декодирования, первым блоком 1402 увеличения/уменьшения изображения, вторым блоком 1403 увеличения/уменьшения изображения и т.п.
Механизм 1407 кодирования/декодирования выполняет процесс кодирования данных изображения и выполняет процесс декодирования видеопотока, получающегося при кодировании данных изображения. Например, механизм 1407 кодирования/декодирования кодирует данные изображения, считываемые из кадровой памяти 1405 и далее записывает считанные данные изображения в видеобуфер 1408A ES как видеопоток. Кроме того, механизм 1407 кодирования/декодирования, например, последовательно считывает видео поток из видеобуфера 1408В ES, декодирует считанный видеопоток и далее записывает декодированный видеопоток в кадровую память 1405 как данные изображения. Механизм 1407 кодирования/декодирования в таких процессах кодирования или декодирования использует кадровую память 1405 как рабочую область. Кроме того, механизм 1407 кодирования/декодирования, например, в момент запуска процесса каждого макроблока выводит сигнал синхронизации на блок 1406 управления памятью.
Видеобуфер 1408A ES буферирует видеопоток, сформированный механизмом 1407 кодирования/декодирования и подает видеопоток на мультиплексор (MUX) 1412. Видеобуфер 1408В ES буферирует видеопоток, поданный от демультиплексора (DMUX) 1413, и подает видеопоток на механизм 1407 кодирования/декодирования.
Аудиобуфер 1409A ES буферирует аудиопоток, сформированный аудиокодером 1410 и подает аудиопоток на мультиплексор (MUX) 1412. Аудиобуфер 1409В ES буферирует аудиопоток, поданный от демультиплексора (DMUX) 1413, и подает аудиопоток на аудиодекодер 1411.
Аудиокодер 1410 преобразует аудиосигнал, например, введенный от модуля 1321 связности (фиг. 70) или т.п., например, в цифровой сигнал и кодирует преобразованный аудиосигнал в соответствии с заданной системой, такой как аудиосистема MPEG или система АСЗ (AudioCode, версия 3). Аудиокодер 1410 последовательно записывает аудиопотоки, являющиеся данными, полученными кодированием аудиосигналов, в аудиобуфер 1409А ES. Аудиодекодер 1411 декодирует аудиопоток, подаваемый от аудиобуфера 1409В ES, выполняет преобразование декодированного аудиопотока, например, в аналоговый сигнал и т.п., и подает преобразованный сигнал, например, на модуль 1321 связности (фиг. 70) и т.п. в качестве воспроизводимого аудиосигнала.
Мультиплексор (MUX) 1412 мультиплексирует видеопоток и аудиопоток. Способ мультиплексирования (другими словами, формат битового потока, формируемого при мультиплексировании) является произвольным. Кроме того, во время мультиплексирования, мультиплексор (MUX) 1412 может добавлять к потоку двоичных сигналов заданную информацию заголовка и т.п. Другими словами, мультиплексор (MUX) 1412 может преобразовывать формат потока посредством процесса мультиплексирования. Например, мультиплексируя видеопоток и аудиопоток, мультиплексор (MUX) 1412 преобразует видеопоток и аудиопоток в транспортный поток, являющийся битовым потоком в формате для передачи. Кроме того, например, мультиплексируя видеопоток и аудиопоток, мультиплексор (MUX) 1412 преобразует видеопоток и аудиопоток в данные (данные файла), имеющие формат для выполнения записи.
Демультиплексор (DMUX) 1413 демультиплексирует битовый поток, в котором видеопоток и аудиопоток мультиплексированы, используя способ, соответствующий процессу мультиплексирования, выполняемому мультиплексором (MUX) 1412. Другими словами, демультиплексор (DMUX) 1413 извлекает видеопоток и аудиопоток из битового потока, считываемого из потокового буфера 1414 (видеопоток и аудиопоток разделены). Другими словами, демультиплексор (DMUX) 1413 может преобразовать (инверсное преобразование для преобразования, выполненного мультиплексором (MUX) 1412) формат потока посредством процесса демультиплексирования. Например, демультиплексор (DMUX) 1413 получает транспортный поток, например, подаваемый от модуля 1321 связности (фиг. 70), широкополосного модема 1333 (фиг. 70) и т.п. через потоковый буфер 1414, и демультиплексирует полученный транспортный поток, преобразуя, таким образом, транспортный поток в видеопоток и аудиопоток. Кроме того, например, демультиплексор (DMUX) 1413 получает данные файла, считываемые с различных носителей записи, например, модуля 1321 связности (фиг. 70), через потоковый буфер 1414 и демультиплексирует полученные данные файла, преобразуя, таким образом, данные файла в видеопоток и аудиопоток.
Потоковый буфер 1414 буферирует битовый поток. Например, потоковый буфер 1414 буферирует транспортный поток, подаваемый от мультиплексора (MUX) 1412, и подает транспортный поток, например, на модуль 1321 связности (фиг. 70), широкополосный модем 1333 (фиг. 70) и т.п. в заданные моменты времени или основываясь на запросе, переданном извне.
Кроме того, например, потоковый буфер 1414 буферирует данные файла, поданные от мультиплексора (MUX) 1412, подает данные файла, например, на модуль 1321 связности (фиг. 70) и т.п. в заданные моменты времени или основываясь на запросе, переданном извне.
Дополнительно, потоковый буфер 1414 буферирует транспортный поток, полученный, например, через модуль 1321 связности (фиг. 70), широкополосный модем 1333 (фиг. 70) и т.п. и подает транспортный поток на демультиплексор (DMUX) 1413 в заданные моменты времени или основываясь на запросе, переданном извне, и т.п.
Кроме того, потоковый буфер 1414 буферирует данные файла, считанные с различных носителей записи, например, через модуль 1321 связности (фиг. 70) и т.п., и подает данные файла на демультиплексор (DMUX) 1413 в заданные моменты времени или основываясь на запросе, переданном извне, и т.п.
Далее будет описан пример работы видеопроцессора 1332, имеющего такую конфигурацию. Например, видеосигнал, введенный видеопроцессор 1332 от модуля 1321 связности (фиг. 70) или т.п., преобразуется в цифровые данные изображения согласно заданной системе, такой как система 4:2:2 Y/Cb/Cr, блоком 1401 входного видеопроцессора и далее записывается в кадровую память 1405. Эти цифровые данные изображения считываются первым блоком 1402 увеличения/уменьшения изображения или вторым блоком 1403 увеличения/уменьшения изображения и для цифровых данных изображения выполняются преобразование формата в заданную систему, такую как система 4:2:0 Y/Cb/Cr или т.п. и процесс увеличения/уменьшения изображения, и обработанные цифровые данные изображения снова записываются в кадровую память 1405. Эти данные изображения кодируются механизмом 1407 кодирования/декодирования 1407 и записываются в видеобуфер 1408A ES 1408А в качестве видеопотока.
Кроме того, аудиосигнал, введенный от модуля 1321 связности (фиг. 70) и т.п., на видеопроцессор 1332 кодируется аудиокодером 1410 и записывается в аудиобуфер 1409А ES в качестве аудиопотока.
Видеопоток, хранящийся в видеобуфере 1408A ES и аудиопоток, хранящийся в аудиобуфере 1409А ES, считываются мультиплексором (MUX) 1412, мультиплексируются и преобразуются в транспортный поток, данные файла и т.п. Транспортный поток, сформированный мультиплексором (MUX) 1412, буферируется в потоковый буфер 1414 и затем выводится во внешнюю сеть, например, через модуль 1321 связности (фиг. 70), широкополосный модем 1333 (фиг. 70) или т.п. Кроме того, данные файла, формируемые мультиплексором (MUX) 1412, буферируются в потоковый буфер 1414, затем выводятся, например, на модуль 1321 связности (фиг. 70) или т.п. и записываются на любой из различных носителей записи.
Кроме того, транспортный поток, который вводится из внешней сети на видеопроцессор 1332, например, через модуль 1321 связности (фиг. 70), широкополосный модем 1333 (фиг. 70) или т.п., буферируется в потоковый буфер 1414 и затем демультиплексируется демультиплексором (DMUX) 1413. Кроме того, данные файла, считанные с любого из различных носителей записи, например, модулем 1321 связности (фиг. 70) или т.п. и введенные на видеопроцессор 1332, буферируются в потоковый буфер 1414 и затем демультиплексируются демультиплексором (DMUX) 1413. Другими словами, транспортный поток или данные файла, вводимые на видеопроцессор 1332, разделяются демультиплексором (DMUX) 1413 на видеопоток и аудиопоток.
Аудиопоток подается на аудиодекодер 1411 через аудиобуфер 1409 В ES и декодируется и аудиосигнал воспроизводится. Кроме того, видеопоток записывается в видеобуфер 1408 В ES, затем последовательно считывается механизмом 1407 кодирования/декодирования, декодируется и записывается в кадровую память 1405. Декодированные данные изображения увеличиваются или уменьшаются вторым блоком 1403 увеличения/уменьшения изображения и записываются в кадровую память 1405. Затем декодированные данные изображения считываются блоком 1404 выходного видеопроцессора, имеют формат, преобразованный в заданную систему, такую как система 4:2:2 Y/Cb/Cr, далее преобразуются в аналоговый сигнал и видеосигнал воспроизводится и выводится.
В случае, когда настоящая технология применяется к видеопроцессору 1332, выполненному таким образом, настоящая технология, соответствующая каждому варианту осуществления, описанному выше, может быть применена к механизму 1407 кодирования/декодирования. Другими словами, механизм 1407 кодирования/декодирования может быть выполнен с возможностью иметь функцию устройства 10 кодирования или устройства 110 декодирования. Кроме того, например, механизм 1407 кодирования/декодирования может быть выполнен таким, чтобы иметь функции устройства 150 кодирования и устройства 170 декодирования, устройства 190 кодирования и устройство 210 декодирования или устройства 230 кодирования и устройства 270 декодирования. Дополнительно, например, механизм 1407 кодирования/декодирования может быть выполнен с возможностью иметь функции устройства 600 кодирования мультипроекционного изображения и устройства 610 декодирования мультипроекционного изображения. Выполняя конфигурацию таким образом, видеопроцессор 1332 может получить те же самые преимущества, что и преимущества, описанные выше со ссылкой на фиг. 1-61.
Кроме того, в механизме 1407 кодирования/декодирования настоящая технология (другими словами, функции устройства кодирования изображения и устройства декодирования изображения, соответствующие каждому из вариантов осуществления, описанных выше), могут быть реализованы аппаратурными средствами, такими как логические схемы, могут быть реализованы программным обеспечением, таким как встроенная программа, или могут быть реализованы аппаратурными средствами и программным обеспечением вместе.
Другой пример конфигурации видеопроцессора
На фиг. 72 представлен другой пример схемы конфигурации видеопроцессора 1332 (фиг. 70), к которому применяется настоящая технология. В случае примера, показанного на фиг. 72, видеопроцессор 1332 имеет функцию кодирования/декодирования видеоданных в соответствии с заданной системой.
Более конкретно, как показано на фиг. 72, видеопроцессор 1332 содержит: блок управления 1511; интерфейс 1512 отображения; механизм 1513 отображения; механизм 1514 обработки изображения; и внутреннюю память 1515. Кроме того, видеопроцессор 1332 содержит: механизм 1516 кодека; интерфейс 1517 памяти; мультиплексор/демультиплексор (MUX DMUX) 1518; сетевой интерфейс 1519; и видеоинтерфейс 1520.
Блок 1511 управления управляет операциями блоков обработки, расположенных внутри видеопроцессора 1332, таких как интерфейс 1512 отображения, механизм 1513 отображения, механизм 1514 обработки изображения, и механизм 1516 кодека.
Как показано на фиг. 72, блок 1511 управления, например, содержит основной центральный процессор 1531 (CPU), субпроцессор 1532 и системный контроллер 1533. Основной CPU 1531 выполняет программу, которая используется для управления работой каждого процессорного блока, расположенного внутри видеопроцессора 1332. Основной Главный CPU 1531 формирует сигнал управления в соответствии с программой и т.п. и подает сигнал управления на каждый процессорный блок (другими словами, управляет работой каждого процессорного устройства). Субпроцессор 1532 играет вспомогательную роль при основном CPU 1531. Например, субпроцессор 1532 выполняет дочерний процесс, подпрограмму и т.п. программы, исполняемой основным процессором CPU 1531. Системный контроллер 1533 управляет операциями основного процессора CPU 1531 и субпроцессором 1532, такими как назначение программ, которые должны исполняться основным процессором CPU 1531 и субпроцессором 1532.
Интерфейс 1512 отображения выводит данные изображения, например, на модуль 1321 связности (фиг. 70) и т.п. под управлением блока 1511 управления. Например, интерфейс 1512 отображения преобразует данные изображения, являющиеся цифровыми данными, в аналоговый сигнал и выводит данные изображения на контрольное устройство и т.п. модуля 1321 связности (фиг. 70) в качестве воспроизводимого видеосигнала или данных изображения, являющихся цифровыми данными.
Механизм 1513 отображения под управлением блока 1511 управления выполняет различные процессы преобразования, такие как преобразование формата, преобразование размера и преобразование цветовой палитры для данных изображения, чтобы корректировать их под технические требования аппаратурного обеспечения контрольного устройства, отображения и т.п.
Механизм 1514 обработки изображения под управлением блока 1511 управления выполняет заданную обработку изображения, такую как процесс фильтрации, для улучшения качества изображения или т.п.для данных изображения.
Внутренняя память 1515 является памятью, расположенной внутри видеопроцессора 1332, который совместно используется механизмом 1513 отображения, механизмом 1513 обработки изображения и механизмом 1516 кодека. Внутренняя память 1515 используется, например, для чередования данных, выполняемого между механизмом 1513 отображения, механизмом 1514 обработки изображения и механизмом 1516 кодека. Например, внутренняя память 1515 хранит данные, поданные от механизма 1513 отображения, механизма 1514 обработки изображения или механизма 1516 кодека и подает данные на механизм 1513 отображения, механизм 1514 обработки изображения или механизм 1516 кодека по мере необходимости (например, в соответствии с запросом). Хотя эта внутренняя память 1515 может быть реализована любым запоминающим устройством, в целом, внутренняя память 1515 часто используется для хранения данных, обладающих малым объемом, таких как данные изображения, конфигурированные в блоках из блоков или параметров, и, соответственно, предпочтительно реализуется полупроводниковой памятью, имеющей относительно малую емкость (например, по сравнению с внешней памятью 1312) и высокое быстродействие, такой как SRAM (Static Random Access Memory, статическая оперативная память).
Механизм 1516 кодека выполняет процесс, относящийся к кодированию или декодированию данных изображения. Система кодирования/декодирования, которой соответствует 1516 механизм кодека, является произвольной и количество их может быть одной, двумя или больше. Например, механизм 1516 кодека может содержать функцию кодека множества систем кодирования/декодирования и выполнять кодирование данных изображения или декодирование кодированных данных изображения, используя одну выбранную систему из множества систем кодирования/декодирования.
В примере, показанном на фиг. 72, механизм 1516 кодека включает в себя MPEG-2 видео 1541, AVC/H.264 1542, HEVC/H.265 1543, HEVC/H.265 (маштабируемый) 1544, HEVC/H.265 (многопроцессионный) 1545, и MPEG-DASH 1551 в качестве функциональных блоков обработки относящейся к кодеку.
MPEG-2 Video 1541 является функциональным блоком, используемым для кодирования или декодирования данных изображения в соответствии с системой MPEG-2. AVC/H.264 1542 является функциональным блоком, используемым для кодирования или декодирования данных изображения в соответствии с системой AVC. Кроме того, HEVC/H.265 1543 является функциональным блоком, используемым для кодирования или декодирования данных изображения в соответствии с системой HEVC. HEVC/H.265 (масштабируемая) 1544 является функциональным блоком, используемым для масштабируемого кодирования или масштабируемого декодирования данных изображения в соответствии с системой HEVC. HEVC/H.265 (мультипроекционная) 1545 является функциональным блоком, используемым для мультипроекционного кодирования или мультипроекционного декодирования данных изображения в соответствии с системой HEVC.
MPEG-DASH 1551 является функциональным блоком, используемым для передачи/приема данных изображения в соответствии с системой MPEG-DASH (MPEG-Dynamic Adaptive Streaming over HTTP). MPEG-DASH является технологией потокового видео и передачи при использовании протокола HTTP (HyperText Transfer Protocol, протокол передачи гипертекста) и имеет тот признак, что фрагмент кодированных данных выбирается из множества фрагментов кодированных данных, имеющих взаимно различные разрешения и т.п., которые подготавливаются заранее в блоках сегментов, и передается. MPEG-DASH 1551 выполняет формирование потока, управление передачей потока и т.п., которые совместимы с техническими требованиями, и для кодирования/декодирования данных изображения использует MPEG-2 Video 1541 или HEVC/H.265 (мультипроекционная) 1545, описанные выше.
Интерфейс 1517 памяти является интерфейсом, используемым для внешней памяти 1312. Данные, подаваемые от механизма 1514 обработки изображения или от механизма 1516 кодера, подаются во внешнюю память 1312 через интерфейс 1517 памяти. Кроме того, данные, считанные из внешней памяти 1312, подаются на видеопроцессор 1332 (механизм 1514 обработки изображения или механизм 1516 кодера) через интерфейс 1517 памяти.
Мультиплексор/демультиплексор (MUX DMUX) 1518 мультиплексирует или демультиплексирует различные виды данных, относящихся к изображению, такие как битовый поток кодированных данных, данные изображения или видеосигнал. Способ мультиплексирования/демультиплексирования является произвольным. Например, во время процесса мультиплексирования, мультиплексор/демультиплексор (MUX DMUX) 1518 может не только устанавливать в него множество фрагментов данных, но также добавлять к данным заданную информацию заголовка и т.п.Кроме того, во время процесса демультиплексирования, мультиплексор/демультиплексор (MUX DMUX) 1518 может не только делить один фрагмент данных на множество частей, но и добавлять заданную информацию заголовка и т.п.к разделенным данным. Другими словами, мультиплексор/демультиплексор (MUX DMUX) 1518 может преобразовывать формат данных в процессе мультиплексирования/демультиплексирования. Например, мультиплексор/демультиплексор (MUX DMUX) 1518 может преобразовывать битовый поток в транспортный поток, имеющий формат для передачи или формат данных (данных файла), который имеет формат файла для записи, мультиплексируя битовый поток. Очевидно, что инверсное преобразование может выполняться посредством процесса демультиплексирования.
Сетевой интерфейс 1519 является выделенным интерфейсом, таким как широкополосный модем 1333 (фиг. 70) или модуль 1321 связности (фиг. 70). Видеоинтерфейс 1520 является выделенным интерфейсом, таким как модуль 1321 связности (фиг. 70) или камера 1322 (фиг. 70).
Далее будет описан пример работы такого видеопроцессора 1332. Например, когда транспортный поток принимается от внешней сети, например, через модуль 1321 связности (фиг. 70), широкополосный модем 1333 (фиг. 70) или т.п., транспортный поток подается на мультиплексор/демультиплексор (MUX DMUX) 1518 через сетевой интерфейс 1519, мультиплексируется и декодируется механизмом кодека 1516. Для данных изображения, полученных процессом декодирования, выполняемого механизмом 1516 кодека, заданная обработка изображения выполняется, например, механизмом 1514 обработки изображения и заданное преобразование выполняется механизмом 1513 отображения, а результирующие данные изображения подаются, например, на модуль 1321 связности (фиг. 70) или т.п. через интерфейс 1512 отображения и изображение отображается на мониторе. Кроме того, например, данные изображения, полученные процессом декодирования, выполняемым механизмом 1516 кодека, повторно кодируются механизмом 1516 кодека, мультиплексируются мультиплексором/демультиплексором (MUX DMUX) 1518, преобразуются в данные файла, выводятся, например, на модуль 1321 связности (фиг. 70) или т.п., через видеоинтерфейс 1520, и записываются на любом из различных носителей записи.
Кроме того, например, кодированные данные, полученные кодированием данных изображения, считанных с носителя записи, не показанного на чертеже, модулем 1321 связности (фиг. 70) или т.п., подаются на мультиплексор/демультиплексор (MUX DMUX) 1518 через видеоинтерфейс 1520, демультиплексируются и декодируются механизмом 1516 кодека. Для данных изображения, полученных в процессе декодирования, выполняемого механизмом 1516 кодека, заданная обработка изображения выполняется механизмом 1514 обработки изображения, заданное преобразование выполняется механизмом 1513 отображения и результирующие данные изображения подаются, например, на модуль 1321 связности (фиг. 70) или т.п. через интерфейс 1512 отображения и изображение отображается на мониторе. Дополнительно, например, данные изображения, полученные в процессе декодирования, выполняемого механизмом 1516 кодека, повторно кодируются механизмом 1516 кодека, мультиплексируются мультиплексором/демультиплексором (MUX DMUX) 1518, преобразуются в транспортный поток, подаются, например, на модуль 1321 связности (фиг. 70), широкополосный модем 1333 (фиг. 70) и т.п. через сетевой интерфейс 1519 и передаются на другое устройство, не показанное на чертеже.
Кроме того, переключение данных изображения или других данных между процессорными блоками, расположенными внутри видеопроцессора 1332, например, выполняется, используя внутреннюю память 1515 или внешнюю память 1312. Кроме того, модуль 1313 управления электропитанием, например, управляет электропитанием блока 1511 управления.
В случае, когда настоящая технология применяется к видеопроцессору 1332, выполненному таким образом, настоящая технология, соответствующая каждому из вариантов осуществления, описанных выше, может применяться к механизму 1516 кодека. Другими словами, например, механизм 1516 кодека может содержать функциональный блок, реализующий устройство 10 кодирования или устройство 110 декодирования. Кроме того, например, механизм 1516 кодека может быть выполнен с возможностью содержания функциональных блоков, реализующих устройство 150 кодирования и устройство 170 декодирования, устройство 190 кодирования и устройство 210 декодирования или устройство 230 кодирования и устройство 270 декодирования. Дополнительно, например, механизм 1516 кодека может быть выполнен с возможностью содержания в нем функций устройства 600 кодирования мультипроекционного изображения и устройства 610 декодирования мультипроекционного изображения. При такой конфигурации видеопроцессор 1332 может получать те же самые преимущества, что и преимущества, описанные выше со ссылкой на фиг. 1-61.
Кроме того, в механизме 1516 кодека настоящая технология (другими словами, функции устройства кодирования изображения и устройства декодирования изображения, соответствующих каждому варианту осуществления, описанному выше), может быть реализована аппаратурным обеспечением, таким как логические схемы, или может быть реализована программным обеспечением, таким как встроенная программа, или может быть реализована аппаратурным обеспечением и программным обеспечением.
Как сказано выше, хотя в качестве примеров были описаны две конфигурации видеопроцессора 1332, конфигурация видеопроцессора 1332 является произвольной и может быть конфигурациейЮ отличной от двух конфигураций, описанных выше. Кроме того, этот видеопроцессор 1332 может быть выполнен с помощью одного полупроводникового кристалла или множества полупроводниковых кристаллов. Например, видеопроцессор 1332 может быть выполнен в виде трехмерной слоистой большой интегральной схемой (LSI), в которой множество полупроводников распределены слоями. Кроме того, видеопроцессор 1332 может быть реализован множеством больших LSI.
Пример применения устройства
Видеокомбайн 1300 может встраиваться в различные устройства, обрабатывающие данные изображения. Например, видеокомбайн 1300 может встраиваться в телевизионное устройство 900 (фиг. 63), мобильный телефон 920 (фиг. 64), устройство 940 записи и воспроизведения (фиг. 65), устройство 960 отображения (фиг. 66) и т.п. Встраивая в него видеокомплект 1300, устройства могут получать преимущества, такие же, как преимущества, описанные выше со ссылкой на фиг. 1-61.
Кроме того, видеокомбайн 1300, например, может встраиваться в оконечные устройства системы 1000 передачи данных, показанной на фиг. 67, такой как персональный компьютер 1004, AV-устройство 1005, планшетное устройство 1006 и мобильный телефон 1007, широковещательная станция 1101 и оконечное устройство 1102 системы 1100 передачи данных, показанной на фиг. 68, и в устройство 1201 отображения и устройство 1202- хранения масштабируемых кодированных данных системы 1200 отображения, показанной на фиг. 69, и т.п. встраивая в них видеокомбайн 1300 там, устройства могут получить преимущества, являющиеся такими же, как преимущества, описанные выше со ссылкой на фиг. 1-61.
Дополнительно, некоторые из конфигураций видеокомбайна 1300, описанных выше, могут быть конфигурациями, к которым настоящая технология применяется в случае, когда в них содержится видеопроцессор 1332. Например, только видеопроцессор 1332 может быть выполнен как видеопроцессор, к которому применяется настоящая технология. Кроме того, как описано выше, процессор, видеомодуль 1311 и т.п., обозначенные пунктиром 1341, могут быть выполнены как процессор, модуль и т.п., к которым применяется настоящая технология. Дополнительно, например, видеомодуль 1311, внешняя память 1312, модуль 1313 управления электропитанием и входной модуль 1314 могут объединяться, чтобы быть конфигурированными в качестве видеоблока 1361, к которому применяется настоящая технология. В любой из конфигураций могут быть получены такие же преимущества, которые были описаны выше со ссылкой на фиг. 1-61.
Другими словами, любая конфигурация, которая содержит видеопроцессор 1332, подобная случаю видеокомбайна 1300, может встраиваться в различные устройства, обрабатывающие данные изображения. Например, видеопроцессор 1332, процессор и видеомодуль 1311, обозначенные пунктиром 1341, или видеоблок 1361 могут встраиваться в телевизионное устройство 900 (фиг. 63), мобильный телефон 920 (фиг. 64), устройство 940 записи и воспроизведения (фиг. 65), устройство 960 отображения (фиг. 66), оконечные устройства системы 1000 передачи данных, показанной на фиг. 67, такие как персональный компьютер 1004, AV-устройство 1005, планшетное устройство 1006 и мобильный телефон 1007, широковещательная станция 1101 и оконечное устройство 1102 системы 1100 передачи данных, показанной на фиг. 68, и устройство 1201 отображения и устройство 1202 хранения масштабируемых кодированных данных системы 1200 отображения, показанной на фиг. 69, и т.п. Встраивая любую конфигурацию, к которой применяется настоящая технология, подобно случаю видеокомбайна 1300, устройства могут получать те же самые преимущества, которые были описаны выше со ссылкой на фиг. 1-61.
В настоящем описании были описаны примеры, в которых различные виды информации мультиплексируются в кодированный поток и кодированный поток передается со стороны кодирования на сторону декодирования. Однако, технология передачи информации этим не ограничивается. Например, информация может передаваться или записываться как отдельные данные, связанные с кодированным битовым потоком, без мультиплексирования в кодированный битовый поток. Здесь, термин "связанный" представляет, что изображение (срез, блок или т.п.; это может быть часть изображения), включенное в битовый поток, и информация, соответствующая изображению, связаны друг с другом во время процесса декодирования. Другими словами, информация может передаваться по линии передачи, который отличается от линии передачи изображения (или битового потока). Дополнительно, информация может записываться на носителе записи (или в другой области хранения того же самого носителя записи), отличном от носителя записи изображения (или битового потока). Кроме того, информация и изображение (или битовый поток) могут быть связаны друг с другом в произвольном блоке, таком как множество кадров, один кадр или часть кадра.
Настоящая технология может применяться к устройствам, используемым, когда информация изображения (битовый поток), сжатая посредством ортогонального преобразования, такого как дискретное косинусное преобразование, и компенсация движения передается и принимается через сетевую среду, такую как спутниковое вещание, кабельное телевидение, Интернет или мобильный телефон, или когда сжатая информация изображения обрабатывается на носителе для хранения данных, таком как оптический диск, магнитный диск или флэш-память, как в MPEG, Н.26х и т.п.
Кроме того, настоящая технология может, например, применяться к потоку HTTP, такому как MPEG DASH, в котором из множества фрагментов кодированных данных, имеющих взаимно различные разрешения и т.п., соответствующие кодированные данные выбираются и используются в блоках сегментов.
Дополнительно, система кодирования, соответствующая настоящей технологии, может быть системой кодирования, отличной от системы HEVC.
Варианты осуществления настоящей технологии не ограничиваются вариантами осуществления, описанными выше, и различные изменения могут быть сделаны в диапазоне, не отступающем от концепции настоящей технологии.
Кроме того, настоящая технология может иметь следующие конфигурации.
(1) Устройство декодирования, содержащее:
приемный блок для приема опорной информации, представляющей, используется ли в качестве информации, определяющей опорное изображение текущего кодируемого изображения, информация, определяющая опорное изображение для опорного изображения, используемая для формирования предсказанного изображения для предшествующего изображения, являющегося изображением, предшествующим текущему кодируемому изображению в порядке кодирования, передаваемое в случае, когда текущее кодируемое изображение, являющееся изображением, отличным от первого изображения в GOP (Группа кадров);
блок установки опорного изображения для генерирования информации, определяющей опорное изображение текущего декодируемого изображения на основе опорной информации в случае, когда опорная информация принята приемным блоком, и генерирования информации, определяющей опорное изображение для текущего декодируемого изображения на основе опорной информации, представляющей, что информация, определяющая опорное изображение для предшествующего изображения, не используется в качестве информации, определяющей опорное изображение для текущего кодируемого изображения в случае, когда опорная информация не принимается приемным блоком; и
блок генерирования предсказанного изображения для генерирования предсказываемого изображения, с использованием опорного изображения, определяемого информацией, определяющей опорное изображение, сгенерированного блоком установки опорного изображения.
(2) Устройство декодирования по (1),
в котором приемный блок выполнен с возможностью приема информации, определяющей предшествующее изображение, определяющей предшествующее изображение в случае, когда опорная информация представляет, что информация, определяющая опорное изображение предшествующего изображения, используется в качестве информации, определяющей опорное изображение для текущего кодируемого изображения, и
блок установки опорного изображения выполнен с возможностью генерирования информации, определяющей опорное изображение предшествующего изображения, определяемое информацией, определяющей предшествующее изображение, принятой приемным блоком в качестве информации, определяющей опорное изображение для текущего декодируемого изображения.
(3) Устройство декодирования по (2),
в котором приемный блок выполнен с возможностью приема информации, определяющей опорное изображение текущего кодируемого изображения в случае, когда опорная информация представляет, что информация, определяющая опорное изображение предшествующего изображения, не используется в качестве информации, определяющей опорное изображение для текущего кодируемого изображения, а
блок установки опорного изображения выполнен с возможностью генерирования информации, определяющей опорное изображение, принятой приемным блоком в качестве информации, определяющей опорное изображение для текущего декодируемого изображения.
(4) Устройство декодирования по (3),
в котором приемный блок выполнен с возможностью приема множества фрагментов информации опорного изображения, содержащей опорную информацию и информацию, определяющую предшествующее изображение, или информацию, определяющую опорное изображение, и приема информации опорного изображения, определяющей информацию, определяющую информацию опорного изображения текущего кодируемого изображения среди множества фрагментов информации опорного изображения, передаваемой в случае, когда текущее кодируемое изображение является изображением, отличным от первого изображения GOP (Группы кадров), а
блок установки опорного изображения выполнен с возможностью генерирования информации, определяющей опорное изображение текущего декодируемого изображения, основываясь на опорной информации, содержащейся в информации опорного изображения, определяемой информацией, определяющей опорное изображение, принятой приемным блоком.
(5) Устройство декодирования по (4),
в котором приемный блок выполнен с возможностью приема информации опорного изображения для первого изображения, содержащей информацию, определяющую опорное изображение в качестве информации опорного изображения, и приема информации опорного изображения, определяющей информацию, определяющую опорное изображение для первого изображения, передаваемую в случае, когда текущее кодируемое изображение является первым изображением в GOP (Группа кадров), а
блок установки опорного изображения выполнен с возможностью генерирования информации, определяющей опорное изображение текущего декодируемого изображения, на основе информации, определяющей опорное изображение, содержащейся в информации опорного изображения для первого изображения, определяемой информацией, определяющей информацию опорного изображения, принятую приемным блоком.
(6) Способ декодирования, выполняемый устройством декодирования, содержащий:
этап приема, на котором принимают опорную информацию, представляющую, используется ли в качестве информации, определяющей опорное изображение текущего кодируемого изображения, информация, определяющая опорное изображение для определения опорного изображения, используемая для формирования предсказанного изображения для предшествующего изображения, являющегося изображением, предшествующим текущему кодируемому изображению в порядке кодирования, передаваемая в случае, когда текущее кодируемое изображение, является изображением, отличным от первого изображения в GOP (Группе кадров);
этап установки опорного изображения, на котором генерируют информацию, определяющую опорное изображение текущего декодируемого изображения на основе опорной информации в случае, когда опорная информация принимается в процессе этапа приема, и генерируют информацию, определяющую опорное изображение для текущего декодируемого изображения на основе опорной информации, представляющей, что информация, определяющая опорное изображение для предшествующего изображения, не используется в качестве информации, определяющей опорное изображение для текущего кодируемого изображения в случае, когда опорная информация не принимается в процессе этапа приема; и
этап генерирования предсказанного изображения, на котором генерируют предсказанное изображение, используя опорное изображение, определяемое информацией, определяющей опорное изображение, сформированной в процессе этапа установки опорного изображения.
Перечень ссылочных позиций
10 Устройство кодирования
12 Блок установки
13 Блок передачи
33 Блок вычислений
47 Блок предсказания/компенсации движения
110 Устройство декодирования
111 Приемный блок
135 Блок сумматора
144 Блок установки опорного изображения
145 Блок компенсации движения
150 Устройство кодирования
170 Устройство декодирования
190 Устройство кодирования
210 Устройство декодирования
230 Устройство кодирования
232 Блок установки
251 Блок предсказания/компенсации движения
270 Устройство декодирования
292 Блок компенсации движения
название | год | авторы | номер документа |
---|---|---|---|
УСТРОЙСТВО ДЕКОДИРОВАНИЯ И СПОСОБ ДЕКОДИРОВАНИЯ | 2013 |
|
RU2752695C2 |
УСТРОЙСТВО КОДИРОВАНИЯ И СПОСОБ КОДИРОВАНИЯ | 2013 |
|
RU2642364C2 |
УСТРОЙСТВО И СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И УСТРОЙСТВО И СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ | 2015 |
|
RU2679990C2 |
УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЯ | 2013 |
|
RU2581014C1 |
УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЯ | 2013 |
|
RU2706237C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2013 |
|
RU2737038C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2013 |
|
RU2633140C2 |
УСТРОЙСТВО КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И СПОСОБ, И УСТРОЙСТВО ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И СПОСОБ | 2014 |
|
RU2665284C2 |
УСТРОЙСТВО И СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЙ И УСТРОЙСТВО И СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЙ | 2015 |
|
RU2690439C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЯ | 2013 |
|
RU2658793C2 |
Изобретение относится к вычислительной технике. Технический результат заключается в уменьшении объема информации, связанной с информацией, определяющей опорное изображение. Устройство декодирования содержит схему, выполненную с возможностью определения, является ли текущий кадр начальным кадром в группе кадров; извлечения опорной информации, указывающей, подлежит ли использованию информация, определяющая опорный кадр для предшествующего кадра, который предшествует текущему кадру, в качестве информации, определяющей опорный кадр для текущего кадра, в соответствии с тем, является ли текущий кадр начальным кадром в группе кадров, причем информация, определяющая опорный кадр, является информацией, определяющей опорный кадр, используемый для генерирования предсказанного кадра; генерирования, в случае когда опорная информация извлечена, информации, определяющей опорный кадр для текущего кадра в соответствии с опорной информацией; и генерирования предсказываемого кадра с использованием опорного изображения, определенного сгенерированной информацией, определяющей опорный кадр. 2 н. и 4 з.п. ф-лы, 72 ил.
1. Устройство декодирования, содержащее
схему, выполненную с возможностью:
определения, является ли текущий кадр начальным кадром в группе кадров;
извлечения опорной информации, указывающей, подлежит ли использованию информация, определяющая опорный кадр для предшествующего кадра, который предшествует текущему кадру, в качестве информации, определяющей опорный кадр для текущего кадра, в соответствии с тем, является ли текущий кадр начальным кадром в группе кадров, причем информация, определяющая опорный кадр, является информацией, определяющей опорный кадр, используемый для генерирования предсказанного кадра;
генерирования, в случае когда опорная информация извлечена, информации, определяющей опорный кадр для текущего кадра в соответствии с опорной информацией, и
генерирования предсказываемого кадра с использованием опорного изображения, определенного сгенерированной информацией, определяющей опорный кадр.
2. Устройство декодирования по п. 1, в котором схема дополнительно выполнена с возможностью:
извлечения информации, определяющей предшествующее изображение, в случае, когда опорная информация представляет, что информация, определяющая опорное изображение предшествующего изображения, используется в качестве информации, определяющей опорное изображение для текущего кодируемого изображения, и
генерирования информации, определяющей опорное изображение предшествующего изображения, определяемого информацией, определяющей предшествующее изображение, принятой схемой в качестве информации, определяющей опорное изображение для текущего декодируемого изображения.
3. Устройство декодирования по п. 2, в котором схема дополнительно выполнена с возможностью:
извлечения информации, определяющей опорное изображение текущего кодируемого изображения в случае, когда опорная информация представляет, что информация, определяющая опорное изображение предшествующего изображения, не используется в качестве информации, определяющей опорное изображение для текущего кодируемого изображения, и
генерирования информации, определяющей опорное изображение, принятой схемой в качестве информации, определяющей опорное изображение для текущего декодируемого изображения.
4. Устройство декодирования по п. 3, в котором схема дополнительно выполнена с возможностью:
извлечения множества фрагментов информации опорного изображения, содержащей опорную информацию и информацию, определяющую предшествующее изображение, или информацию, определяющую опорное изображение, и приема информации опорного изображения, определяющей информацию, определяющую информацию опорного изображения текущего кодируемого изображения среди множества фрагментов информации опорного изображения, переданной в случае, когда текущее кодируемое изображение является изображением, отличным от первого изображения GOP (группы кадров), и
генерирования информации, определяющей опорное изображение текущего декодируемого изображения, основываясь на опорной информации, содержащейся в информации опорного изображения, определяемой извлеченной информацией, определяющей опорное изображение.
5. Устройство декодирования по п. 4, в котором
приемный блок выполнен с возможностью приема информации опорного изображения для первого изображения, содержащей информацию, определяющую опорное изображение в качестве информации опорного изображения, и приема информации опорного изображения, определяющей информацию, определяющую опорное изображение для первого изображения, передаваемой в случае, когда текущее кодируемое изображение является первым изображением в GOP (группе кадров), а
блок установки опорного изображения выполнен с возможностью генерирования информации, определяющей опорное изображение текущего декодируемого изображения, основываясь на информации, определяющей опорное изображение, содержащейся в информации опорного изображения для первого изображения, определяемой информацией, определяющей информацию опорного изображения, принятой приемным блоком.
6. Способ декодирования, реализуемый устройством декодирования, содержащий этапы, на которых:
определяют, является ли текущий кадр начальным кадром в группе кадров;
извлекают опорную информацию, указывающую, подлежит ли использованию информация, определяющая опорный кадр для предшествующего кадра, который предшествует текущему кадру, в качестве информации, определяющей опорный кадр для текущего кадра, в соответствии с тем, является ли текущий кадр начальным кадром в группе кадров, причем информация, определяющая опорный кадр, является информацией, определяющей опорный кадр, используемый для генерирования предсказанного кадра; при этом
генерируют, в случае когда опорная информация извлечена, информацию, определяющую опорный кадр для текущего кадра в соответствии с опорной информацией, и
генерируют предсказываемый кадр с использованием опорного изображения, определенного информацией, определяющей опорный кадр, сгенерированной на этапе генерирования.
T.K | |||
TAN et al | |||
Выбрасывающий ячеистый аппарат для рядовых сеялок | 1922 |
|
SU21A1 |
Пишущая машина для тюркско-арабского шрифта | 1922 |
|
SU24A1 |
B | |||
BROSS et al | |||
Способ восстановления хромовой кислоты, в частности для получения хромовых квасцов | 1921 |
|
SU7A1 |
Печь для сжигания твердых и жидких нечистот | 1920 |
|
SU17A1 |
R.L | |||
JOSHI et al | |||
Прибор для нагревания перетягиваемых бандажей подвижного состава | 1917 |
|
SU15A1 |
Печь-кухня, могущая работать, как самостоятельно, так и в комбинации с разного рода нагревательными приборами | 1921 |
|
SU10A1 |
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
ИЗМЕНЕНИЕ РАЗМЕРА БУФЕРА В КОДЕРЕ И ДЕКОДЕРЕ | 2005 |
|
RU2385541C2 |
Авторы
Даты
2018-02-01—Публикация
2013-06-21—Подача