Область техники, к которой относится изобретение
Настоящая технология относится к устройству кодирования и способу кодирования и, более конкретно, к устройству кодирования и способу кодирования, способным уменьшить объем информации, связанной с информацией, определяющей опорное изображение.
Уровень техники
С недавнего времени с информацией изображения обращаются как с цифровыми данными как для целей передачи, так и хранения информации с высокой эффективностью, и в этом случае устройства, соответствующие системе 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-Т 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 Bross, Woo-Jin Han, Jens-Rainer Ohm, Gary J. Sullivan, Thomas Wiegand, "High efficiency video coding (HEVC) text specification draft 7", JCTVC-H1003 ver20, 2012.2.17
Сущность изобретения
Проблемы, решаемые изобретением
Однако объем информации, связанной с информацией, определяющей опорное изображение, такой как 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 инверсного квантования выполняет инверсное квантование коэффициента, квантованного блоком 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 выбора предсказанного изображения. В случае, когда блок 46 внутрикадрового предсказания уведомляется блоком 48 выбора предсказанного изображения о выборе изображения предсказания, сформированного в оптимальном режиме внутрикадрового предсказания, блок 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 выбора предсказанного изображения. Кроме того, в случае, когда блок 47 предсказания/компенсации движения уведомлен блоком 48 выбора предсказанного изображения о выборе предсказанного изображения, сформированного в оптимальном режиме межкадрового предсказания, блок 47 предсказания/компенсации движения выводит информацию о режиме межкадрового предсказания, соответствующий вектор движения и т.п. на блок 36 кодирования без потерь и выводит информацию, определяющую опорное изображение, на блок 49 установки опорного изображения.
Блок 48 выбора предсказанного изображения определяет оптимальный режим внутрикадрового предсказания или оптимальный режим межкадрового предсказания, для которого значение функции стоимости меньше, в качестве оптимального режима предсказания, основываясь на значениях функции стоимости, полученных от блока 46 внутрикадрового предсказания и блока 47 предсказания/компенсации движения. Затем переключатель 48 предсказанного изображения подает предсказанное изображение в оптимальном режиме предсказания на блок 33 вычислений и блок 40 сумматора. Кроме того, блок 48 выбора предсказанного изображения уведомляет блок 46 внутрикадрового предсказания или блок 47 предсказания/компенсации движения о выборе предсказанного изображения в оптимальном режиме предсказания.
Блок 49 установки опорного изображения сохраняет информацию, определяющую опорное изображение, которое подается от блока 47 предсказания/компенсации движения, соответствующее GOP. В случае, когда текущее кодируемое изображение является первым изображением в GOP, блок 49 установки опорного изображения подает "0" на блок 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 установки опорного изображения подает на блок 36 кодирования без потерь индекс RPS и флаг RPS, представляющий, что RPS текущего кодируемого изображения является RPS, содержащимся в SPS. С другой стороны, в случае, когда RPS, который является таким же, как RPS текущего кодируемого изображения, не подается от блока 12 установки, блок 49 установки опорного изображения подает на блок 36 кодирования без потерь RPS текущего кодируемого изображения и флаг RPS, представляющий, что RPS текущего кодируемого изображения не является RPS, содержащимся в SPS.
Блок 50 управления скоростью определяет параметры квантования, используемые блоком 35 квантования, основываясь на кодированных данных, хранящихся в накопительном буфере 37, так что переполнение или неполное заполнение не происходит. Блок 50 управления скоростью подает определенные параметры квантования на блок 35 квантования, блок 35 кодирования без потерь и блок 38 инверсного квантования.
Пример синтаксиса SPS
На фиг 5 представлен пример синтаксиса SPS, устанавливаемого блоком 12 установки, показанным на фиг 3.
Как показано в 18-ой строке на фиг. 5, RPS каждого индекса (i) содержится в SPS.
Пример синтаксиса SPS
На фиг. 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". Таким образом, индекс RPS первой картинки 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 установки устанавливает для RPS индекс i равным "0". На этапе S22 определяется, равен ли "0" индекс i для RPS. В случае, когда на этапе S22 индекс i RPS определяют как равный "0", на этапе S23 блок 12 установки устанавливает флаг inter_ref_pic_set_prediction_flag равным "0" и процесс переходит к этапу S25.
С другой стороны, в случае, когда на этапе S22 индекс i для RPS определен как не равный "0", на этапе S24 блок 12 установки устанавливает 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 выбора предсказанного изображения определяет оптимальный режим внутрикадрового предсказания или оптимальный режим межкадрового предсказания, для которого значение функции стоимости является минимальным, в качестве оптимального режима предсказания, основываясь на значениях функции стоимости, полученных на этапе S33 от блока 46 внутрикадрового предсказания и блока 47 предсказания/компенсации движения. Затем блок 48 выбора предсказанного изображения подает предсказанное изображение в оптимальном режиме предсказания на блок 33 вычислений и блок 40 сумматора.
На этапе S35 блок 48 выбора предсказанного изображения определяет, является ли оптимальный режим предсказания оптимальным режимом межкадрового предсказания. В случае, когда на этапе S35 определено, что оптимальным режимом предсказания является режим межкадрового предсказания, блок 48 выбора предсказанного изображения сообщает блоку 47 предсказания/компенсации движения о выборе предсказанного изображения, сформированного в оптимальном режиме межкадрового предсказания.
Затем на этапе S36 блок 47 предсказания/компенсации движения подает информацию о режиме межкадрового предсказания и соответствующий вектор движения на блок 36 кодирования без потерь. Блок 47 предсказания/компенсации движения подает на блок 49 установки опорного изображения информацию, описывающую опорное изображение.
На этапе S37 блок 49 установки опорного изображения выполняет процесс определения индекса RPS для определения индекса RPS. Этот процесс определения индекса RPS будет описан подробно позже со ссылкой на фиг. 14, который будет описан позже.
С другой стороны, на этапе S35 в случае, когда определено, что режим оптимального предсказания не является оптимальным режимом межкадрового предсказания, другими словами, в случае, когда оптимальный режим предсказания является режимом внутрикадрового предсказания, блок 48 выбора предсказанного изображения уведомляет блок 46 внутрикадрового предсказания о выборе предсказанного изображения, предсказанного в оптимальном режиме внутрикадрового предсказания. Затем, на этапе Step 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.
[0121]
На этапе S45 деблокирующий фильтр 41 выполняет процесс деблокирующей фильтрации для локально декодированного изображения, которое подается от блока 40 сумматора. Деблокирующий фильтр 41 подает изображение, полученное в результате этого, на фильтр 42 адаптивного смещения.
На этапе S46 фильтр 42 адаптивного смещения выполняет процесс фильтрации адаптивного смещения для изображения, поданного от деблокирующего фильтра 41, для каждого LCU. Фильтр 42 адаптивного смещения подает полученное в результате этого изображение на адаптивный контурный фильтр 43. Кроме того, фильтр 42 адаптивного смещения для каждого LCU подает флаг хранения, индекс или смещение и тип информации на блок 36 кодирования без потерь в качестве информации фильтра смещения.
На этапе S47 адаптивный контурный фильтр 43 выполняет для каждого LCU процесс адаптивной контурной фильтрации для изображения, поданного от фильтра 42 адаптивного смещения. Адаптивный контурный фильтр 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 квантования, блок 35 кодирования без потерь и блок 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. Накопительный буфер 131 блока 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 инверсного ортогонального преобразования, на деблокирующий фильтр в качестве изображения, полученного в результате декодирования, и подает изображение на кадровую память 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 перегруппировки экрана 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 декодирования без потерь. Блок 144 установки опорного изображения подает сформированную информацию, определяющую опорное изображение, на блок 145 компенсации движения и сохраняет информацию, определяющую опорное изображение.
Блок 145 компенсации движения считывает опорное изображение, указанное информацией, определяющей опорное изображения, из кадровой памяти 141 через переключатель 142, основываясь на информации, определяющей опорное изображение, которая подается от блока 144 установки опорного изображения. Блок 145 компенсации движения служит в качестве блока формирования предсказанного изображения и выполняет процесс компенсации движения в оптимальном, режиме межкадрового предсказания, который представляется информацией о режиме межкадрового предсказания, используя вектор движения и опорное изображение. Блок 145 компенсации движения подает предсказанное изображение, сформированное в результате этого, на переключатель 146.
В случае, когда информация о режиме внутрикадрового предсказания подается от блока 132 декодирования без потерь, переключатель 146 подает предсказанное изображение, поданное от блока 143 внутрикадрового предсказания, на блок 135 сумматора. С другой стороны, в случае, когда информация о режиме межкадрового предсказания подается от блока 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 извлечения устанавливает индекс i RPS, который соответствует сформированной информации о RPS, равным "0". На этапе S122 определяется, равн ли "0" индекс i для RPS.
В случае, когда на этапе 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 декодирования без потерь 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 перегруппировки экрана, и выводит преобразованное изображение в виде выходного сигнала. Затем процесс возвращается к этапу 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 кодирования. Кроме того, блок 151 установки по мере необходимости содержит опорную недоступную информацию, представляющую, является ли флаг inter_ref_pic_set_prediction_flag равным "0" в RPS и всех картинках в GOP, и устанавливает delta_idx_minus1 для SPS, который является общим для всех картинок в GOP. Блок 151 установки устанавливает PPS и т.п.
Кроме того, блок 151 установки, подобный блоку 12 установки, показанному на фиг. 3, формирует кодированный поток, основываясь на SPS и PPS, которые были установлены, и кодированных данных, подаваемых от блока 11 кодирования. Блок 151 установки, подобный блоку 12 установки, подает кодированный поток на блок 13 передачи.
Пример синтаксиса SPS
На фиг. 21 представлен пример синтаксиса SPS, который устанавливается блоком 151 блоком 151 установки, показанным на фиг. 20.
Как показано в четвертой строке на фиг. 21, опорная недоступная информация (disable_rps_prediction_flag) содержится в SPS. Кроме того, как показано в пятой и шестой строках, в случае, когда опорная недоступная информация равна "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, unified_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 установки 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 установки определяет, раен ли флаг inter_ref_pic_set_prediction_flag "1". В случае, когда на этапе 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 определяется, что флаг_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 извлечения 171 получает флаг disable_rps_prediction_flag, который вводится в SPS. На этапе S193 блок 171 извлечения определяет, равен ли "1" полученный флаг disable_rps_prediction_flag.
В случае, когда на этапе S193 определяется, что флаг disable_rps_prediction_flag не равен "1", на этапе S194 блок 171 извлечения получает флаг unified_rps_prediction_control_present_flag, который содержится в SPS. На этапе S195 блок 171 извлечения определяет, равен ли "1" полученный флаг unified_rps_prediction_control_present_flag
В случае, когда на этапе 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 извлечения определяет, является ли флаг inter_ref_pic_set_prediction_flag равным "1". В случае, когда на этапе 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 установки 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 определяет, является ли флаг disable_rps_prediction_flag равным "1" или индекс i равным "0". В случае, когда на этапе 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 декодирования, показанного на фиг. 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 декодирования 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 кодирования кодирует входной сигнал в соответствии с системой 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 выбора предсказанного изображения. Кроме того, в случае, когда блок 251 предсказания/компенсации движения уведомляется блоком 48 выбора предсказанного изображения о выборе предсказанного изображения, сформированного в оптимальном режиме межкадрового предсказания, блок 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 кодирования без потерь суммирует кодируемую информацию, которая была кодирована способом без потерь, с коэффициентом, который был кодирован способом без потерь, в качестве заголовка среза, формируя, таким образом кодированные данные. Блок 32 кодирования без потерь подает кодированные данные на накопительный буфер 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-ой строках, в случае, когда флаг неприсутствия В равен "1", другими словами, в случае, когда срез В содержится внутри картинки, в PPS число RPSL1 num_ref_idx_11_default_active_minus1, равное максимальному количеству RPS при обратном предсказании (предсказание L1), использующем опорное изображение, для которого время отображения наступает позже, чем соответствующая картинка, вводится в качестве информации, относящейся к опорному изображению.
Как показано на 25-ой и 26-ой строках, в случае, когда флаг I не равен "1", в PPS флаг предсказания Ρ weighted_pred_flag, представляющий, выполняется ли весовое предсказание для среза Р, вводится в качестве информации, относящейся к опорному изображению. Кроме того, в случае, когда флаг неприсутствия В не равен "1", в PPS флаг предсказания В weighted_pred_flag, представляющий, выполняется ли весовое предсказание для среза В, вводится в качестве информации, относящейся к опорному изображению.
Как сказано выше, в PPS, показанном на фиг. 38 и 39, в случае, когда соответствующая картинка образуется только одним срезом I, число RPSL0, число RPSL1, флаг предсказания Ρ и флаг предсказания В не устанавливаются. Кроме того, в случае, когда соответствующая картинка содержит срез, отличный от среза I, число RPSL1 и флаг предсказания В не устанавливаются. Соответственно, эффективность кодирования может быть повышена по сравнению со случаем, когда число RPSL0, число RPSL1, флаг предсказания Ρ и флаг предсказания В устанавливаются для всех картинок, независимо от типов срезов внутри картинок.
Кроме того, в устройстве декодирования, в случае, когда картинка образуется только срезом I, число RPSL0 и число RPSL1 распознаются как "0", и в случае, когда картинка содержит срез, отличный от среза I, число RPSL1 распознается как "0".
Напротив, в PPS традиционной системы HEVC, показанной на фиг. 40 и 41, как показано на шестой, седьмой, 17-ой и 18-ой строках на фиг. 40, число RPSL0, число RPSL1, флаг предсказания Ρ и флаг предсказания В устанавливаются независимо от типа среза внутри картинки.
Кроме того, в случае, когда картинка образуется только срезом В, флаг предсказания Ρ может не устанавливаться.
Пример синтаксиса заголовка среза
На фиг. 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-S33, показанных на фиг. 12, и поэтому его описание приводиться не будет.
На этапе S303 блок 251 предсказания/компенсации движения определяет, выполнять ли взвешенное предсказание, основываясь на флаге предсказания Ρ или флаге предсказания В, содержащемся в PPS, который подается от блока 232 установки, показанного на фиг. 36.
Более конкретно, в случае, когда текущее кодируемое изображение является срезом Р, если флаг предсказания Ρ равен "1", блок 251 предсказания/компенсации движения решает выполнить взвешенное предсказание. Кроме того, в случае, когда текущее кодируемое изображение является срезом В, если флаг предсказания В равен "1", блок 251 предсказания/компенсации движения решает выполнить взвешенное предсказание. Дополнительно, в случае, когда текущее кодируемое изображение является срезом I, процесс на этап S303 пропускается и процесс переходит к этапу S304.
В случае, когда на этапе S303 определяется, что должно выполняться взвешенное предсказание, на этапе S304 блок 46 внутрикадрового предсказания выполняет процесс внутрикадрового предсказания во всех возможных режимах внутрикадрового предсказания. Кроме того, блок 46 внутрикадрового предсказания вычисляет значения функции стоимости для всех возможных режимов внутрикадрового предсказания, основываясь на изображении, считанном из буфера 32 перегруппировки кадров, и на предсказанном изображении, сформированном в результате процесса внутрикадрового предсказания. Затем блок 46 внутрикадрового предсказания определяет режим внутрикадрового предсказания, в котором значение функции стоимости является минимальным, в качестве оптимального режима внутрикадрового предсказания. Блок 46 внутрикадрового предсказания подает предсказанное изображение, сформированное в оптимальном режиме внутрикадрового предсказания, и соответствующее значение функции стоимости на блок 48 выбора предсказанного изображения.
Кроме того, блок 251 предсказания/компенсации движения выполняет процесс предсказания/компенсации движения, используя взвешенные предсказания во всех возможных режимах межкадрового предсказания. Кроме того, блок 251 предсказания/компенсации движения вычисляет значения функции стоимости для всех возможных режимов межкадрового предсказания, основываясь на изображении, поданном от буфера 32 перегруппировки экрана, и предсказанных изображениях, и определяет режим межкадрового предсказания, для которого значение функции стоимости является минимальным, в качестве оптимального режима межкадрового предсказания. Блок 251 предсказания/компенсации движения подает значение функции стоимости оптимального режима межкадрового предсказания и соответствующее предсказанное изображение на блок 48 выбора предсказанного изображения.
Однако, в случае, когда текущее кодируемое изображение является срезом I, процесс предсказания/компенсации движения не выполняется. После процесса на этапе 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 кодирования без потерь определяет, равен ли "0" флаг унификации, содержащийся в PPS, поданном от блока 232 установки, показанного на фиг. 36, или равны ли "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 установки определяет, являются ли типы всех срезов внутри картинки срезами I. В случае, когда на этапе S333 определено, что типы всех срезов внутри картинки являются срезами I, на этапе S334 блок 232 установки устанавливает флаг I равным "1", вводит установленный флаг I в PPS и процесс переходит к этапу S337.
С другой стороны, в случае, когда на этапе S333 определено, что типы всех срезов внутри картинки не являются срезами I, на этапе S335 блок 232 установки устанавливает флаг I равным "0", вводит установленный флаг I в PPS и процесс переходит к этапу S337.
С другой стороны, в случае, когда на этапе S331 определено, что типы всех срезов внутри картинки не являются одинаковыми, на этапе S336 блок 232 установки устанавливает флаг I равным "0", вводит установленный флаг I в PPS и процесс переходит к этапу S337.
На этапе S337 блок 232 установки определяет, равен ли флаг I "1". В случае, когда на этапе 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 декодирования без потерь, подобный блоку 132 декодирования без потерь, подает информацию о режиме внутрикадрового предсказания или информацию о режиме межкадрового предсказания в качестве кодируемой информации на переключатель 146. Блок 291 декодирования без потерь, подобный блоку 132 декодирования без потерь, подает информацию фильтра смещения в качестве кодируемой информации на фильтр 137 адаптивного смещения и подает коэффициент фильтра на адаптивный контурный фильтр 138.
Блок 292 компенсации движения, подобный блоку 145 компенсации движения, показанному на фиг. 16, считывает опорное изображение, определяемое информацией, определяющей опорное изображение, из кадровой памяти 141 через переключатель 142, основываясь на информации, определяющей опорное изображение, поданной от блока 144 установки опорного изображения.
Кроме того, блок 292 компенсации движения, подобный блоку 251 предсказания/компенсации движения, показанному на фиг. 37, определяет, выполнить ли взвешенное предсказание, основываясь на флаге предсказания Ρ или на флаге предсказания В, которые вводятся в PPS, подаваемый от блока 112 извлечения.
Блок 292 компенсации движения служит в качестве блока формирования и в случае, когда решено выполнить взвешенное предсказание, выполняет процесс компенсации движения, используя взвешенное предсказание в оптимальном режиме межкадрового предсказания, представленном информацией о режиме межкадрового предсказания, используя вектор движения и опорное изображения. В этом случае блок 292 компенсации движения, при необходимости, в случае, когда срезом текущего кодируемого изображения является срез Р, обращается к числу 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 компенсации движения, подобный блоку 251 предсказания/компенсации движения, показанному на фиг. 37, определяет, выполнять ли взвешенное предсказание, основываясь на флаге предсказания Ρ или на флаге предсказания В, содержащемся в PPS, который подается от блока 112 извлечения, показанного на фиг. 52.
В случае, когда на этапе S366 определено, что взвешенное предсказание должно выполняться, на этапе S367 блок 292 компенсации движения считывает опорное изображение, основываясь на информации, определяющей опорное изображение, поданной от блока 144 установки опорного изображения, и выполняет процесс компенсации движения, используя взвешенное предсказание в оптимальном режиме межкадрового предсказания, представленном информацией о режиме межкадрового предсказания, используя вектор движения и опорное изображение.
В этом случае, блок 292 компенсации движения, по мере необходимости, в случае, когда срез текущего кодируемого изображения является срезом Р, обращается к числу RPSL0, в случае, когда срез текущего кодируемого изображения является срезом В, обращается к числу RPSL0 и к числу RPSL1. Блок 292 компенсации движения подает предсказанное сформированное в результате этого изображение на блок 135 сумматора через переключатель 146 и процесс переходит к этапу S370.
С другой стороны, в случае, когда на этапе S366 определено, что взвешенное предсказание не должно выполняться, на этапе S368 блок 292 компенсации движения считывает опорное изображение, основываясь на информации, определяющей опорное изображение, поданной от блока 144 установки опорного изображения, и выполняет процес компенсации движения в оптимальном режиме межкадрового предсказания, представленном информацией о режиме межкадрового предсказания, используя вектор движения и опорное изображение. Блок 292 компенсации движения подает предсказанное сформированное в результате этого изображение на блок 135 сумматора через переключатель 146 и процесс переходит к этапу S370.
Процесс на этапах S369-S377 подобен процессу на этапах S137-S145, показанному на фиг. 19, и поэтому его описание не приводится.
Как сказано выше, устанавливая информацию, относящую к опорному изображению в соответствии с типами срезов внутри картинки, устройство 270 декодирования может декодировать кодированный поток с повышенной эффективностью кодирования.
Кроме того, в четвертом варианте осуществления, хотя информация, относящаяся к опорному изображению, была описана как число RPSL0, число RPSL1, флаг предсказания Ρ и флаг предсказания В, настоящая технология этим не ограничивается.
Применение для мультипроекционного кодирования/мультипроекционного декодирования изображения
Ряд процессов, описанных выше, могут применяться к мультипроекционному кодированию и мультипроекционному декодированию изображения. На фиг. 36 показан пример системы кодирования мультипроекционного изображения.
Как показано на фиг. 56, мультипроекционное изображение содержит изображения множества проекций и изображение одной заданной проекции из множества проекций назначается в качестве изображения основной проекции. Изображение каждой проекции, отличное от изображения базовой проекции, обрабатывается как изображение неосновной проекции.
В случае, когда выполняется мультипроекционное кодирование изображения, как показано на фиг. 56, для каждой проекции (одной и том же проекции) может быть получена разность между параметрами квантования.
(1) основная проекция:
(1-1) dQP (основная проекция) = Current_CU_QP (основная проекция) - LCU_QР (основная проекция)
(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 (неосновная проекция) - PrevisousQP (неосновная проекция)
(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 кодирования и к блоку 602 кодирования устройства 600 кодирования мультипроекционного изображения. В таком случае, устройство 600 кодирования мультипроекционного изображения устанавливает разность между параметром квантования, установленным блоком 601 кодирования, и параметром квантования, установленным блоком 602 кодирования, и передает установленную разность.
Устройство декодирования мультипроекционного изображения
На фиг. 58 показано устройство декодирования мультипроекционного изображения, выполняющее описанное выше мультипроекционное декодирование. Как показано на фиг. 58, устройство 610 декодирования мультипроекционного изображения содержит демультиплексир 611, блок 612 декодирования и блок 613 декодирования.
Демультиплексор 611 демультиплексирует кодированный поток мультипроекционного изображения, полученный посредством мультиплексирования кодированного потока изображения основной проекции и кодированного потока изображения неосновной проекции, извлекая, таким образом, кодированный поток изображения основной проекции и кодированный поток изображения неосновной проекции. Блок 612 декодирования декодирует кодированный поток изображения основной проекции, извлеченный демультиплексором 611, получая, таким образом изображение основной проекции. Блок 613 декодирования декодирует кодированный поток изображения неосновной проекции, извлеченный демультиплексором 611, получая, таким образом, изображение неосновной проекции.
Устройство 110 (170 и 210) декодирования может применяться к блоку 612 декодирования и к блоку 613 декодирования этого устройства 610 декодирования мультипроекционного изображения. В таком случае, устройство 610 декодирования мультипроекционного изображения устанавливает параметр квантования, основываясь на разности между параметром квантования, установленным блоком 601 кодирования, и параметром квантования, установленным блоком 602 кодирования, и выполняет инверсное квантование.
Применения для кодирования иерархического изображения и декодирования иерархического изображения
Ряд процессов, описанных выше, могут применяться к кодированию иерархического изображения и декодированию мультипроекционного изображения. На фиг. 36 показан пример системы кодирования иерархического изображения.
Как показано на фиг. 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_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_CU_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".
Устройство кодирования иерархического изображения
На фиг. 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.
Другие примеры
Хотя выше были описаны примеры устройств, систем и т.п., к которым применяется настоящая технология, настоящая технология этим не ограничивается. Таким образом, настоящая технология может применяться как ко всем конфигурациям, установленным на таком устройстве или устройствах, образующих такую систему, например, на процессоре, как системе 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 выполняет процесс фильтрации и т.п. для радиочастотного сигнала, принятого через антенну, и подает радиочастотный сигнал после процесса фильтрации на радиочастотный модуль 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 связности может быть выполнен с возможностью введения привода (не только привода съемного носителя, но также и жесткого диска, SSD (Solid State Drive), а NAS (Network Attached Storage), и т.п.), выполняющего считывание данных или запись данных на носителе для записи, таком как магнитный диск, оптический диск, магнитно-оптический диск или полупроводниковая память. Дополнительно, модуль 1321 связности может быть выполнен с возможностью введения в него устройства вывода (монитора, громкоговорителя или т.п.) для изображения или аудиосигналов.
Камера 1322 является модулем, обладающим функцией получения данных изображения объекта посредством получения изображения объекта. Данные изображения, полученные посредством процесса получения изображения, выполняемого камерой 1322, например, подаются на видеопроцессор 1322 и кодируются.
Датчик 1323 является модулем, имеющим функцию произвольного датчика, такого как аудиодатчик, ультразвуковой датчик, оптический датчик, датчик освещенности, инфракрасный датчик, датчик изображения, датчик вращения, датчик угла, датчик угловой скорости, датчик скорости, датчик ускорения, датчик наклона, магнитный датчик идентификации, датчик удара или датчик температуры. Данные, которые обнаруживаются датчиком 1323, подаются, например, на прикладной процессор 1331 и используются прикладной программой и т.п.
В представленном выше описании, каждая конфигурация, описанная как модуль, может быть реализована процессором и каждая конфигурация, описанная как процессор, может быть реализована модулем.
Как будет описан позже, настоящая технология может быть применена к видеопроцессору 1332 видеокомплекта 1300, имеющего описанную выше конфигурацию. Соответственно, видеокомплект 1300 может быть выполнен в виде комплекта, к которому применима настоящая технология.
Пример конфигурации видеопроцессора
На фиг. 71 схематично представлена конфигурация видеопроцессора 1332 (фиг. 70), к которому применяется настоящая технология.
В примере, показанном на фиг. 71, видеопроцессор 1332 имеет функцию приема входного видеосигнала и аудиосигнала и кодирования принятых сигналов в соответствии с заданной системой и функцию декодирования кодированных видеоданных и кодированных аудиоданных и воспроизведения и вывода видеосигнала и звукового сигнала.
Пример конфигурации видеопроцессора
На фиг. 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 управления памятью.
Видеобуфер 1408А ES буферирует видеопоток, сформированный механизмом 1407 кодирования/декодирования и подает видеопоток на мультиплексор (MUX) 1412. Видеобуфер 1408В ES буферирует видеопоток, поданный от демультиплексора (DMUX) 1413, и подает видеопоток на механизм 1407 кодирования/декодирования.
Аудиобуфер 1409A ES буферирует аудиопоток, сформированный аудиокодером 1410 и подает аудиопоток на мультиплексор (MUX) 1412. Аудиобуфер 1409В ES буферирует аудиопоток, поданный от демультиплексора (DMUX) 1413, и подает аудиопоток на аудиодекодер 1411.
Аудиокодер 1410 преобразует аудиосигнал, например, введенный от модуля 1321 связности (фиг. 70) или т.п., например, в цифровой сигнал и кодирует преобразованный аудиосигнал в соответствии с заданной системой, такой как аудиосистема MPEG или система АС3 (AudioCode, версия 3). Аудиокодер 1410 последовательно записывает аудиопотоки, являющиеся данными, полученными кодированием аудиосигналов, в аудиобуфер 1409A 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 Video 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.
В настоящем описании были описаны примеры, в которых различные виды информации мультиплексируются в кодированный поток и кодированный поток передается со стороны кодирования на сторону декодирования. Однако, технология передачи информации этим не ограничивается. Например, информация может передаваться или записываться как отдельные данные, связанные с кодированным битовым потоком, без мультиплексирования в кодированный битовый поток. Здесь, термин "связанные" представляет, что изображение (срез, блок или т.п.; это может быть часть изображения), включенное в битовый поток, и информация, соответствующая изображению, связаны друг с другом во время процесса декодирования. Другими словами, информация может передаваться по линии передачи, который отличается от линии передачи изображения (или битового потока). Дополнительно, информация может записываться на носителе записи (или в другой области хранения того же самого носителя записи), отличном от носителя записи изображения (или битового потока). Кроме того, информация и изображение (или битовый поток) могут быть связаны друг с другом в произвольном блоке, таком как множество кадров, один кадр или часть кадра.
Настоящая технология может применяться к устройствам, используемым, когда информация изображения (битовый поток), сжатая посредством ортогонального преобразования, такого как дискретное косинусное преобразование и компенсация движения, передается и принимается через сетевую среду, такую как спутниковое вещание, кабельное телевидение, Интернет или мобильный телефон, или когда сжатая информация изображения обрабатывается на носителе для хранения данных, таком как оптический диск, магнитный диск или флэш-память, как в MPEG, Н.26х и т.п.
Кроме того, настоящая технология может, например, применяться к потоку HTTP, такому как MPEG DASH, в котором из множества фрагментов кодированных данных, имеющих взаимно различные разрешения и т.п., соответствующие кодированные данные выбираются и используются в блоках сегментов.
Дополнительно, система кодирования, соответствующая настоящей технологии, может быть системой кодирования, отличной от системы HEVC.
Варианты осуществления настоящей технологии не ограничиваются вариантами осуществления, описанными выше, и различные изменения могут быть сделаны в диапазоне, не отступающем от концепции настоящей технологии.
Кроме того, настоящая технология может иметь следующие конфигурации:
(1)
блок формирования предсказанного изображения, выполненный с возможностью формирования предсказанного изображения, используя опорное изображение; и
блок передачи, выполненный с возможностью передачи опорной информации, представляющей, используется ли в качестве информации, определяющей опорное изображение текущего кодируемого изображения в случае, когда текущее кодируемое изображение является изображением, отличным от первого изображения в GOP (Group of Picture), информация, определяющая опорное изображение, определяющая опорное изображение предшествующего изображения, которое является изображением, предшествующим текущему кодируемому изображению в порядке кодирования.
(2)
Устройство кодирования по п. (1), в котором блок передачи передает информацию, определяющую предшествующее изображение, которая определяет предшествующее изображение, в случае, когда опорная информация представляет, что информация, определяющая опорное изображение для предшествующего изображения, используется в качестве информации, определяющей опорное изображение для текущего кодируемого изображения.
(3)
Устройство кодирования по п. (2), в котором блок передачи передает информацию, определяющую опорное изображение для текущего кодируемого изображения, в случае, когда опорная информация представляет, что информация, определяющая опорное изображение для предшествующего изображения, не используется в качестве информации, определяющей опорное изображение для текущего кодируемого изображения.
(4)
Устройство кодирования по п. (3), дополнительно содержащее блок установки информации опорного изображения, выполненный с возможностью установки множества фрагментов информации опорного изображения, которое содержит опорную информацию и информацию, определяющую предшествующее изображение, или информацию, определяющую опорное изображение,
в котором блок передачи передает множество фрагментов информации опорного изображения, установленных блоком установки информации опорного изображения, и в случае, когда текущее кодируемое изображение является изображением, отличным от первого изображения в GOP (Group of Picture, группа картинки), передает информацию опорного изображения, определяющую информацию, которая определяет информацию опорного изображения текущего кодируемого изображения из числа множества фрагментов информации опорного изображения.
(5)
Устройство кодирования по п. (4),
в котором блок установки информации опорного изображения устанавливает первую информацию опорного изображения, содержащую информацию, определяющую опорное изображение, в качестве информации опорного изображения, и
блок передачи, в случае, когда текущее кодируемое изображение является первым изображением в GOP (Group of Picture), передает информацию опорного изображения, определяющую информацию, которая определяет первую информацию опорного изображения.
(6)
Способ кодирования, причем способ кодирования, выполняющий посредством устройства кодирования такие этапы, как:
этап формирования предсказанного изображения, на котором формируют предсказанное изображение, используя опорное изображение; и
этап передачи, на котором передают опорную информацию, представляющую, используется ли в качестве информации, определяющей опорное изображение текущего кодируемого изображения в случае, когда текущее кодируемое изображение является изображением, отличным от первого изображения в GOP (Group of Picture), информация, определяющая опорное изображение, определяющая опорное изображение предшествующего изображения, которое является изображением, предшествующим текущему кодируемому изображению в порядке кодирования.
Перечень ссылочных позиций
10 Устройство кодирования
12 Блок установки
13 Блок передачи
33 Блок вычислений
47 Блок предсказания/компенсации движения
110 Устройство декодирования
111 Приемный блок
135 Блок сумматора
144 Блок установки опорного изображения
145 Блок компенсации движения
150 Устройство кодирования
170 Устройство декодирования
190 Устройство кодирования
210 Устройство декодирования
230 Устройство кодирования
232 Блок установки
251 Блок предсказания/компенсации движения
270 Устройство декодирования
292 Блок компенсации движения
название | год | авторы | номер документа |
---|---|---|---|
УСТРОЙСТВО ДЕКОДИРОВАНИЯ И СПОСОБ ДЕКОДИРОВАНИЯ | 2013 |
|
RU2752695C2 |
УСТРОЙСТВО ДЕКОДИРОВАНИЯ И СПОСОБ ДЕКОДИРОВАНИЯ | 2013 |
|
RU2643490C2 |
УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЯ | 2013 |
|
RU2581014C1 |
УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЯ | 2013 |
|
RU2706237C2 |
УСТРОЙСТВО И СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И УСТРОЙСТВО И СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ | 2015 |
|
RU2679990C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЯ | 2013 |
|
RU2658793C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЯ | 2013 |
|
RU2680741C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2013 |
|
RU2737038C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2013 |
|
RU2633140C2 |
УСТРОЙСТВО И СПОСОБ ОБРАБОТКИ ИЗОБРАЖЕНИЙ | 2013 |
|
RU2630385C2 |
Изобретение относится к вычислительной технике. Технический результат заключается в уменьшении объема информации, связанной с информацией, определяющей опорное изображение. Устройство кодирования содержит схему, выполненную с возможностью: определения, является или нет текущая картинка начальной картинкой в группе картинок; если текущая картинка не является начальной картинкой в группе картинок, установки опорной информации, указывающей, предназначена ли информация определения опорной картинки, для предшествующей картинки, которая предшествует текущей картинке, для использования в качестве информации определения опорной картинки для текущей картинки, при этом информация определения опорной картинки является информацией, определяющей опорную картинку, используемую для формирования предшествующей картинки; и кодирования опорной информации. 4 н. и 12 з.п. ф-лы, 72 ил.
1. Устройство кодирования, содержащее:
схему, выполненную с возможностью:
определения, является или нет текущая картинка начальной картинкой в группе картинок;
если текущая картинка не является начальной картинкой в группе картинок, установки опорной информации, указывающей, предназначена ли информация определения опорной картинки для предшествующей картинки, которая предшествует текущей картинке, для использования в качестве информации определения опорной картинки для текущей картинки, при этом информация определения опорной картинки является информацией, определяющей опорную картинку, используемую для формирования предшествующей картинки; и
кодирования опорной информации.
2. Устройство кодирования по п. 1, в котором схема выполнена с возможностью кодирования информации определения предшествующей картинки, которая определяет предшествующую картинку, на основании опорной информации, указывающей, что информация определения опорной картинки для предшествующей картинки используется в качестве информации определения опорной картинки для текущей картинки.
3. Устройство кодирования по п. 2, в котором схема дополнительно выполнена с возможностью:
если текущая картинка является начальной картинкой в группе картинок, установки опорной информации, указывающей, что информация определения опорной картинки для предшествующей картинки, которая предшествует текущей картинке, не предназначена для использования в качестве информации определения опорной картинки для текущей картинки; и
кодирования информации определения опорной картинки для текущей картинки на основании опорной информации, указывающей, что информация определения опорной картинки для предшествующей картинки не используется в качестве информации определения опорной картинки для текущей картинки.
4. Устройство кодирования по п. 3, в котором схема дополнительно выполнена с возможностью:
установки множества фрагментов информации опорного изображения, которое содержит опорную информацию и информацию определения предшествующей картинки или информацию определения опорной картинки, и
кодирования множества фрагментов информации опорного изображения, и в случае, когда текущая картинка является картинкой, отличной от начальной картинки в группе картинок, кодирования информации опорного изображения, определяющей информацию, которая определяет информацию опорного изображения текущей картинки из числа множества фрагментов информации опорного изображения.
5. Устройство кодирования по п. 3,
в котором схема дополнительно выполнена с возможностью установки первой информации опорного изображения, содержащей информацию определения опорной картинки, в качестве информации опорного изображения, и
в случае, когда текущая картинка является начальной картинкой в группе картинок, кодирования информации опорного изображения, определяющей информацию, которая определяет первую информацию опорного изображения.
6. Устройство кодирования по п. 3, в котором схема дополнительно выполнена с возможностью предотвращения кодирования опорной информации на основании текущей картинки, являющейся начальной группой картинок.
7. Устройство кодирования по п. 3, в котором схема дополнительно выполнена с возможностью предотвращения кодирования опорной информации на основании опорной информации, указывающей, что информация определения опорной картинки для предшествующей картинки не используется в качестве информации определения опорной картинки для текущей картинки.
8. Способ кодирования, причем способ кодирования, содержит:
определение с помощью схемы, является или нет текущая картинка начальной картинкой в группе картинок;
если текущая картинка не является начальной картинкой в группе картинок, установку, с помощью схемы, опорной информации, указывающей, что информация определения опорной картинки для предшествующей картинки, которая предшествует текущей картинке, предназначена для использования в качестве информации определения опорной картинки для текущей картинки, при этом информация определения опорной картинки является информацией, определяющей опорную картинку, используемую для формирования предшествующей картинки; и
кодирование, с помощью схемы, опорной информации.
9. Способ кодирования по п. 8, дополнительно содержащий кодирование, посредством схемы, информации определения предшествующей картинки, которая определяет предшествующую картинку, на основании опорной информации, указывающей, что информация определения опорной картинки для предшествующей картинки используется в качестве информации определения опорной картинки для текущей картинки.
10. Способ кодирования по п. 8, дополнительно содержащий:
если текущая картинка является начальной картинкой в группе картинок, установку опорной информации, указывающей, что информация определения опорной картинки для предшествующей картинки, которая предшествует текущей картинке, не предназначена для использования в качестве информации определения опорной картинки для текущей картинки; и
кодирование, посредством схемы, информации определения опорной картинки для текущей картинки на основании опорной информации, указывающей, что информация определения опорной картинки для предшествующей картинки не используется в качестве информации определения опорной картинки для текущей картинки.
11. Способ кодирования по п. 10, дополнительно содержащий предотвращение кодирования, посредством схемы, опорной информации на основании текущей картинки, являющейся начальной группой картинок.
12. Способ кодирования по п. 10, дополнительно содержащий предотвращение кодирования, посредством схемы, опорной информации на основании опорной информации, указывающей, что информация определения опорной картинки для предшествующей картинки, не используется в качестве информации определения опорной картинки для текущей картинки.
13. Способ кодирования по п. 10, дополнительно содержащий:
установку, посредством схемы, множества фрагментов информации опорного изображения, которое содержит опорную информацию и информацию определения предшествующей картинки или информацию определения опорной картинки, и
кодирование, посредством схемы, множества фрагментов информации опорного изображения; и
в случае, когда текущая картинка является картинкой, отличной от начальной картинки в группе картинок, кодирования информации опорного изображения, определяющей информацию, которая определяет информацию опорного изображения текущей картинки из числа множества фрагментов информации опорного изображения.
14. Способ кодирования по п. 10, дополнительно содержащий:
установку, посредством схемы, первой информации опорного изображения, содержащей информацию определения опорной картинки, в качестве информации опорного изображения, и
в случае, когда текущая картинка является начальной картинкой в группе картинок, кодирование, посредством схемы, информации опорного изображения, определяющей информацию, которая определяет первую информацию опорного изображения.
15. Устройство кодирования, содержащее:
схему, выполненную с возможностью:
осуществления определения, является или нет текущая картинка начальной картинкой в группе картинок;
установки согласно определению опорной информации, указывающей, предназначена ли информация определения опорной картинки для предшествующей картинки, которая предшествует текущей картинке, для использования в качестве информации определения опорной картинки для текущей картинки, при этом информация определения опорной картинки является информацией, определяющей опорную картинку, используемую для формирования предшествующей картинки; и
кодирования опорной информации.
16. Устройство кодирования, содержащее:
схему, выполненную с возможностью:
определения, является или нет текущая картинка начальной картинкой в группе картинок;
если текущая картинка не является начальной картинкой в группе картинок,
установки опорной информации, указывающей, предназначена ли информация определения опорной картинки для предшествующей картинки, которая предшествует текущей картинке, для использования в качестве информации определения опорной картинки для текущей картинки, при этом информация определения опорной картинки является информацией, определяющей опорную картинку, используемую для формирования предшествующей картинки; и
кодирования опорной информации;
если текущая картинка является начальной картинкой в группе картинок,
установки опорной информации, указывающей, что информация определения опорной картинки для предшествующей картинки, которая предшествует текущей картинке, не предназначена для использования в качестве информации определения опорной картинки для текущей картинки; и
кодирования информации определения опорной картинки для текущей картинки.
T.K | |||
TAN et al | |||
Выбрасывающий ячеистый аппарат для рядовых сеялок | 1922 |
|
SU21A1 |
Пишущая машина для тюркско-арабского шрифта | 1922 |
|
SU24A1 |
Печь для сжигания твердых и жидких нечистот | 1920 |
|
SU17A1 |
B | |||
BROSS et al | |||
Способ восстановления хромовой кислоты, в частности для получения хромовых квасцов | 1921 |
|
SU7A1 |
Печь для сжигания твердых и жидких нечистот | 1920 |
|
SU17A1 |
Печь для сжигания твердых и жидких нечистот | 1920 |
|
SU17A1 |
R.L | |||
JOSHI et al | |||
Прибор для нагревания перетягиваемых бандажей подвижного состава | 1917 |
|
SU15A1 |
Печь-кухня, могущая работать, как самостоятельно, так и в комбинации с разного рода нагревательными приборами | 1921 |
|
SU10A1 |
Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек | 1923 |
|
SU2007A1 |
ИЗМЕНЕНИЕ РАЗМЕРА БУФЕРА В КОДЕРЕ И ДЕКОДЕРЕ | 2005 |
|
RU2385541C2 |
Авторы
Даты
2018-01-24—Публикация
2013-06-21—Подача