УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЯ
IMAGE PROCESSING DEVICE

Область техники, к которой относится изобретение
Настоящее изобретение относится к устройству и способу обработки изображения и, в частности, к устройству и способу обработки изображения, которые могут снижать ухудшение эффективности кодирования.
Уровень техники
В последние годы приобрело популярность устройство, которое обращается с информацией изображения как с цифровыми данными и для целей высокоэффективной передачи и хранения информации сжимает и кодирует изображение, используя способ кодирования, сжимающий изображение посредством компенсации движения и ортогонального преобразования, такого как дискретное косинусное преобразование, используя избыточность, свойственную информации изображения. К таким способам кодирования относится, например, MPEG (Moving Picture Experts Group).
В частности, MPEG2 (ISO/IEC 13818-2) определяется как гибкий способ кодирования изображений и является стандартом, охватывающим как изображения чересстрочной развертки, так и изображения построчной развертки, а также, изображения со стандартной разрешающей способностью и изображения высокой точности. Например, в настоящее время MPEG2 широко используется как для профессиональных, так и для бытовых применений. Используя способ сжатия MPEG2, в случае изображения с чересстрочной разверткой со стандартной разрешающей способностью 720×480 пикселей, назначается объем кода (битовая скорость) 4-8 Мбит/с. Используя способ сжатия MPEG2, в случае изображения с чересстрочной разверткой с высокой разрешающей способностью 1920×1088 пикселей, назначается объем кода (битовая скорость) 18-22 Мбит/с. Это позволяет иметь высокий коэффициент сжатия и превосходное качество изображения.
MPEG2 предназначен, главным образом, для кодирования изображения с высокой точностью, которое пригодно для широковещательных передач, но не работает с объемом кода (битовой скоростью), ниже, чем в MPEG1, то есть, со способом кодирования с более высоким коэффициентом сжатия. Как сказано выше, такой способ кодирования, вероятно, весьма необходим в связи с распространением портативных терминалов и, соответственно, был стандартизирован способ кодирования MPEG4. В отношении способа кодирования изображения, технические требования были утверждены в декабре 1998 г. в качестве международного стандарта с названием ISO/IEC 14496-2.
Кроме того, в последние годы для целей кодирования изображений для видеоконференций был установлен стандарт, названный H.26L (ITU-T (International Telecommunication Union Telecommunication Standardization Sector, сектор стандартизации в области электросвязи Международного союза электросвязи) Q6/16 VCEG (Video Coding Expert Group, группа экспертов по видеокодированию)). Известно, что H.26L достигает более высокой эффективности кодирования, хотя Н.26 требует при кодировании и декодировании больше вычислений, чем традиционные способы кодирования, такие как MPEG2 и MPEG4. Кроме того, как одно из направлений деятельности MPEG4, основанной на этом H.26L, стандартизация, достигающая более высокой эффективности кодирования, выполняется как Joint Model of Enhanced-Compression Video Coding (совместная модель видеокодирования с улучшенным сжатием), в которую введена функция, не поддерживаемая в H.26L.
В процессе планового проведения стандартизации в марте 2003 г. был принят международный стандарт с названием Н.264 и MPEG-4 Часть 10 (Advanced Video Coding (передовое видеокодирование), который здесь далее упоминается как AVC).
Дополнительно, как расширение H.264/AVC, в феврале 2005 г. была завершена стандартизация FRExt (Fidelity Range Extension, расширение диапазона точности воспроизведения), содержащая матрицу квантования или 8×8 DCT, определенную в MPEG-2, и инструменты кодирования, необходимые для работы, такие как RGB, 4:2:2 или 4:4:4, Соответственно, была принята система кодирования, способная, используя H.264/AVC, должным образом передавать даже шум пленки, содержащийся в кинофильме, которая используется в широком диапазоне применений, таких как диски Blu-ray (зарегистрированная торговая марка).
В последние годы, однако, возросла потребность в кодировании с повышенным коэффициентом сжатия: сжатие изображения приблизительно с 4000×2000 пикселями, соответствующего четырехкратному содержанию пикселей изображения высокой четкости; или распространение изображения высокой четкости в среде с ограниченной емкостью передачи, такой как Интернет. Это требует дополнительного исследования повышения эффективности кодирования в VCEG под руководством ITU-T.
С этой точки зрения, с целью повышения эффективности кодирования по сравнению с AVC, совместной группой по стандартизации ITU-T и ISO/IEC, известной как JCTVC (Joint Collaboration Team-Video Coding, совместная группа по сотрудничеству в области видеокодирования) проведена стандартизация способа кодирования под названием HEVC (High Efficiency Video Coding, видеокодирование высокой эффективности). В отношении HEVC в феврале 2012 г. был выпущен проект Комитета, являющийся первым проектом технических требований, (например, смотрите непатентный документ 1).
В частности, традиционный способ кодирования, такой как MPEG-2 или AVC, имеет функцию масштабируемости (масштабируемость) для кодирования изображения путем деления изображения на множество уровней.
Другими словами, на терминал с низкой способностью обработки, такой как мобильный телефон, передается информация о сжатии изображения только базового уровня (base layer) так чтобы движущееся изображение воспроизводилось с низкой пространственной временной разрешающей способностью или как изображение низкого качества; с другой стороны, в дополнение к информации о базовом уровне, на терминал с высокой способностью обработки, такой как телевизионный приемник или персональный компьютер, передается информация о сжатии изображения улучшенного уровня (улучшенный уровень), так чтобы движущееся изображение воспроизводилось с высокой пространственной временной разрешающей способностью или как изображение высокого качества. Таким образом, информация о сжатии изображения, в зависимости от способности обработки терминала или сети, может передаваться от сервера без процесса транскодирования.
Таким образом, при масштабируемом кодировании выполнение процесса предсказания между уровнями для всех картинок ведет к увеличению объема вычислений.
С этой точки зрения, было предложено указание включения/выключения (on/off) процесса предсказания между уровнями для каждой картинки (picture) в блоке NAL (NAL_Unit) (например, смотрите непатентный документ 2).
Перечень литературы
Патентный документ
Непатентные документы
Непатентный документ 1: Benjamin Bross, Woo-Jin Han, Jens-Rainer Ohm, Gary J. Sullivan, Thomas Wiegand, "High efficiency video coding (HEVC) text specification draft 6", JCTVC-H1003 ver21, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG117th Meeting: Женева, CH, 21-30 ноября 2011 г.
Непатентный документ 2: Jizheng Xu, "AHG10: Selective inter-layer prediction signalling for HEVC scalable extension", JCTVC-J0239, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 1110th Meeting: Stockholm, SE, 11-20 July 2012
Раскрытие изобретения
Проблемы, решаемые изобретением
Однако, при традиционном способе информация по управлению включением/выключением (on/off) процесса предсказания между уровнями формировалась и передавалась для каждой картинки. Поэтому существовал риск, что из-за передачи информации объем кода может возрастать, ухудшая, тем самым, эффективность кодирования.
Настоящее изобретение было сделано, учитывая вышесказанное, и для снижения ухудшения эффективности кодирования.
Решения проблем
Вариантом настоящего раскрытия является устройство обработки изображения, содержащее: приемный блок, принимающий кодированные данные, в которых кодировано изображение с множеством основных уровней, и информацию управления межуровневым предсказанием, управляющую тем, выполнять ли с использованием подуровня межуровневое предсказание, которое является предсказанием между множеством основных уровней; и блок декодирования, декодирующий каждый основной уровень кодированных данных, принятых приемным блоком, выполняя межуровневое предсказание только на подуровне, указанном в информации управления межуровневым предсказанием, принятой приемным блоком.
Если текущая картинка текущего основного уровня принадлежит подуровню, указанному посредством информации управления межуровневым предсказанием как подуровень, для которого межуровневое предсказание выполняется, блок декодирования может декодировать кодированные данные текущей картинки, используя межуровневое предсказание.
Информация управления межуровневым предсказанием может указывать наивысший подуровень, для которого разрешается межуровневое предсказание; и блок декодирования, используя межуровневое предсказание, может проводить декодирование кодированных данных картинки, принадлежащих подуровням, от наинизшего подуровня к наивысшему подуровню, указанным информацией управления межуровневым предсказанием.
Информация управления межуровневым предсказанием может устанавливаться для каждого основного уровня.
Информация управления межуровневым предсказанием может устанавливаться как параметр, общий для всех основных уровней.
Приемный блок может принимать информацию управления межуровневым предсказанием пикселей, которая управляет тем, выполнять ли межуровневое предсказание пикселей, являющееся предсказанием пикселей между множеством основных уровней, и информацию управления межуровневым предсказанием синтаксиса, которая управляет тем, выполнять ли межуровневое предсказание синтаксиса, которое является предсказанием синтаксиса между множеством основных уровней, причем информация управления межуровневым предсказанием пикселей и информация управления межуровневым предсказанием синтаксиса устанавливаются независимо как информация управления межуровневым предсказанием; и блок декодирования может выполнять межуровневое предсказание пикселей, основываясь на информации управления межуровневым предсказанием пикселей, принятой приемным блоком, и выполнять межуровневое предсказание синтаксиса, основываясь на информации управления межуровневым предсказанием синтаксиса, принятой приемным блоком.
Информация управления межуровневым предсказанием пикселей может, используя подуровень, управлять тем, выполнять ли межуровневое предсказание пикселей; блок декодирования может выполнять межуровневое предсказание пикселей только на подуровне, указанном в информации управления межуровневым предсказанием пикселей; информация межуровневого предсказания синтаксиса может управлять тем, выполнять ли межуровневое предсказание синтаксиса для каждой картинки или среза; и блок декодирования может выполнять межуровневое предсказание синтаксиса только для картинки или среза, указанных в информации управления межуровневым предсказанием синтаксиса.
Информация управления межуровневым предсказанием пикселей может передаваться как наль-блок (nal_unit), набор видеопараметров (VPS (Video Parameter Set)) или расширение набора видеопараметров (vps_extension).
Информация управления межуровневым предсказанием синтаксиса может передаваться как nal-блок (nal_unit), набор параметров картинки (PPS (Picture Parameter Set)) или заголовок среза (SliceHeader).
Дополнительно, вариантом настоящей технологии является способ обработки изображения, содержащий этапы, на которых: принимают кодированные данные, в которых кодировано изображение с множеством основных уровней, и информацию управления межуровневым предсказанием, управляющую тем, выполнять ли межуровневое предсказание с использованием подуровня, которое является предсказанием между множеством основных уровней; и декодируют каждый основной уровень принятых кодированных данных, выполняя межуровневое предсказание только на подуровне, указанном в принятой информации управления межуровневым предсказанием.
Другим вариантом настоящего раскрытия является устройство обработки изображения, содержащее: блок кодирования, который кодирует каждый основной уровень данных изображения, выполняя межуровневое предсказание, являющееся предсказанием среди множества основных уровней только на подуровне, указанном в информации управления межуровневым предсказанием, которая управляет тем, должно ли выполняться межуровневое предсказание с использованием подуровня; и блок передачи, которые передает кодированные данные, полученные кодированием блоком кодирования, и информацию управления межуровневым предсказанием.
Если текущая картинка текущего основного уровня принадлежит подуровню, указанному как подуровень, для которого межуровневое предсказание выполняется посредством информации управления межуровневым предсказанием, блок кодирования может кодировать данные изображения текущей картинки, используя межуровневое предсказание.
Информация управления межуровневым предсказанием может указывать наивысший подуровень, для которого разрешается межуровневое предсказание; и блок кодирования, используя межуровневое предсказание, может кодировать данные изображения, принадлежащие подуровням, от наинизшего подуровня к наивысшему подуровню, указанным информацией управления межуровневым предсказанием.
Информация управления межуровневым предсказанием может устанавливаться для каждого основного уровня.
Информация управления межуровневым предсказанием может устанавливаться как параметры, общие для всех основных уровней.
Блок кодирования может выполнять межуровневое предсказание пикселей как предсказание пикселей среди множества основных уровней, основываясь на информации управления межуровневым предсказанием пикселей, которая управляет тем, выполнять ли межуровневое предсказание пикселей, и которая устанавливается в качестве информации управления межуровневым предсказанием; блок кодирования может выполнять межуровневое предсказание синтаксиса в качестве предсказания синтаксиса среди множества основных уровней, основываясь на информации управления межуровневым предсказанием синтаксиса, которая управляет тем, выполнять ли межуровневое предсказание синтаксиса, и которая устанавливается в качестве информации управления межуровневым предсказанием независимо от информации управления межуровневым предсказанием пикселей; и блок передачи может передавать информацию управления межуровневым предсказанием пикселей и информацию управления межуровневым предсказанием пикселей синтаксиса, которые устанавливаются независимо друг от друга, в качестве информации управления межуровневым предсказанием.
Информация управления межуровневым предсказанием пикселей может, используя подуровень, управлять тем, выполнять ли межуровневое предсказание пикселей; блок декодирования может выполнять межуровневое предсказание пикселей только на подуровне, указанном в информации управления межуровневым предсказанием пикселей; информация управления межуровневым предсказанием синтаксиса может управлять тем, выполнять ли межуровневое предсказание синтаксиса для каждой картинки или среза; и блок кодирования может выполнять межуровневое предсказание синтаксиса только для картинки или среза, указанных в информации управления межуровневым предсказанием синтаксиса.
Блок передачи может передавать информацию управления межуровневым предсказанием пикселей как nal-блок (nal_unit), набор видеопараметров (VPS (Video Parameter Set)) или расширение набора видеопараметров (vps_extension).
Блок передачи может передавать информацию управления межуровневым предсказанием синтаксиса как nal-блок (nal_unit), набор параметров картинки (PPS (Picture Parameter Set)) или заголовок среза (SliceHeader).
Дополнительно, другим вариантом настоящей технологии является способ обработки изображения, содержащий этапы, на которых: кодируют каждый основной уровень данных изображения, выполняя межуровневое предсказание, являющееся предсказанием среди множества основных уровней только на подуровне, указанном в информации управления межуровневым предсказанием, которая управляет тем, должно ли выполняться межуровневое предсказание с использованием подуровня; и передают кодированные данные, полученные кодированием, и информацию управления межуровневым предсказанием.
В варианте настоящей технологии кодированные данные, в которых кодировано изображение с множеством основных уровней, и информация управления межуровневым предсказанием, управляющая тем, выполнять ли с использованием подуровня межуровневое предсказание, которое является предсказанием между множеством основных уровней, принимаются и межуровневое предсказание выполняется только на подуровне, указанном в принятой информации управления межуровневым предсказанием; таким образом, каждый основной уровень принятых кодированных данных декодируется.
В другом варианте настоящей технологии межуровневое предсказание выполняется только на подуровне, указанном в информации управления межуровневым предсказанием, которая управляет тем, выполнять ли с использованием подуровня межуровневое предсказание, которое является предсказанием среди множества основных уровней; таким образом, каждый основной уровень данных изображения кодируется и кодированные данные, полученные кодированием, и информация управления межуровневым предсказанием передаются. Результаты изобретения
В соответствии с настоящим раскрытием, изображение может кодироваться и декодироваться и, в частности, ухудшение эффективности кодирования может быть уменьшено.
Краткое описание чертежей
Фиг. 1 - пример структуры блока кодирования.
Фиг. 2 - пример пространственного масштабируемого кодирования.
Фиг. 3 - пример временного масштабируемого кодирования.
Фиг. 4 - пример масштабируемого кодирования отношения сигнал/шум.
Фиг. 5 - пример синтаксиса набора видеопараметров.
Фиг. 6 - пример межуровневого предсказания.
Фиг. 7 - пример управления межуровневым предсказанием, используя подуровень.
Фиг. 8 - пример синтаксиса набора видеопараметров.
Фиг. 9 - блок-схема примера основной структуры устройства масштабируемого кодирования.
Фиг. 10 - блок-схема примера основной структуры блока кодирования изображения базового уровня.
Фиг. 11 - блок-схема примера основной структуры блока кодирования изображения улучшенного уровня.
Фиг. 12 - блок-схема примера основной структуры блока формирования общей информации и блока управления межуровневым предсказанием.
Фиг. 13 - блок-схема последовательности выполнения операций примера процесса кодирования.
Фиг. 14 - блок-схема последовательности выполнения операций примера процесса формирования общей информации.
Фиг. 15 - блок-схема последовательности выполнения операций примера процесса кодирования базового уровня.
Фиг. 16 - блок-схема последовательности выполнения операций примера процесса управления межуровневым предсказанием.
Фиг. 17 - блок-схема последовательности выполнения операций примера процесса кодирования улучшенного уровня.
Фиг. 18 - блок-схема последовательности выполнения операций примера процесса предсказания/компенсации движения.
Фиг. 19 - блок-схема примера основной структуры устройства масштабируемого декодирования.
Фиг. 20 - блок-схема примера основной структуры блока декодирования изображения базового уровня.
Фиг. 21 - блок-схема примера основной структуры блока декодирования изображения улучшенного уровня.
Фиг. 22 - блок-схема примера основной структуры блока получения общей информации и блока управления межуровневым предсказанием.
Фиг. 23 - блок-схема последовательности выполнения операций примера процесса декодирования.
Фиг. 24 - блок-схема последовательности выполнения операций примера процесса получения общей информации.
Фиг. 25 - блок-схема последовательности выполнения операций примера процесса декодирования базового уровня.
Фиг. 26 - блок-схема последовательности выполнения операций примера процесса управления межуровневым предсказанием.
Фиг. 27 - блок-схема последовательности выполнения операций примера процесса декодирования улучшенного уровня.
Фиг. 28 - блок-схема последовательности выполнения операций примера процесса предсказания.
Фиг. 29 - блок-схема последовательности выполнения операций примера синтаксиса набора видеопараметров.
Фиг. 30 - пример структуры подуровня.
Фиг. 31 - другой пример структуры подуровня.
Фиг. 32 - блок-схема примера основной структуры блока формирования общей информации и блока управления межуровневым предсказанием.
Фиг. 33 - блок-схема последовательности выполнения операций примера процесса формирования общей информации.
Фиг. 34 - блок-схема примера основной структуры блока получения общей информации и блока управления межуровневым предсказанием.
Фиг. 35 - блок-схема выполнения операций примера процесса получения общей информации.
Фиг. 36 - пример синтаксиса набора видеопараметров.
Фиг. 37 - блок-схема примера основной структуры блока формирования общей информации и блока управления межуровневым предсказанием.
Фиг. 38 - блок-схема последовательности выполнения операций примера процесса формирования общей информации.
Фиг. 39 - блок-схема последовательности выполнения операций примера процесса управления межуровневым предсказанием.
Фиг. 40 - блок-схема примера основной структуры блока получения общей информации и блока управления межуровневым предсказанием.
Фиг. 41 - блок-схема выполнения операций примера процесса получения общей информации.
Фиг. 42 - блок-схема последовательности выполнения операций примера процесса управления межуровневым предсказанием.
Фиг. 43 - пример управления межуровневым предсказанием пикселей и межуровневого предсказания синтаксиса.
Фиг. 44 - блок-схема примера основной структуры блока формирования общей информации и блока управления межуровневым предсказанием.
Фиг. 45 - блок-схема последовательности выполнения операций примера процесса формирования общей информации.
Фиг. 46 - блок-схема последовательности выполнения операций примера процесса кодирования базового уровня.
Фиг. 47 - блок-схема последовательности выполнения операций примера процесса управления межуровневым предсказанием.
Фиг. 48 - блок-схема последовательности выполнения операций примера процесса кодирования улучшенного уровня.
Фиг. 49 - блок-схема последовательности выполнения операций примера процесса предсказания/компенсации движения.
Фиг. 50 - блок-схема последовательности выполнения операций примера процесса внутрикадрового предсказания.
Фиг. 51 - блок-схема примера основной структуры блока получения общей информации и блока управления межуровневым предсказанием.
Фиг. 52 - блок-схема выполнения операций примера процесса получения общей информации.
Фиг. 53 - блок-схема последовательности выполнения операций примера процесса декодирования базового уровня.
Фиг.54 - блок-схема последовательности выполнения операций примера процесса управления межуровневым предсказанием.
Фиг. 55 - блок-схема последовательности выполнения операций примера процесса предсказания.
Фиг. 56 - блок-схема последовательности выполнения операций примера процесса предсказания, следующего за фиг. 55.
Фиг. 57 - пример набора параметров последовательности.
Фиг. 58 - пример набора параметров последовательности, соответствующего фиг. 57.
Фиг. 59 - пример заголовка среза.
Фиг. 60 - пример заголовка среза, следующего за фиг. 59.
Фиг. 61 - пример заголовка среза, следующего за фиг. 60.
Фиг. 62 - блок-схема примера основной конфигурации устройства кодирования изображения.
Фиг. 63 - блок-схема примера основной структуры блока кодирования изображения базового уровня.
Фиг. 64 - блок-схема примера основной структуры блока кодирования изображения улучшенного уровня.
Фиг. 65 - блок-схема последовательности выполнения операций примера процесса кодирования.
Фиг. 66 - блок-схема последовательности выполнения операций примера процесса кодирования базового уровня.
Фиг. 67 - блок-схема последовательности выполнения операций примера процесса формирования набора параметров последовательности.
Фиг. 68 - блок-схема последовательности выполнения операций примера процесса кодирования улучшенного уровня.
Фиг. 69 - блок-схема последовательности выполнения операций примера процесса внутрикадрового предсказания.
Фиг. 70 - блок-схема последовательности выполнения операций примера процесса межкадрового предсказания.
Фиг. 71 - блок-схема примера основной структуры устройства декодирования изображения.
Фиг. 72 - блок-схема примера основной структуры блока декодирования изображения базового уровня.
Фиг. 73 - блок-схема примера основной структуры блока декодирования изображения улучшенного уровня.
Фиг. 74 - блок-схема последовательности выполнения операций примера процесса декодирования изображения.
Фиг. 75 - блок-схема последовательности выполнения операций примера процесса декодирования базового уровня.
Фиг. 76 - блок-схема последовательности выполнения операций примера процесса декодирования набора параметров последовательности.
Фиг. 77 - блок-схема последовательности выполнения операций примера процесса декодирования улучшенного уровня.
Фиг. 78 - блок-схема последовательности выполнения операций примера процесса предсказания.
Фиг. 79 - блок-схема последовательности выполнения операций примера процесса управления межуровневым предсказанием.
Фиг. 80 - блок-схема последовательности выполнения операций примера процесса управления межуровневым предсказанием.
Фиг. 81 - пример способа кодирования уровневого изображения.
Фиг. 82 - пример способа кодирования мультипроекционного изображения.
Фиг. 83 - блок-схема примера основной структуры компьютера.
Фиг. 84 - блок-схема примера схематичной структуры телевизионного устройства.
Фиг. 85 - блок-схема примера схематичной структуры мобильного телефона.
Фиг. 86 - пример схематичной структуры устройства записи/воспроизведения.
Фиг. 87 - блок-схема примера схематичной структуры фотографического устройства.
Фиг. 88 - блок-схема примера использования масштабируемого кодирования.
Фиг. 89 - блок-схема другого примера использования масштабируемого кодирования.
Фиг. 90 - блок-схема другого примера использования масштабируемого кодирования.
Фиг. 91 - блок-схема примера схематичной структуры видеокомплекта.
Фиг. 92 - блок-схема примера схематичной структуры видеопроцессора.
Фиг. 93 - блок-схема другого примера схематичной структуры видеопроцессора.
Фиг. 94 - структура системы воспроизведения контента.
Фиг. 95 - поток данных в системе воспроизведения контента.
Фиг. 96 - конкретный пример управления MPD.
Фиг. 97 - функциональная блок-схема структуры сервера контента системы воспроизведения контента.
Фиг. 98 - функциональная блок-схема структуры устройства воспроизведения контента системы воспроизведения контента.
Фиг. 99 - функциональная блок-схема структура сервера контента системы воспроизведения контента.
Фиг. 100 - карта последовательности операций примера процесса связи каждого устройства в системе беспроводной связи.
Фиг. 101 - карта последовательности операций примера процесса связи каждого устройства в системе беспроводной связи.
Фиг. 102 - пример структуры формата кадра (формат кадра) при обмене в процессе связи каждым устройством в системе беспроводной связи.
Фиг. 103 - карта последовательности операций примера процесса связи каждого устройства в системе беспроводной связи.
Осуществление изобретения
Здесь далее описываются режимы (здесь далее варианты осуществления) выполнения настоящего раскрытия. Описание делается в следующем порядке.
0. Краткое представление изобретения
1. Первый вариант осуществления (устройство кодирования изображения)
2. Второй вариант осуществления (устройство декодирования изображения)
3. Третий вариант осуществления (устройство кодирования изображения)
4. Четвертый вариант осуществления (устройство декодирования изображений)
5. Пятый вариант осуществления (устройство кодирования изображения)
6. Шестой вариант осуществления (устройство декодирования изображения)
7. Краткое представление изобретения 2
8. Седьмой вариант осуществления (устройство кодирования изображения)
9. Восьмой вариант осуществления (устройство декодирования изображения)
10. Краткое представление изобретения 3
11. Девятый вариант осуществления (устройство кодирования изображения)
12. Десятый вариант осуществления (устройство декодирования изображения)
13. Одиннадцатый вариант (управление межуровневым предсказанием синтаксиса)
14. Прочее
15. Двенадцатый вариант осуществления (компьютер)
16. Пример применения
17. Пример применения масштабируемого кодирования
18. Тринадцатый вариант осуществления (комплект/блок/модуль/процессор)
19. Четырнадцатый вариант осуществления (пример применения системы воспроизведения контента MPEG-DASH)
20. Пятнадцатый вариант осуществления (пример применения системы беспроводной связи Wi-Fi)
0. Краткое представление изобретения
Способ кодирования
Настоящий способ будет описан, основываясь на примере, в котором настоящий способ применяется для кодирования или декодирования изображения по способу HEVC (High Efficiency Video Coding, видеокодирование высокой эффективности).
Блок кодирования
При способе AVC (Advanced Video Coding, перспективное видеокодирование) определяется структура уровней макроблоков и субмакроблоков. Макроблоки 16 пикселей × 16 пикселей, однако, не являются оптимальными для кадра картинки с таким высоким разрешением, как UHD (Ultra High Definition, ультравысокое разрешение: 4000 пикселей × 2000 пикселей), который должен кодироваться по способу кодирования следующего поколения.
В отличие от этого, в способе HEVC блок кодирования (CU (Coding Unit, блок кодирования)) определяется в соответствии с фиг. 1.
CU также упоминается как блок дерева кодирования (Coding Tree Block, СТВ) и является частичной областью изображения в блоке картинки, который выполняет роль, подобную макроблоку в способе AVC. Хотя последний фиксирован с размером 16×16 пикселей, размер первого не фиксирован и описывается в информации о сжатии изображения в каждой из последовательностей.
Например, в наборе параметров последовательности (SPS (Sequence Parameter Set)), содержащемся в кодированных данных, которые должны выводиться, определяются максимальный размер (LCU (Largest Coding Unit, наибольший блок кодирования)) и минимальный размер (SCU (Smallest Coding Unit, наименьший блок кодирования)).
В каждом LCU, разделяя блок на части, диапазон размера которых становится не меньшим, чем размер SCU, как split-flag=1, блок может быть разделен на меньшие CU. В примере, показанном на фиг. 1, размер LCU равен 128 и наибольшая глубина уровня равна 5. Когда split_flag имеет значение "1", CU с размером 2N×2Ν делится на CU с размером Ν×N в одном, более низком уровне.
Кроме того, CU делится на блоки предсказания (Prediction Unit (PU)), каждую область, служащую в качестве обрабатываемого блока при межкадровом предсказании или внутрикадровом предсказании (частичная область изображения в блоке картинки), и на блоки преобразования (Transform Unit (TU)), каждую область, служащую в качестве обрабатываемого блока при ортогональном предсказании (частичная область изображения в блоке картинки). В настоящее время система HEVC в дополнение к ортогональным преобразованиям 4×4 и 8×8 может использоваться для ортогональных преобразований 16×16 и 32×32.
В случае каждого способа кодирования, для которого определяется CU и в блоке CU выполняются различные процессы, как в способе HEVC, макроблок в способе AVC соответствует LCU и блок (субблок) соответствует CU. Кроме того, блок компенсации движения в способе AVC соответствует PU. Однако, поскольку CU имеет уровневую структуру, LCU наивысшего уровня имеет размер, который обычно устанавливается большим, чем макроблок в способе AVC, и имеет, например, размер 128×128 пикселей.
Поэтому в приведенном ниже описании в способе AVC LCU содержит в себе макроблоки, и в способе AVC CU содержит в себе блок (субблок). Другими словами, термин "блок", используемый ниже в описании, относится к любой частичной области картинки и его размер, форма и характеристики не ограничиваются. Поэтому, "блок" содержит в себе любую область (блок обработки), такую как TU, PU, SCU, CU, LCU, субблок, макроблок или срез. Разумеется, другие области (блок обработки), отличные от указанных выше, также содержатся в этом термине. Если существует необходимость ограничить размер или блок обработки, описание будет сделано соответствующим образом.
В этом описании CTU (Coding Tree Unit) является блоком, содержащим параметр, когда процесс выполняется его блоком СТВ (Coding Tree Block) блока LCU (Largest Coding Unit, наибольшего блока кодирования) и базовым (уровневым) LCU. Кроме того, CU (Coding Unit) в CTU является блоком, содержащим параметр, когда процесс выполняется его блоком СВ (Coding Block) и базовым (уровневым) LCU.
Выбор режима
Чтобы достигнуть более высокой эффективности кодирования в способах кодирования AVC и HEVC, важен выбор соответствующего режима предсказания.
Например, выбор может быть сделан из числа способов, имеющихся в опорном программном обеспечении (опубликовано в http://iphome.hhi.de/suehring/tml/index.htm) способа H.264/MPEG-4 AVC под названием JM (Joint Model, совместная модель).
В JM выбор может делаться между двумя способами определения режима: режим высокой сложности (High Complexity Mode) и режим низкой сложности (Low Complexity Mode), как описано ниже. В любом из режимов вычисляется значение функции стоимости для каждого режима предсказания "Mode" и режим предсказания, минимизирующий значение функции стоимости, выбирается в качестве оптимального режима для блока или макроблока.
Функция стоимости в режиме высокой сложности (High Complexity Mode) такова, как показано ниже формулой (1).
Математическая формула 1
В этой формуле Ω является универсальным набором возможных режимов для кодирования блока до макроблока, D является разностной энергией между декодированным изображением и входным изображением, когда кодирование выполняется в режиме предсказания, λ является множителем Лагранжа, заданным как функция параметра квантования, и R является общим объемом кода, содержащим коэффициент ортогонального преобразования, когда кодирование выполняется в этом режиме.
Другими словами, для кодирования в режиме высокой сложности требуется вычисление параметров D и R; таким образом, временной процесс кодирования необходимо выполнять каждый раз во всех возможных режимах и это требует большего объема вычислений.
Функция стоимости в режиме низкой сложности (Low Complexity Mode) представляется следующей формулой (2). Математическая формула 2
В этой формуле D является разностной энергией между предсказанным изображением и входным изображением, которая отличается от разностной энергии в случае режима высокой сложности. QP2Quant(QP) задается как функция параметра квантования QP и HeaderBit является объемом кодирования для информации, принадлежащей заголовку, такой как вектор движения или режим, который не содержит коэффициент ортогонального преобразования.
То есть, режим низкой сложности требует процесса предсказания для каждого возможного режима, но не нуждается в декодированном изображении; таким образом, процесс кодирования не требуется. Таким образом, объем вычислений может быть меньше, чем в режиме высокой сложности.
Уровневое кодирование
Традиционный способ кодирования изображения, такой как MPEG2 или AVC, имеет функция масштабируемости (масштабируемость), как показано на фиг. 2-4. Масштабируемое кодирование (уровневое кодирование) является способом деления изображения на множество уровней (расслоение) и кодирования изображения для каждого уровня.
При расслоении изображения на уровни одно изображение делится на множество изображений (уровней), основываясь на заданном параметре. По существу, каждый уровень образуется разностными данными, так чтобы уменьшать избыточность. Например, в случае, когда одно изображение делится на два уровня, базовый уровень и улучшенный уровень, изображение с более низким качеством изображения, чем исходное изображение, получается из данных всего лишь базового уровня и путем синтезирования данных базового уровня и данных улучшенного уровня получают исходное изображение (то есть, изображение высокого качества).
Путем расслоения изображения таким образом, в соответствии с обстоятельствами, легко может быть получено изображение с различным качеством изображения. Например, на терминал с низкой способностью обработки, такой как мобильный телефон, передается информация о сжатии изображения только базового уровня (base layer), так чтобы воспроизводилось движущееся изображение с низкой пространственной временной разрешающей способностью или как изображение низкого качества; с другой стороны, в дополнение к информации о базовом уровне, на терминал с высокой способностью обработки, такой как телевизионный приемник или персональный компьютер, передается информация о сжатии изображения улучшенного уровня (улучшенный уровень), так чтобы движущееся изображение воспроизводилось с высокой пространственной временной разрешающей способностью или как изображение высокого качества. Таким образом, информация о сжатии изображения, в зависимости от возможностей обработки терминала или сети, может передаваться от сервера без процесса транскодирования.
Примером параметров, которые обеспечивают масштабируемость, является пространственная масштабируемость (spatial scalability), как показано на фиг. 2. В случае этой пространственной масштабируемости (spatial scalability), разрешающая способность различна для каждого уровня. Другими словами, как показано на фиг. 2, каждая картинка делится на два уровня, базовый уровень с более низким пространственным разрешением, чем у исходного изображения, и улучшенный уровень, обеспечивающий исходное изображение (с исходным пространственным разрешением) посредством объединения с изображением базового уровня. То есть, это количество уровней является всего лишь примером и может определяться произвольно.
Другим параметром, который обеспечивает масштабируемость, является временное разрешение (временная масштабируемость), как показано на фиг. 3. В случае временной масштабируемости (temporal scalability), частота кадров различна для каждого уровня. Другими словами, уровни делятся, чтобы иметь другую частоту кадров, как показано на фиг. 3. Движущееся изображение с повышенной частотой кадров может быть получено, добавляя уровень с высокой частотой кадров к уровню с низкой частотой кадров; суммируя все уровни, может быть получено первоначальное движущееся изображение (с первоначальной частотой кадров). Это количество уровней является всего лишь примером и может определяться произвольно.
Другим параметром, который обеспечивает масштабируемость, является отношение сигнал-шум (SNR (Signal to Noise Ratio)) (масштабируемость SNR). В случае масштабируемости SNR (SNR scalability), отношение SN различно для каждого уровня. Другими словами, как показано на фиг. 4, каждая картинка делится на два уровня, базовый уровень с более низким SNR, чем у исходного изображения, и улучшенный уровень, обеспечивающий исходное изображение (с исходным SNR) посредством объединения с изображением базового уровня. То есть, в информации о сжатии изображения базового уровня (base layer) передается информация об изображении с низким PSNR; добавляя в нее информацию о сжатии изображения для улучшенного уровня (enhancement layer), может быть реконструировано изображение с высоким PSNR. То есть, это количество уровней является всего лишь примером и может определяться произвольно.
В качестве параметра, обеспечивающего масштабируемость, может использоваться и другой параметр, отличный от упомянутых выше. Например, может задаваться масштабируемость битовой глубины (bit-depth scalability), в которой базовый уровень (base layer) содержит 8-битовое (разрядное) изображение и, добавляя к нему улучшенный уровень (enhancement layer), может быть получено 10-битовое (разрядное) изображение.
Дополнительно, задаются масштабируемость цветности (chroma scalability), в которой базовый уровень (base layer) содержит компонентное изображение формата 4:2:0 и, добавляя к нему улучшенный уровень (enhancement layer), может быть получено компонентное изображение формата 4:2:2.
Набор видеопараметров
В системе HEVC набор видеопараметров (VPS (Video Parameter Set)), как показано на фиг. 5, определяется в дополнение к набору параметров последовательности (SPS (Sequence Parameter Set)) и набору параметров картинки (PPS (Picture Parameter Set)).
Управление межуровневым предсказанием
При масштабируемом кодировании выполнение процесса предсказания между уровнями для всех картинок ведет к увеличению объема вычислений.
С этой точки зрения, непатентный документ 2 предложил, чтобы указание включения/выключения (on/off) процесса предсказания указывалось в блоке NAL (NAL_Unit) для каждой картинки (Picture), как показано на фиг. 6.
При таком способе, однако, информация, управляющая включением/выключением (on/off) процесса предсказания между уровнями, формируется и передается для каждой картинки; таким образом, существует риск, что объем кода возрастает из-за передачи информации, что ухудшает эффективность кодирования.
Уровневая структура
С учетом вышесказанного, рассматривается способ более эффективного управления процессом предсказания между уровнями. Сначала данные изображения при масштабируемом кодировании (layer encoding) делятся на множество уровней, как показано на фиг. 2-4. В приведенном ниже описании уровнем, для удобства, считается основной уровень.
Группа картинок каждого основного уровня составляет последовательность основного уровня. В этой последовательности картинка формирует уровневую структуру (GOP: Group Of Picture), как показано на фиг. 7, способом, подобным данным движущегося изображения одиночного основного уровня. В приведенном ниже описании уровень в одном основном уровне, для удобства, упоминается как подуровень.
В примере на фиг. 7 основной уровень содержит два уровня, базовый уровень (Baselayer) и улучшенный уровень (Enhlayer). Базовый уровень является уровнем, который формирует изображение только с одним его основным уровнем, не завися от другого основного уровня. Данные базового уровня кодируются и декодируются без обращения к другим основным слоям. Улучшенный уровень является основным уровнем, который обеспечивает изображение при объединении с данными базового уровня. Данные улучшенного уровня могут использовать процесс предсказания между улучшенным уровнем и соответствующим базовым уровнем (процесс предсказания между основными уровнями (также упоминаемый как межуровневое предсказание)).
Количество основных уровней кодированных данных, которые были поделены на уровни с помощью масштабируемого кодирования, может определяться произвольно. В приведенном ниже описании каждый основной уровень устанавливается как основной уровень или улучшенный уровень и любой из основных уровней устанавливается в качестве опорного места расположения каждого улучшенного уровня.
В примере на фиг. 7 каждый основной уровень и улучшенный уровень имеет структуру GOP, содержащую три подуровня, подуровень 0 (Sublayer0), подуровень 1 (Sublayer1) и подуровень 2 (Sublayer2). Прямоугольник, показанный на фиг. 7, представляет картинку и буква внутри нее представляет тип картинки. Например, прямоугольник с буквой I представляет картинку I, а прямоугольник с буквой В внутри представляет картинку В. Пунктирная линия между прямоугольниками представляет отношение зависимости (ссылочное отношение). Как указывает каждая пунктирная линия, картинка на более высоком подуровне зависит от картинки более низкого подуровня. Другими словами, картинка подуровня 2 (Sublayer2) ссылается на картинку подуровня 1 или картинку подуровня 0. Кроме того, картинка подуровня 1 ссылается на картинку подуровня 0. Картинка подуровня 0 ссылается на картинку подуровня 0, соответственно.
Количество уровней подуровней (количество подуровней) может определяться произвольно. Структура GOP также может определяться произвольно и не ограничивается примером, приведенным на фиг. 7.
Управление межуровневым предсказанием, используя подуровень
Управление межуровневым предсказанием проводится, используя подуровни, в отношении данных изображения с приведенной выше структурой. Другими словами, информация управления межуровневым предсказанием, управляющая тем, выполнять или не выполнять предсказание между многочисленными основными уровнями в каждой картинке, использующей подуровень, формируется и передается. На стороне кодирования только подуровень, который указывается в информации управления межуровневым предсказанием, подвергается межуровневому предсказанию при кодировании; на стороне декодирования только подуровень, который указывается в информации управления межуровневым предсказанием, подвергается межуровневому предсказанию при декодировании.
Другими словами, только картинка, принадлежащая подуровню, который указывается информацией управления межуровневым предсказанием, может использовать межуровневое предсказание. То есть, простое указание подуровня позволяет управлять межуровневым предсказанием для всех картинок на основном уровне. Поэтому нет необходимости управлять каждой картинкой индивидуально и картинка может управляться для каждого основного уровня, значительно снижая, таким образом, объем информации, необходимой для управления. В результате, ухудшение эффективности кодирования посредством управления межуровневым предсказанием может быть уменьшено.
В качестве информации управления межуровневым предсказанием может использоваться информация, указывающая подуровень, для которого разрешается межуровневое предсказание; альтернативно, может использоваться информация, указывающая наивысший подуровень, для которого разрешается межуровневое предсказание.
Например, как указывается в примере на фиг. 7, в картинках более высоких подуровней 2 картинка и и опорная картинка находятся близко друг к другу по временной оси. Поэтому эффективность при процессе межуровневого предсказания является высокой и повышение эффективности кодирования посредством межуровневого предсказания невелико.
С другой стороны, в картинках на подуровне 1 и подуровне 0 картинка и опорная картинка далеки друг от друга по временной оси и в процессе кодирования посредством одиночного уровня выбирается больше CU, для которых выполняется межуровневое предсказание. Другими словами, повышение эффективности кодирования посредством предсказания между уровнями является высоким.
Другими словами, в более низких подуровнях эффективность кодирования может быть быть улучшена больше, применяя межуровневое предсказание. Поэтому, в случае проведения межуровневого предсказания на некоторых подуровнях, для управления желательно выполнять межуровневое предсказание на подуровнях от самого нижнего подуровня до заданного низкого подуровня.
В этом случае может указываться, до какого подуровня разрешается межуровневое предсказание. Таким образом, может просто указываться один подуровень, который может дополнительно снижать объем информации управления межуровневым предсказанием.
Набор видеопараметров
В системе HEVC набор видеопараметров (VPS (Video Parameter Set)) определяется в дополнение к набору параметров последовательности (SPS (Sequence Parameter Set)) и набору параметров картинки (PPS (Picture Parameter Set)).
Набор видеопараметров (VPS) формируется для всех кодированных данных, которые были подвергнуты масштабируемому кодированию. Набор видеопараметров (VPS) хранит информацию, связанную со всеми основными уровнями.
Набор параметров последовательности (SPS) формируется для каждого основного уровня. Набор параметров последовательности (SPS) хранит информацию, связанную с основным уровнем.
Набор параметров картинки (PPS) формируется для каждой картинки каждого основного уровня. Этот набор параметров картинки хранит информацию, связанную с картинкой основного уровня.
Информация управления межуровневым предсказанием может передаваться для каждого основного уровня, например, в наборе параметров последовательности (SPS) или может передаваться в наборе видеопараметров (VPS) как информация, общая для всех основных уровней.
На фиг. 8 показан пример синтаксиса набора видеопараметров. Параметр max_layer_minus1 представляет максимальное количество уровней (основных уровней), для которых выполняется масштабируемое кодирование. Параметр vps_max_sub_layer_minus1 представляет максимальное количество подуровней (максимальное количество подуровней), содержащееся в каждом основном уровне, для которого выполняется масштабируемое кодирование.
Параметр max_sub_layer_for_inter_layer_prediction[i] представляет подуровень, для которого выполняется межуровневое предсказание. Параметр max_sub_layer_for_inter_layer_prediction[i] представляет наивысший подуровень из числа подуровней, для которого выполняется межуровневое предсказание. Межуровневое предсказание выполняется для подуровней в диапазоне от наинизшего подуровня до подуровня, указанного параметром max_sub_layer_for_inter_layer_prediction[i].
Этот параметр max_sub_layer_for_inter_layer_prediction[i] устанавливается для каждого основного уровня (i). Другими словами, параметр max_sub_layer_for_inter_layer_prediction[i] устанавливается для каждого основного уровня, ниже или равного параметру max_layer_minus1. Значение параметра max_sub_layer_for_inter_layer_prediction[i] устанавливается как значение, меньшее или равное параметру vps_max_sub_layer_minus1.
Межуровневое предсказание может выполняться для любого параметра. Например, при масштабируемом кодировании AVC информация о векторе движения, информация о режиме, декодированное пиксельное значение, остоточный сигнал предсказания и т.п. задаются как параметры, для которых выполняется межуровневое предсказание. В системе HEVC дополнительно задаются флаг (flag), относящийся к пропуску ортогонального преобразования (Transform Skip), опорная картинка, параметр квантования, список масштабирования (Scaling List), адаптивное смещение и т.п. Количество параметров, для которых выполняется межуровневое предсказание, может определяться произвольно и может быть единицей или больше единицы.
Для удобства описания здесь далее описывается случай, в котором предсказание движения между уровнями (формирование информации вектора движения) выполняется в качестве примера межуровневого предсказания.
Затем будет описан пример, в котором настоящий способ, описанный выше, применяется к конкретному устройству.
1. Первый вариант осуществления
Устройство масштабируемого кодирования
На фиг. 9 представлена блок-схема примера основной структуры устройства масштабируемого кодирования.
Устройство 100 масштабируемого кодирования, показанное на фиг. 9, кодирует каждый уровень данных изображения, поделенных на основной уровень и улучшенный уровень. Параметр, используемый при делении на уровни в качестве опорного, может определяться произвольно. Устройство 100 масштабируемого кодирования содержит блок 101 формирования общей информации, блок 102 управления кодированием, блок 103 кодирования изображения основного уровня, блок 104 управления межуровневым предсказанием и блок 105 кодирования изображения улучшенного уровня.
Блок 101 формирования общей информации собирает информацию, относящуюся к кодированию данных изображения, которая должна храниться, например, в блоке NAL. Блок 101 формирования общей информации, при необходимости, собирает необходимую информацию от блока 103 кодирования изображения основного уровня, блока 104 управления межслойным предсказанием, блока 105 кодирования изображения улучшенного уровня и т.п. Основываясь на этих фрагментах информации, блок 101 формирования общей информации формирует общую информацию как информацию, относящуюся ко всем основным уровням. Общая информация содержит, например, набор видеопараметров и т.п.Блок 101 формирования общей информации выводит сформированную общую информацию из устройства 100 масштабируемого кодирования как блок NAL. Блок 101 формирования общей информации подает сформированную общую информацию также на блок 102 управления кодированием. Кроме того, блок 101 формирования общей информации, при необходимости, подает некоторые или все фрагменты сформированной общей информации на блок 103 кодирования изображения основного уровня и на блок 105 кодирования изображения улучшенного уровня. Например, блок 101 формирования общей информации подает максимальный подуровень выполнения межуровнего предсказания (max_sub_layer_for_inter_layer_prediction[i]) текущего основного уровня, который должен обрабатываться, на блок 104 управления межуровневым предсказанием.
Блок 103 управления кодированием управляет кодированием каждого основного уровня, управляя блоком 103 кодирования изображения основного уровня и блоком 105 кодирования изображения улучшенного уровня, основываясь на общей информации, поданной от блока 101 формирования общей информации.
Блок 102 кодирования изображения основного уровня собирает информацию об изображении для основного уровня (информацию изображения основного уровня). Блок 103 кодирования изображения основного уровня кодирует информацию изображения основного уровня без ссылки на другие уровни и формирует и выводит кодированные данные основного уровня (кодированные данные основного уровня). Блок 103 кодирования изображения основного уровня подает информацию, связанную с кодированием основного уровня, собранную при кодировании, на блок 104 управления межуровневым предсказанием.
Блок 104 управления межуровневым предсказанием сохраняет информацию, связанную с кодированием основного уровня, поданную от блока 103 кодирования изображения основного уровня. Блок 104 управления межуровневым предсказанием получает максимальный подуровень выполнения межуровневого предсказания (max_sub_layer_for_inter_layer_prediction[i]) текущего основного уровня, поданного от блока 101 формирования общей информации. На основе этого фрагмента информации, блок 104 управления межуровневым предсказанием управляет подачей хранящейся информации, связанной с кодированием основного уровня, в блок 105 кодирования изображения улучшенного уровня.
Блок 105 кодирования изображения улучшенного уровня собирает информацию об изображении для улучшенного уровня (информацию изображения улучшенного уровня). Блок 105 кодирования изображения улучшенного уровня кодирует информацию изображения улучшенного уровня. В этом случае, блок 105 кодирования изображения улучшенного уровня выполняет межуровневое предсказание со ссылкой на информацию, относящуюся к кодированию основного уровня, в соответствии с управлением блока 104 управления межуровневым предсказанием. Более конкретно, например, если текущий подуровень, который должен обрабатываться, является подуровнем, для которого разрешается межуровневое предсказание, блок 105 кодирования изображения улучшенного уровня собирает информацию, относящуюся к кодированию основного уровня, поданную от блока 104 управления межуровневым предсказанием, и выполняет межуровневое предсказание со ссылкой на информацию и кодирует информацию изображения улучшенного уровня, используя результат предсказания. Например, если текущий подуровень является подуровнем, для которого межуровневое предсказание запрещается, блок 105 кодирования изображения улучшенного уровня кодирует информацию изображения улучшенного уровня без выполнения межуровневого предсказания. Посредством описанного выше кодирования блок 105 кодирования изображения улучшенного уровня формирует и выводит кодированные данные улучшенного уровня (кодированные данные улучшенного уровня).
Блок кодирования изображения основного уровня
На фиг. 10 представлена блок-схема примера основной структуры блока 103 кодирования изображения основного уровня, показанного на фиг. 9. Как показано на фиг. 10, блок 103 кодирования изображения основного уровня содержит аналогово-цифровой (A/D) преобразователь 111, буфер 112 перегруппировки экрана, блок 113 вычислений, блок 114 ортогонального преобразования, блок 115 квантования, блок 116 кодера без потерь, накопительный буфер 117, блок 118 инверсного квантования и блок 119 инверсного ортогонального преобразования. Блок 103 кодирования изображения основного уровня дополнительно содержит блок 120 вычислений, блок 121 контурного фильтра, кадровую память 122, блок 123 выбора, блок 124 внутрикадрового предсказания, блок 125 предсказания/компенсации движения, блок 126 выбора предсказанного изображения и блок 127 управления скоростью.
A/D-преобразователь 111 выполняет аналогово-цифровое преобразование входных данных изображения (информация изображения основного уровня) и подает и сохраняет преобразованные данные изображения (цифровые данные) в буфере 112 перегруппировки экрана. Буфер 112 перегруппировки экрана перегруппирует изображения, чьи кадры отображались в порядке хранения, в порядок кодирования в соответствии с GOP (Group Of Picture) и подает изображения с перегруппированными кадрами в блок 113 вычислений. Буфер 112 перегруппировки экрана подает изображения с перегруппированными кадрами также на блок 124 внутрикадрового предсказания и на блок 125 предсказания/компенсации движения.
Блок 113 вычислений вычитает предсказанное изображение, полученное от блока 124 внутрикадрового предсказания или блока 125 предсказания/компенсации движения через блок 126 выбора предсказанного изображения, из изображения, считанного из буфера 112 перегруппировки экрана, и выводит разностную информацию на блок 114 ортогонального преобразования. Например, в случае изображения, для которого выполняется внутрикадровое кодирование, блок 113 вычислений вычитает из изображения, считанного из буфера 112 перегруппировки экрана, предсказанное изображение, полученное от блока 114 внутрикадрового предсказания. С другой стороны, в случае изображения, для которого выполняется межкадровое кодирование, блок 113 вычислений вычитает из изображения, считанного из буфера 112 перегруппировки экрана, предсказанное изображение, полученное от блока 125 предсказания/компенсации движения.
Блок 114 ортогонального преобразования применяет ортогональное преобразование, такое как дискретное косинусное преобразование и преобразование Карунена-Лоэва, к разностной информации, подаваемой от блока 113 вычислений. Блок 114 ортогонального преобразования подает сформированный коэффициент преобразования на блок 115 квантования.
Блок 115 квантования квантует коэффициент преобразования, поданный от блока 114 ортогонального преобразования. Блок 115 квантования квантует параметр квантования, установленный, основываясь на информации, связанной с целевым значением объема кода, которое подается от блока 127 управления скоростью. Блок 115 квантования подает квантованный коэффициент преобразования на блок 116 кодирования без потерь.
Блок 116 кодирования без потерь кодирует коэффициент преобразования, квантованный блоком 105 квантования произвольным способом кодирования. Поскольку данные коэффициента были квантованы под управлением блока 127 управления скоростью, объем кода является целевым значением, установленным блоком 127 управления скоростью (или аппроксимированным к целевому значению).
Блок 116 кодирования без потерь собирает информацию, указывающую режим внутрикадрового предсказания, от блока 124 внутрикадрового предсказания и получает информацию, представляющую режим межкадрового предсказания, или информацию о разностном векторе движения, от блока 125 предсказания/компенсации движения. Кроме того, блок 116 кодирования без потерь, при необходимости, формирует блок NAL основного уровня, содержащий набор параметров последовательности (SPS), набор параметров картинки (PPS) и т.п.
Блок 116 кодирования без потерь кодирует эти фрагменты информации произвольным способом кодирования и создает (мультиплексирует) некоторые фрагменты кодированных данных (также упоминаемые как кодированный поток). Блок 116 кодирования без потерь подает кодированные данные в накопительный буфер 117 и накапливает в нем данные.
Примеры способа кодирования блока 116 кодирования без потерь содержат кодирование переменной длины и арифметическое кодирование. В качестве кодирования переменной длины, определенного в стандарте H.264/AVC, приводится CAVLC (Context-Adaptive Variable Length Coding, контекстно адаптированное кодирование переменной длины). Примером арифметического кодирования является, например, САВАС (Context-Adaptive Binary Arithmetic Coding, контекстно адаптированное двоичное арифметическое кодирование).
Накопительный буфер 117 временно хранит кодированные данные (кодированные данные основного уровня), поданные от блока 116 кодирования без потерь. Накопительный буфер 117 выводит хранящиеся кодированные данные основного уровня, например, на устройство записи (носитель записи) или на путь прохождения передачи, не показанный в последней части, с заданной синхронизацией. Другими словами, накопительный буфер 117 является также блоком передачи, который передает кодированные данные.
Коэффициент преобразования, квантованный блоком 115 квантования, также подается на блок 118 инверсного квантования. Блок 118 инверсного квантования инверсно квантует квантованный коэффициент преобразования способом, соответствующим квантованию блоком 115 квантования. Блок 118 инверсного квантования подает полученный коэффициент преобразования на блок 119 инверсного ортогонального преобразования.
Блок 119 инверсного ортогонального преобразования выполняет инверсное ортогональное преобразование коэффициента преобразования, поданного от блока 118 инверсного квантования, способом, соответствующим процессу ортогонального преобразования, выполняемому блоком 114 ортогонального преобразования. Выходной результат, подвергнутый инверсному ортогональному преобразованию (восстановленная разностная информация), подается на блок 120 вычислений.
Блок 120 вычислений добавляет предсказанное изображение, поданное от блока 124 внутрикадрового предсказания или от блока 125 предсказания/компенсации движения через блок 126 выбора предсказанного изображения, к восстановленной разностной информации, соответствующей результату процесса инверсного ортогонального преобразования, полученному от блока 119 инверсного ортогонального преобразования, получая, таким образом, локально декодированное изображение (декодированное изображение). Декодированное изображение подается на контурный фильтр 121 или в кадровую память 122.
Контурный фильтр 121 содержит деблокирующий фильтр или адаптивный контурный фильтр и т.п. и, при необходимости, фильтрует реконструированное изображение, поданное от блока 120 арифметических операций. Например, контурный фильтр 121 удаляет блочное искажение реконструированного изображения посредством деблокирующей фильтрации реконструированного изображения. Кроме того, например, контурный фильтр 121 улучшает качество изображения посредством контурной фильтрации результата процесса деблокирующей фильтрации (реконструированного изображения, из которого удалено блочное искажение) используя фильтр Винера (Wiener Filter). Контурный фильтр 121 подает результат процесса фильтрации (здесь далее упоминается как декодированное изображение) в кадровую память 122.
Контурный фильтр 121 может выполнять для реконструированного изображения и любой другой процесс фильтрации. Контурный фильтр 121 может подавать информацию, такую как коэффициент фильтра, используемый для фильтрации, на блок 116 кодирования без потерь, когда это необходимо, чтобы кодировать информацию.
Кадровая память 122 сохраняет поданное декодированное изображение и подает хранящееся декодированное изображение в качестве опорного изображения на блок 123 выбора в заданный момент времени.
Более конкретно, кадровая память 122 хранит реконструированное изображение, поданное от блока 120 вычислений, и декодированное изображение, поданное от контурного фильтра 121. Кадровая память 122 подает хранящееся реконструированное изображение на блок 124 внутрикадрового предсказания через блок 123 выбора в заданный момент времени или по запросу извне, например, от блока 124 внутрикадрового предсказания. Кадровая память 122 подает хранящееся декодированное изображение на блок 125 предсказания/компенсации движения через блок 123 выбора в заданный момент времени или по запросу извне, например, от блока 125 предсказания/компенсации движения.
Блок 123 выбора выбирает место назначения для подачи опорного изображения из кадровой памяти 122. Например, в случае внутрикадрового предсказания блок 123 выбора подает опорное изображение из кадровой памяти 122 (пиксельное значение в текущей картинке) на блок 124 внутрикадрового предсказания. С другой стороны, в случае межкадрового предсказания блок 123 выбора подает опорное изображение из кадровой памяти 122 на блок 125 предсказания/компенсации движения.
Блок 124 внутрикадрового предсказания выполняет внутрикадровое предсказание (предсказание в пределах экрана), чтобы сформировать предсказанное изображение, используя пиксельное значение в текущей картинке, которая является опорным изображением, подаваемым из кадровой памяти 122 через блок 123 выбора. Блок 124 внутрикадрового предсказания выполняет внутрикадровое предсказание во множестве подготовленных заранее режимов внутрикадрового предсказания.
Блок 124 внутрикадрового предсказания формирует предсказанное изображение во всех возможных режимах внутрикадрового предсказания, оценивает значение функции стоимости каждого предсказанного изображения, используя входное изображение, поданное из буфера 112 перегруппировки экрана, и затем выбирает оптимальный режим. После выбора оптимального режима внутрикадрового предсказания, блок 124 внутрикадрового предсказания подает предсказанное изображение, сформированное в этом оптимальном режиме, на блок 126 выбора предсказанного изображения.
Как описано выше, блок 124 внутрикадрового предсказания, при необходимости, подает информацию о режиме внутрикадрового предсказания, указывающую использованный режим внутрикадрового предсказания, на блок 116 кодирования без потерь, где информация кодируется.
Блок 125 предсказания/компенсации движения выполняет предсказание движения (межкадровое предсказание), используя входное изображение, поданное из буфера 112 перегруппировки экрана, и опорное изображение, поданное из кадровой памяти 122 через блок 123 выбора. Блок 125 предсказания/компенсации движения формирует предсказанное изображение (информацию о межкадрового предсказанном изображении) через процесс компенсации движения в соответствии с обнаруженным вектором движения. Блок 125 предсказания/компенсации движения выполняет такое межкадровое предсказание во множестве подготовленных режимов межкадрового предсказания.
Блок 125 предсказания/компенсации движения формирует предсказанное изображение во всех возможных режимах межкадрового предсказания. Блок 125 предсказания/компенсации движения оценивает значение функции стоимости каждого предсказанного изображения, используя информацию, содержащую входное изображение, поданное из буфера 112 перегруппировки экрана, и сформированный разностный вектор движения, и затем выбирает оптимальный режим. После выбора оптимального режима межкадрового предсказания, блок 125 предсказания/компенсации движения подает предсказанное изображение, сформированное в этом оптимальном режиме, на блок 126 выбора предсказанного изображения.
Блок 125 предсказания/компенсации движения подает информацию, представляющую использованный режим межкадрового предсказания, и информацию, требующуюся для выполнения процесса в режиме межкадрового предсказания во время декодирования кодированных данных, на блок 116 кодирования без потерь, где информация кодируется. Необходимая информация содержит, например, информацию о сформированном разностном векторе движения и флаг, представляющий индекс предсказания вектора движения в качестве информации предсказания вектора движения.
Блок 126 выбора предсказанного изображения выбирает источник подачи, из которого предсказанное изображение подается на блок 113 вычислений или на блок 120 вычислений. Например, в случае внутрикадрового кодирования блок 126 выбора предсказанного изображения выбирает блок 124 внутрикадрового предсказания в качестве источника, из которого подается предсказанного изображения, и подает предсказанное изображение, подаваемое от блока 124 внутрикадрового предсказания, на блок 113 вычислений или на блок 120 вычислений. Например, в случае межкадрового кодирования блок 126 выбора предсказанного изображения выбирает блок 125 предсказания/компенсации движения в качестве источника, из которого подается предсказанного изображения, и подает предсказанное изображение, подаваемое от блока 125 предсказания/компенсации движения, на блок 113 вычислений или на блок 120 вычислений.
Блок 127 управления скоростью управляет скоростью операции квантования блока 115 квантования, основываясь на объеме кода кодированных данных, накопленных в накопительном буфере 117, так что переполнение или недостаточное наполнение не происходит.
Кадровая память 122 подает хранящееся декодированное изображение на блок 104 управления межуровневым предсказанием в качестве информации, связанной с кодированием основного уровня.
Блок кодирования изображения улучшенного уровня
На фиг. 11 представлена блок-схема примера основной структуры блока 105 кодирования изображения улучшенного уровня, показанного на фиг. 9. Как показано на фиг. 11, блок 105 кодирования изображения улучшенного уровня имеет структуру, в основном, схожую с блоком 103 кодирования изображения основного уровня, показанным с фиг. 10.
Однако, каждый блок блока 105 кодирования изображения улучшенного уровня выполняет процесс для кодирования информации изображения улучшенного уровня вместо основного уровня. Другими словами, A/D-преобразователь 111 блока 105 кодирования изображения улучшенного уровня выполняет A/D-преобразование информации изображения улучшенного уровня и накопительный буфер 117 блока 105 кодирования изображения улучшенного уровня выводит кодированные данные улучшенного уровня, например, на путь прохождения передачи или на устройство записи (носитель для записи) на последнем этапе, который не показан.
Блок 105 кодирования изображения улучшенного уровня имеет блок 135 предсказания/компенсации движения вместо блока 125 предсказания/компенсации движения.
Блок 135 предсказания/компенсации движения может выполнять предсказание движения между основными уровнями в дополнение к предсказанию движения между картинками, как это проводится блоком 125 предсказания/компенсации движения. Блок 135 предсказания/компенсации движения получает информацию, связанную с кодированием основного уровня, поданную от блока 104 управления межуровневым предсказанием (например, декодированное изображение основного уровня). Блок 135 предсказания/компенсации движения выполняет предсказание движения основных уровней, используя информацию, связанную с кодированием основного уровня, в качестве одного из возможных режимов межкадрового предсказания.
Блок формирования общей информации и блок управления межуровневым предсказанием
На фиг. 12 представлена блок-схема примера основной структуры блока 101 формирования общей информации и блока 104 управления межуровневым предсказанием, показанных на фиг. 9.
Как показано на фиг. 12, блок 101 формирования общей информации содержит блок 141 установки максимального количества основных уровней, блок 142 установки максимального количества подуровней и блок 143 установки максимального подуровня для исполнения межуровневого предсказания. Кроме того, блок 104 управления межуровневым предсказанием содержит блок 151 управления выполнения межуровневым предсказанием и буфер 152 информации, связанной с кодированием.
Блок 141 установки максимального количества основных уровней устанавливает информацию (max_layer_minusl), представляющую максимальное количество основных уровней. Блок 142 установки максимального количества основных уровней устанавливает информацию (max_layer_rninusl), представляющую максимальное количество основных уровней. Блок установки максимального подуровня для исполнения межуровневого предсказания устанавливает информацию (max_sub_layer_for_inter_layer_prediction[i]), указывающую наивысший подуровень среди подуровней, для которого разрешается межуровневое предсказание текущего основного уровня.
Блок 101 формирования общей информации выводит эти фрагмены информации из устройства 100 масштабируемого кодирования в качестве общей информации (набор видеопараметров (VPS)). Кроме того, блок 101 формирования общей информации подает сформированную общую информацию (набор видеопараметров (VPS)) на блок 102 управления кодированием. Дополнительно, блок 101 формирования общей информации подает на блок 104 управления межуровневым предсказанием информацию (max_sub_layer_for_inter_layer_prediction[i]), указывающую наивысший подуровень среди подуровней, для которого разрешается межуровневое предсказание текущего основного уровня.
Блок 151 управления выполнением межуровневого предсказания управляет выполнением межуровневого предсказания, основываясь на общей информации, подаваемой от блока 101 формирования общей информации. Более конкретно, блок 151 управления межуровневым предсказанием управляет буфером 152 информации, связанной с кодированием, основываясь на информации (max_sub_layer_for_inter_layer_prediction[i]), подаваемой от блока 101 формирования общей информации и указывающей наивысший подуровень среди подуровней, для которого разрешается межуровневое предсказание.
Буфер 152 информации, связанной с кодирование собирает и хранит информацию, связанную с кодированием основного уровня, поданную от блока 103 кодирования изображения основного уровня (например, декодированного изображения основного уровня). Буфер 152 информации, связанной с кодированием, подает хранящуюся информацию, связанную с кодированием основного уровня, на блок 105 кодирования изображения улучшенного уровня в соответствии с управлением блока 151 управления межуровневым предсказанием.
Блок 151 управления выполнением межуровневого предсказания управляет подачей информации, связанной с кодированием основного уровня, из буфера 152 информации, связанной с кодированием. Например, если в информации (max_sub_layer_for_inter_layer_prediction[i]), которая указывает наивысший подуровень из числа подуровней, для которых разрешается межуровневое предсказание, разрешается межуровневое предсказание текущего подуровня, блок 151 управления исполнением межуровневого предсказания подает информацию, связанную с кодированием основного уровня, хранящуюся в буфере 152 информации, связанной с кодированием (например, декодированное изображение основного уровня), для текущего подуровня, на блок 105 кодирования изображения улучшенного уровня.
Например, если в информации (max_sub_layer_for_inter_layer_prediction[i]), которая указывает наивысший подуровень из числа подуровней, для которых разрешается межуровневое предсказание, разрешается межуровневое предсказание текущего подуровня, блок 151 управления исполнением межуровневого предсказания не подает информацию, связанную с кодированием основного уровня, хранящуюся в буфере 152 информации, связанной с кодированием (например, декодированное изображение основного уровня), для текущего подуровня, на блок 105 кодирования изображения улучшенного уровня.
Устройство 100 масштабируемого кодирования передает информацию управления межуровневым предсказанием, которая управляет межуровневым предсказанием, используя подуровень; поэтому ухудшение эффективности кодирования посредством управления межуровневым предсказанием может быть уменьшено. Соответственно, устройство 100 масштабируемого кодирования может уменьшать ухудшение качества изображения из-за кодирования/декодирования.
Последовательность выполнения процесса кодирования
Далее описывается последовательность поток операций каждого процесса, выполняемого устройством 100 масштабируемого кодирования, как описано выше. Сначала со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 13, будет описан пример последовательности выполнения операций процесса кодирования.
После начала процесса кодирования на этапе S101, блок 101 формирования общей информации устройства 100 масштабируемого кодирования формирует общую информацию. На этапе S102 блок 102 управления кодированием обрабатывает первый основной уровень.
На этапе S103 блок 102 управления кодированием определяет, должен ли обрабатываться текущий основной уровень, основываясь на общей информации, сформированной на этапе S101. Если было определено, что текущий основной уровень является базовым уровнем, процесс переходит к этапу S104.
На этапе S104 блок 103 кодирования изображения основного уровня выполняет процесс кодирования основного уровня. После окончания процесса на этапе S104 процесс переходит к этапу S108.
На этапе S103, если было определено, что текущий основной уровень является улучшенным уровнем, процесс переходит к этапу S105. На этапе S105 блок 102 управления кодированием определяет основной уровень, соответствующий (то есть, используемый в качестве опорного места назначения) текущему основному уровню.
На этапе S106 блок 104 управления межуровневым предсказанием выполняет процесс управления межуровневым предсказанием.
На этапе S107 блок 105 кодирования изображения улучшенного уровня выполняет процесс кодирования улучшенного уровня. После окончания процесса на этапе S107 процесс переходит к этапу S108.
На этапе S108 блок 102 управления кодированием определяет, все ли основные уровни были обработаны. Если определено, что все еще существует необработанный основной уровень, то процесс переходит к этапу S109.
На этапе S109 блок 102 управления кодированием обрабатывает следующий необработанный основной уровень (текущий основной уровень). После окончания процесса на этапе S109 процесс возвращается к этапу S103. Переход от этапа S103 к этапу S109 повторяется, чтобы кодировать основные уровни.
Если определено, что все основные уровни уже обработаны на этапе S108, то процесс кодирования заканчивается.
Последовательность выполнения операций процесса формирования общей информации
Далее, со ссылкой на блок-схему последовательности выполнения операций процесса, показанную на фиг. 14, будет описан пример последовательности выполнения операций процесса формирования общей информации, исполняемого на этапе S101, показанном на фиг. 13.
После начала процесса формирования общей информации блок 141 установки максимального количества основных уровней на этапе S121 устанавливает параметр (max_layer_minusl). На этапе S122 блок 142 установки максимального количества подуровней устанавливает параметр (vps_max_sub_layers_minusl). На этапе S123 блок 143 установки максимального подуровня для исполнения межуровневого предсказания устанавливает параметр (max_sub_layer_for_inter_layer_prediction[i]) для каждого основного уровня.
На этапе S124 блок 101 формирования общей информации формирует набор видеопараметров, содержащий набор параметров этапов S121-S123, в качестве общей информации.
На этапе S125 блок 101 формирования общей информации подает набор видеопараметров, сформированный в процессе на этапе S124, на блок 102 управления кодированием и из устройства 100 масштабируемого кодирования. Кроме того, блок 101 формирования общей информации подает параметр (max_sub_layer_for_inter_layer_prediction[i]), установленный на этапе S123, на блок 104 управления межуровневым предсказанием.
После окончания процесса на этапе S125 процесс формирования общей информации заканчивается и процесс переходит к фиг. 13.
Последовательность выполнения процесса кодирования основного уровня
Далее, со ссылкой на блок-схему последовательности выполнения операций процесса, показанную на фиг. 15, будет описан пример последовательности выполнения операций процесса кодирования основного уровня, исполняемого на этапе S104, показанном на фиг. 13.
На этапе S141 A/D-преобразователь 111 блока 103 кодирования основного уровня выполняет A/D-преобразование информации входного изображения (данных изображения) основного уровня. На этапе S142 буфер 112 перегруппировки экрана сохраняет информацию изображения (цифровые данные) основного уровня, подвергнутую A/D-преобразованию, и перегруппирует картинки из порядка отображения в порядок кодирования.
На этапе S143 блок 124 внутрикадрового предсказания выполняет процесс внутрикадрового предсказания в режиме внутрикадрового предсказания. На этапе S144 блок 125 предсказания/компенсации движения выполняет процесс предсказания/компенсации движения для выполнения предсказания движения или компенсации движения в режиме межкадрового предсказания. На этапе S145 блок 126 выбора предсказанного изображения определяет оптимальный режим, основываясь на каждом из значений функции стоимости, полученных от блока 124 внутрикадрового предсказания и блока 125 предсказания/компенсации движения. Другими словами, блок 126 выбора предсказанного изображения выбирает либо предсказанное изображение, сформированное блоком 124 внутрикадрового предсказания, либо предсказанное изображение, сформированное блоком 125 предсказания/компенсации движения. На этапе S146 блок 113 вычислений вычисляет разность между изображением, перегруппированным в процессе, выполняемом на этапе S142, и предсказанным изображением, выбранным в процессе на этапе S145. Разностные данные содержат меньше фрагментов данных, чем данные исходного изображения. Следовательно, по сравнению с кодированием неизмененных исходных изображения, объем данных может быть сжат.
На этапе S147 блок 114 ортогонального преобразования выполняет процесс ортогонального преобразования для разностной информации, сформированной процессом на этапе S146. На этапе S148 блок 115 квантования квантует коэффициент ортогонального преобразования, полученный процессом на этапе S147, используя параметр квантования, вычисленный блоком 127 управления скоростью.
Разностная информация, квантованная посредством процесса на этапе S148, локально декодируется следующим образом. Другими словами, на этапе S149 квантованный коэффициент (также упоминаемый как коэффициент квантования), сформированный процессом на этапе S148, является инверсно квантованным блоком 118 инверсного квантования с характеристиками, соответствующими характеристикам блока 115 квантования. На этапе S150 блок 119 инверсного ортогонального преобразования выполняет ортогональное преобразование для коэффициента ортогонального преобразования, полученного процессом, представленным на этапе S147. На этапе S151 блок 120 вычислений добавляет предсказанное изображение к локально декодированной разностной информации, чтобы, таким образом, сформировать локально декодированное изображение (изображение, соответствующее изображению, введенному в блок 113 вычислений).
На этапе S152 контурный фильтр 121 фильтрует изображение, сформированное процессом на этапе S151, удаляя, таким образом, блочное искажение и т.п. На этапе S153 кадровая память 122 сохраняет изображение, из которого в процессе на этапе S152 были удалены блочное искажение и т.п. Заметим, что изображение, не подвергнутое процессу фильтрации контурным фильтром 121, также подается от блока 120 вычислений для хранения в кадровую память 122. Изображение, сохраненное в кадровой памяти 122, используется в процессе на этапе S143 или на этапе S144.
На этапе S154 кадровая память 122 подает хранящееся в ней изображение на блок 104 управления межуровневым предсказанием в качестве информации, связанной с кодированием основного уровня, и запоминает в нем информацию.
На этапе S155 блок 116 кодирования без потерь кодирует коэффициент, квантованный в процессе на этапе S148. Другими словами, данные, соответствующие разностному изображению, подвергаются кодированию без потерь, такому как кодирование переменной длины или арифметическое кодирование.
В этом случае, блок 116 кодирования без потерь кодирует информацию, связанную с режимом предсказания предсказанного изображения, выбранного в процессе на этапе S145, и суммирует информацию с кодированными данными, полученными при кодировании разностного изображения. Другими словами, блок 116 кодирования без потерь кодирует информацию об оптимальном режиме внутрикадрового предсказания, поданную от блока 124 внутрикадрового предсказания, или информацию, соответствующую оптимальному режиму межкадрового предсказания, поданную от блока 125 компенсации/предсказания движения, и суммирует информацию с кодированными данными.
На этапе S156 накопительный буфер 117 накапливает кодированные данные основного уровня, полученные в процессе на этапе S155. Кодированные данные основного уровня, накопленные в накопительном буфере 117, считываются при необходимости и передается на сторону декодирования через путь прохождения передачи или на носитель записи.
На этапе S157 блок 127 управления скоростью управляет скоростью операции квантования блока 115 квантования, основываясь на объеме кодированных данных (объеме сформированного кода), накопленных в накопительном буфере 117 в процессе на этапе S156, так чтобы не допустить переполнение или недостаточное заполнение. Кроме того, блок 127 управления скоростью подает на блок 115 кантования информацию, связанную с параметром квантования.
После окончания процесса на этапе S157 процесс кодирования основного уровня заканчивается и процесс переходит к фиг. 13. Процесс кодирования основного уровня выполняется, например, в блоке картинки. Другими словами, каждая картинка текущего уровня подвергается кодированию основного уровня. Однако каждый процесс в процессе кодирования основного уровня выполняется в блоке каждого процесса.
Последовательность выполнения операций процесса управления межуровневым предсказанием
Далее, со ссылкой на блок-схему последовательности выполнения операций процесса, показанную на фиг. 16, описывается пример последовательности выполнения операций процесса управления межуровневым предсказанием, исполняемого на этапе S106, показанном на фиг. 13,.
После начала процесса управления межуровневым предсказанием, блок 151 управления исполнением межуровневого предсказания на этапе S171 обращается к параметру (max_sub_layer_for_inter_layer_prediction[i]), подаваемому от блока 101 формирования общей информации с помощью процесса формирования межуровневой информации, показанного на фиг. 14.
На этапе S172 блок 151 управления исполнением межуровневого предсказания, основываясь на значении параметра, определяет, является ли подуровень текущей картинки уровнем, для которого выполняется межуровневое предсказание. Если определено, что уровень, указанный параметром (max_sub_layer_for_inter_layer_prediction[i]), является более высоким подуровнем, чем текущий подуровень, и межуровневое предсказание в текущем подуровне разрешено для этого подуровня, процесс переходит к этапу S173.
На этапе S173 блок 151 управления выполнением межуровневого предсказания управляет буфером 152 информации, связанной с кодированием, чтобы подать информацию, связанную с кодированием основного уровня, хранящуюся в буфере 152 информации, связанной с кодированием, на блок 105 кодирования изображения улучшенного уровня. После окончания процесса на этапе S173 процесс управления межуровневым предсказанием заканчивается и процесс переходит к фиг. 13.
Если определено, что межуровневое предсказание в текущем подуровне на этапе S172 не разрешено, информация, относящаяся к кодированию основного уровня, не подается и процесс управления межуровневым предсказанием заканчивается; таким образом, процесс возвращается к фиг. 13. Другими словами, при кодировании в этом текущем подуровне межуровневое предсказание не выполняется.
Последовательность выполнения операций процесса кодирования улучшенного уровня
Далее, со ссылкой на блок-схему последовательности выполнения операций процесса, показанную на фиг. 17, будет описан пример последовательности выполнения операций процесса кодирования улучшенного уровня, исполняемого на этапе S107, показанном на фиг. 17.
Каждый процесс на этапах S191-S193 и этапах S195-S206 в процесс кодирования улучшенного уровня выполняется подобно каждому процессу на этапах S141-S143, этапах S145-S153 и этапах S155-S157 в процессе кодирования основного уровня. Однако, каждый процесс в процессе кодирования улучшенного уровня выполняется для информации изображения улучшенного уровня каждым блоком процесса в блоке 105 кодирования изображения улучшенного уровня.
На этапе S194 блок 135 предсказания/компенсации движения выполняет процесс предсказания/компенсации движения для информации изображения улучшенного уровня.
После окончания процесса на этапе S206 процесс кодирования улучшенного уровня заканчивается и процесс возвращается к фиг. 13. Процесс кодирования улучшенного уровня выполняется, например, в блоке картинки. Другими словами, каждая картинка текущего уровня подвергается процессу кодирования улучшенного уровня. Однако каждый процесс в процессе кодирования улучшенного уровня выполняется в блоке каждого процесса.
Последовательность выполнения операций процесса предсказания/компенсации движения
Далее, со ссылкой на блок-схему последовательности выполнения операций процесса, показанную на фиг. 18, будет описан пример последовательности выполнения операций процесса предсказания/компенсации движения, выполняемого на этапе S1941, показанном на фиг. 17.
После начала процесса предсказания/компенсации движения блок 135 предсказания/компенсации движения выполняет предсказание движения в текущем основном уровне на этапе S221.
На этапе S222 блок 135 предсказания/компенсации движения определяет, выполнять ли межуровневое предсказание для текущей картинки. Информация, относящаяся к кодированию основного уровня, подается от блока 104 управления межуровневым предсказанием и, если определено, что межуровневое предсказание выполняется, процесс переходит к этапу S223.
На этапе S223 блок 135 предсказания/компенсации движения получает информацию, связанную с кодированием основного уровня, поданную от блока 104 управления межуровневым предсказанием. На этапе S224 блок 135 предсказания/компенсации движения выполняет межуровневое предсказание, используя информацию, полученную на этапе S223. После окончания процесса на этапе S224 процесс переходит к этапу S225.
Если на этапе S222 определено, что информация, относящаяся к кодированию основного уровня, не подается от блока 104 управления межуровневым предсказанием и межуровневое предсказание не выполняется, межуровневое предсказание для текущей картинки пропускается и процесс переходит к этапу S225.
На этапе S225 блок 135 предсказания/компенсации движения вычисляет значение функции стоимости в отношении каждого режима предсказания. На этапе S226 блок 135 предсказания/компенсации движения выбирает оптимальный режим межкадрового предсказания, основываясь на значение функции стоимости.
На этапе S227 блок 135 предсказания/компенсации движения формирует предсказанное изображение, выполняя компенсацию движения в оптимальном режиме межуровневого предсказания, выбранном на этапе S226. На этапе S228 блок 135 предсказания/компенсации движения формирует информацию, относящуюся к межкадровому предсказанию в отношении оптимального режима межкадрового предсказания.
После окончания процесса на этапе S228 процесс предсказания/компенсации движения заканчивается и процесс возвращается к фиг. 17. Таким образом, при необходимости выполняется процесс предсказания/компенсации движения, который использует межуровневое предсказание. Этот процесс выполняется ,например, в единичном блоке блока. Однако, каждый процесс в процессе предсказания/компенсации движения в единичном блоке в каждом процессе.
Выполняя каждый процесс так, как описано выше, устройство 100 масштабируемого кодирования может уменьшать ухудшение эффективности кодирования и качества изображения из-за кодирования и декодирования.
2. Второй вариант осуществления
Устройство масштабируемого декодирования
Далее описывается декодирование кодированных данных (битового потока), подвергнутого масштабируемому кодированию (межуровневому кодированию), как описано выше. На фиг. 19 представлена блок-схема примера основной структуры устройства масштабируемого декодирования изображения, соответствующего устройству 100 масштабируемого кодирования, показанному на фиг. 9. Устройство 200 масштабируемого декодирования, показанное на фиг. 19, с применением масштабирования декодирует кодированные данные, полученные посредством масштабируемого кодирования данных изображения устройством 100 масштабируемого кодирования, например, способом, соответствующим способу кодирования.
Как показано на фиг. 19, устройство 200 масштабируемого декодирования содержит блок 201 получения общей информации, блок 202 управления декодированием, блок 203 декодирования изображения основного уровня, блок 204 управления межуровневым предсказанием и блок 205 декодирования изображения улучшенного уровня.
Блок 201 получения общей информации собирает общую информацию (такую как набор видеопараметров (VPS)), переданную со стороны кодирования. Блок 201 получения общей информации извлекает информацию, относящуюся к декодированию, из собранной общей информации и подает информацию на блок 202 управления декодированием. Блок 201 получения общей информации, при необходимости, подает некоторые или все фрагменты общей информации на блок 203 декодирования изображения основного уровня и на блок 205 декодирования изображения улучшенного уровня.
Блок 202 управления декодированием собирает информацию, относящуюся к декодированию, поданную от блока 201 получения общей информации, и, основываясь на этой информации, управляет блоком 203 декодирования изображения основного уровня и блоком 205 декодирования изображения улучшенного уровня, управляя, таким образом, декодированием каждого основного уровня.
Блок 203 декодирования изображения основного уровня является блоком декодирования изображения, соответствующим блок 103 кодирования изображения основного уровня, и, например, собирает кодированные данные основного уровня, полученные кодированием информации основного уровня с помощью блока 103 кодирования изображения основного уровня. Блок 203 декодирования изображения основного уровня декодирует кодированные данные основного уровня без ссылки на другие уровни и реконструирует и выводит информацию изображения основного уровня. Блок 203 декодирования изображения основного уровня подает информацию, связанную с декодированием основного уровня, полученную декодированием, на блок 204 управления межуровневым предсказанием.
Блок 204 управления межуровневым предсказанием управляет выполнением межуровневого предсказания блоком 205 декодирования изображения улучшенного уровня. Блок 204 управления межуровневым предсказанием собирает и сохраняет информацию, связанную с декодированием основного уровня, поданную от блока 203 декодирования изображения основного уровня. Кроме того, блок 204 управления межуровневым предсказанием подает на блок 205 декодирования изображения улучшенного уровня хранящуюся информацию, относящуюся к декодированию основного уровня, при декодировании подуровня, для которого разрешается межуровневое предсказание.
Блок 205 декодирования изображения улучшенного уровня является блоком декодирования изображения, соответствующим блок 105 кодирования изображения улучшенного уровня, и, например, собирает кодированные данные улучшенного уровня, полученные кодированием информации изображения улучшенного уровня с помощью блока 105 кодирования изображения улучшенного уровня. Блок 205 декодирования изображения улучшенного уровня декодирует кодированные данные улучшенного уровня. В этом случае, блок 205 декодирования изображения улучшенного уровня выполняет межуровневое предсказание со ссылкой на информацию, относящуюся к декодированию основного уровня, в соответствии с управлением, выполняемым блоком 204 управления межуровневым предсказанием. Более конкретно, например, если текущий подуровень, который должен обрабатываться, является подуровнем, для которого разрешается межуровневое предсказание, блок 205 кодирования изображения улучшенного уровня собирает информацию, относящуюся к декодированию основного уровня, поданную от блока 204 управления межуровневым предсказанием, выполняет межуровневое предсказание со ссылкой на информацию и декодирует кодированные данные улучшенного уровня, используя результат предсказания. С другой стороны, если текущий подуровень является подуровнем, для которого межуровневое предсказание запрещается, блок 205 декодирования изображения улучшенного уровня декодирует кодированные данные улучшенного уровня без выполнения межуровневого предсказания. Осуществляя кодирование, как описано выше, блок 205 декодирования изображения улучшенного уровня реконструирует информацию изображения улучшенного изображения и выводит информацию.
Блок декодирования изображения основного уровня
На фиг. 20 представлена блок-схема примера основной структуры блока 203 декодирования изображения основного уровня, показанного на фиг. 19. Как показано на фиг. 20, блок 203 декодирования изображения основного уровня содержит накопительный буфер 211, блок 212 декодирования без потерь, блок 213 инверсного квантования, блок 214 инверсного ортогонального преобразования, блок 215 вычислений, контурный фильтр 216, буфер 217 перегруппировки экрана и блок 218 цифро-аналогового (D/A) преобразователя. Блок 203 декодирования изображения основного уровня содержит кадровую память 219, блок 220 выбора, блок 221 внутрикадрового предсказания, блок 222 компенсации движения и блок 223 выбора.
Накопительный буфер 211 также служит в качестве приемного блока, который принимает переданные кодированные данные основного уровня. Накопительный буфер 211 принимает и накапливает переданные кодированные данные основного уровня и подает кодированные данные на блок 212 декодирования без потерь в заданные моменты времени. Кодированные данные основного уровня содержат информацию, необходимую для декодирования, такую как информация о режиме предсказания.
Блок 212 декодирования без потерь декодирует информацию, поданную от накопительного буфера 211 и кодированную блоком 116 кодирования без потерь, используя способ, соответствующий способу кодирования блока 116 кодирования без потерь. Блок 212 декодирования без потерь подает данные коэффициента, полученные квантованием декодированного разностного изображения, на блок 213 инверсного квантования.
Более того, блок 212 декодирования без потерь извлекает и собирает блок NAL, в том числе, например, набор видеопараметров (VPS), набор параметров последовательности (SPS) и набор параметров картинки (PPS), содержащиеся в кодированных данных основного уровня. Блок 212 декодирования без потерь извлекает информацию, относящуюся к оптимальному режиму предсказания, из этих фрагментов информации и определяет, какой из режимов, режим внутрикадрового предсказания или режим межкадрового предсказания, был выбран в качестве оптимального режима предсказания, основываясь на информации. Затем блок 212 декодирования без потерь подает информацию, относящуюся к оптимальному режиму предсказания, на блок 221 внутрикадрового предсказания или на блок 222 компенсации движения в зависимости от выбранного режима. Другими словами, например, в случае, когда в блоке 103 кодирования изображения основного уровня режим внутрикадрового предсказания был выбран в качестве оптимального режима предсказания, информация, относящаяся к этому оптимальному режиму предсказания, подается на блок 221 внутрикадрового предсказания. С другой стороны, в случае, когда в блоке 103 кодирования изображения основного уровня режим межкадрового предсказания был выбран в качестве оптимального режима предсказания, информация, относящаяся к этому оптимальному режиму предсказания, подается на блок 222 компенсации движения.
Дополнительно, блок 212 декодирования без потерь извлекает информацию, необходимую для инверсного квантования, такую как матрица квантования или параметр квантования, из блока NAL или т.п., и подает информацию на блок 213 инверсного квантования.
Блок 213 инверсного квантования инверсно квантует данные квантованного коэффициента, полученные декодированием блоком 212 декодирования без потерь способом, соответствующим способу квантования блока 115 квантования. Заметим, что блок 213 инверсного квантования является процессорным блоком, подобным блоку 118 инверсного квантования. Поэтому описание блока 213 инверсного квантования может также применяться к блоку 118 инверсного квантования. Однако, при необходимости, данные ввода и вывода места назначения необходимо устанавливать в соответствии с устройством. Блок 213 инверсного квантования подает полученные данные коэффициента на блок 214 инверсного ортогонального преобразования.
Блок 214 инверсного ортогонального преобразования выполняет инверсное ортогональное преобразование данных коэффициента, поданных от блока 213 инверсного квантования, способом, соответствующим способу ортогонального преобразования, выполняемому блоком 114 ортогонального преобразования. Заметим, что блок 214 инверсного ортогонального преобразования является процессорным блоком, подобным блоку 119 инверсного ортогонального преобразования. Другими словами, описание блока 214 инверсного ортогонального преобразования может применяться к блоку 119 инверсного ортогонального преобразования. Однако, при необходимости, данные ввода и вывода места назначения необходимо устанавливать в соответствии с устройством.
Посредством процесса инверсного ортогонального преобразования, блок 214 инверсного ортогонального преобразования получает декодированные остаточные данные, соответствующие остаточным данным перед выполнением ортогонального преобразования в блоке 114 ортогонального преобразования. Декодированные остаточные данные, полученные при инверсном ортогональном преобразовании, подаются на блок 215 вычислений. На блок 215 вычислений предсказанное изображение подается от блока 221 внутрикадрового предсказания или от блока 222 компенсации движения через блок 223 выбора.
Блок 215 вычислений суммирует декодированные остаточные данные и предсказанное изображение, получая, таким образом, данные декодированного изображения, соответствующие данным изображения до вычитания предсказанного изображения блоком 113 вычислений. Блок 215 вычислений подает декодированные данные изображения на контурный фильтр 216.
Контурный фильтр 216, при необходимости, выполняет процесс фильтрации с помощью деблокирующего фильтра, адаптивного контурного фильтра и т.п. для поданного декодированного изображения и подает полученное изображение на буфер 217 перегруппировки экрана и в кадровую память 219. Например, контурный фильтр 216 удаляет блочное искажение декодированного изображения посредством выполнения процесса деблокирующей фильтрации для декодированного изображения. Дополнительно, контурный фильтр 216 улучшает изображение, выполняя процесс контурной фильтрации результата процесса деблокирующей фильтрации (декодированного изображения, из которого удалено блочное искажение) используя фильтр Винера (Wiener Filter). Заметим, что контурный фильтр 216 является процессорным блоком, подобным контурному фильтру 121.
Заметим, что декодированное изображение с выхода блока 215 вычислений может подаваться в буфер 217 перегруппировки экрана или в кадровую память 219, не проходя через контурный фильтр 216 между ними. Другими словами, процесс фильтрации контурным фильтром 216 может быть пропущен частично или полностью.
Буфер 217 перегруппировки экрана перегруппирует декодированные изображения. Другими словами, порядок кадров, перегруппированных в соответствии с порядком кодирования буфером 102 перегруппировки экрана, перегруппируется в первоначальный порядок отображения. D/A-преобразователь 218 осуществляет цифро-аналоговое преобразование изображения, поданного из буфера 217 перегруппировки экрана, и выводит изображение на дисплей, который не показан, где изображение отображается.
Кадровая память 219 сохраняет поданные декодированные изображения и подает хранящиеся декодированные изображения на блок 220 выбора в качестве опорных изображений в заданные моменты времени или на основе запроса извне, такого как от блока 221 внутрикадрового предсказания или блока 222 компенсации движения,
Кадровая память 219 подает хранящиеся декодированные изображения на блок 204 управления межуровневым предсказанием в качестве информации, связанной с декодированием основного уровня.
Блок 220 выбора выбирает место назначения для подачи опорных изображений из кадровой памяти 219. В случае декодирования внутрикадрового кодированного изображения, блок 220 выбора подает опорное изображение, поданное из кадровой памяти 219, на блок 221 внутрикадрового предсказания. С другой стороны, в случае декодирования межкадрового кодированного изображения, блок 220 выбора подает опорное изображение из кадровой памяти 219 на блок 222 компенсации движения.
В блоке 221 внутрикадрового предсказания информация, представляющая режим внутрикадрового предсказания, полученная декодированием информации заголовка и т.п., в зависимости от ситуации, подается от блока 212 декодирования без потерь. Блок 221 внутрикадрового предсказания выполняет внутрикадровое предсказание, используя опорное изображение, полученное из кадровой памяти 219, в режиме внутрикадрового предсказания, используемом в блоке 124 внутрикадрового предсказания, и формирует предсказанное изображение. Блок 221 внутрикадрового предсказания подает сформированное предсказанное изображение на блок 223 выбора.
Блок 222 компенсации движения собирает информацию, полученную декодированием информации заголовка (такой как информация об оптимальном режиме предсказания и информация об опорном изображении), от блока 212 декодирования без потерь.
Блок 222 компенсации движения выполняет компенсацию движения, используя опорное изображение, полученное из кадровой памяти 219, в режиме межкадрового предсказания, представленном информацией об оптимальном режиме предсказания, полученной от блока 212 декодирования без потерь, и формирует предсказанное изображение.
Блок 223 выбора подает предсказанное изображение от блока 221 внутрикадрового предсказания или предсказанное изображение от блока 222 компенсации движения на блок 215 вычислений. В блоке 215 вычислений предсказанное изображение, сформированное, используя вектор движения и декодированные остаточные данные (информация о разностном изображении) от блока 214 инверсного ортогонального преобразования, складываются, за счет чего получается исходное изображение.
Блок кодирования изображения улучшенного уровня
На фиг. 21 представлена блок-схема примера основной структуры блока 205 декодирования изображения улученного уровня, показанного на фиг. 19. Как показано на фиг. 21, блок 205 декодирования изображения улучшенного уровня имеет структуру, в основном, схожую с блоком 203 декодирования изображения основного уровня, показанным на фиг. 20.
Однако, каждый блок блока 205 декодирования изображения улучшенного уровня выполняет процесс для декодирования кодированных данных улучшенного уровня вместо основного уровня. Другими словами, накопительный буфер 211 блока 205 декодирования изображения улучшенного уровня сохраняет кодированные данные улучшенного уровня и D/A-преобразователь 218 блока 205 декодирования изображения улучшенного уровня выводит информацию изображения улучшенного уровня, например, на устройство записи (носитель для записи) или в тракт передачи на последнем этапе, который не показан.
Блок 205 декодирования изображения улучшенного уровня имеет блок 232 компенсации движения вместо блока 222 компенсации движения.
Блок 232 компенсации движения выполняет не только компенсацию движения между картинками, которая проводится блоком 222 компенсации движения, а также компенсацию движения между основными уровнями. В этом случае, блок 232 компенсации движения получает информацию (например, декодированное изображение основного уровня), связанную с декодированием основного уровня, поданную от блока 204 управления межуровневым предсказанием. Блок 232 компенсации движения выполняет компенсацию движения основного уровня, используя информацию, относящуюся к декодированию основного уровня.
Блок получения общей информации и блок управления межуровневым предсказанием
На фиг. 22 представлена блок-схема примера основной структуры блока 201 получения общей информации и блока 204 управления межуровневым предсказанием, показанных на фиг. 19.
Как показано на фиг. 22, блок 201 получения общей информации содержит блок 241 получения максимального количества основных уровней, блок 242 получения максимального количества подуровней и блок 243 получения максимального подуровня для выполнения межуровневого предсказания. Блок 204 управления межуровневым предсказанием содержит блок 251 управления выполнением межуровневого предсказания и буфер 252 информации, связанной с декодированием.
Блок 241 получения максимального количества основных уровней получает информацию (max_layer_minus1), представляющую максимальное количество основных уровней, содержащихся общей информации, переданной со стороны кодирования. Блок 242 получения максимального количества основных уровней получает информацию (vps_max_sub_layer_minus1), представляющую максимальное количество подуровней, содержащихся в общей информации, переданной со стороны кодирования. Блок 243 получения максимального подуровня для выполнения межуровневого предсказания получает информацию (max_sub_layer_for_inter_layer_prediction[i]), указывающую наивысший подуровень среди подуровней, для которого разрешается межуровневое предсказание текущего основного уровня, содержащуюся в общей информации, переданной со стороны кодирования.
Блок 201 получения общей информации подает информацию, относящуюся к декодированию, содержащуюся в собранной общей информации (такой как набор видеопараметров (VPS)), на блок 202 управления декодированием. Кроме того, блок 201 получения общей информации подает на блок 204 управления межуровневым предсказанием информацию (max_sub_layer_for_inter_layer_prediction[i]), указывающую наивысший подуровень среди подуровней, для которого разрешается межуровневое предсказание текущего основного уровня.
Блок 251 управления выполнением межуровневого предсказания управляет выполнением межуровневого предсказания, основываясь на общей информации, подаваемой от блока 201 получения общей информации. Более конкретно, блок 251 управления выполнением межуровневого предсказания управляет буфером 252 информации, связанной с декодированием, основываясь на информации (max_sub_layer_for_inter_layer_prediction[i]), подаваемой от блока 201 получения общей информации и указывающей наивысший подуровень среди подуровней, для которого разрешается межуровневое предсказание.
Буфер 252 информации, связанной с декодированием, собирает и хранит информацию (такую как декодированное изображение основного уровня) связанную с декодированием основного уровня, поданную от блока 203 декодирования изображения основного уровня. Буфер 252 информации, связанной с декодированием, подает хранящуюся информацию, связанную с кодированием основного уровня, на блок 205 декодирования изображения улучшенного уровня в соответствии с управлением от блока 251 управления выполнением межуровневого предсказания.
Блок 251 управления выполнением межуровневого предсказания управляет подачей информации, связанной с декодированием основного уровня, из буфера 252 информации, связанной с декодированием. Например, если в информации (max_sub_layer_for_inter_layer_prediction[i]), которая указывает наивысший подуровень из числа подуровней, для которых разрешается межуровневое предсказание, разрешается межуровневое кодирование текущего подуровня, блок 251 управления исполнением межуровневого предсказания подает информацию, связанную с декодированием основного уровня, хранящуюся в буфере 252 информации, связанной с декодированием (например, декодированное изображение основного уровня), для текущего подуровня, на блок 205 декодирования изображения улучшенного уровня.
С другой стороны, если в информации (max_sub_layer_for_inter_layer_prediction[i])5 которая указывает наивысший подуровень из числа подуровней, для которых разрешается межуровневое предсказание, не разрешается межуровневое кодирование текущего подуровня, блок 251 управления исполнением межуровневого предсказания не подает информацию, связанную с декодированием основного уровня, хранящуюся в буфере 252 информации, связанной с декодированием (например, декодированное изображение основного уровня), для текущего подуровня, на блок 205 декодирования изображения улучшенного уровня.
Таким образом, устройство 200 масштабируемого декодирования передает информацию управления межуровневым предсказанием, которая управляет межуровневым предсказанием, используя подуровень; поэтому ухудшение эффективности кодирования посредством управления межуровневым предсказанием может быть уменьшено. Соответственно, может уменьшать ухудшение качества изображения из-за кодирования и декодирования в блоке 200 масштабируемого декодирования.
Последовательность выполнения операций процесса декодирования
Далее описывается последовательность выполнения операций процессов, которые должны выполняться устройством 200 масштабируемого декодирования, как описано выше. Сначала со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 23, будет описан пример последовательности выполнения операций процесса декодирования.
После начала процесса декодирования на этапе S301, блок 201 получения общей информации устройства 200 масштабируемого декодирования собирает общую информацию. На этапе S302 блок 202 управления декодированием обрабатывает первый основной уровень.
На этапе S303 блок 202 управления декодированием определяет, является ли текущий основной уровень, который должен обрабатываться, основным уровнем, основываясь на общей информации, полученной на этапе S101, и должен ли он передаваться со стороны кодирования. Если было определено, что текущий основной уровень является основным уровнем, процесс переходит к этапу S304.
На этапе S304 блок 203 декодирования изображения основного уровня выполняет процесс декодирования основного уровня. После окончания процесса на этапе S304 процесс переходит к этапу S308.
Если на этапе S303 было определено, что текущий основной уровень является улучшенным уровнем, процесс переходит к этапу S305. На этапе S305 блок 202 управления декодированием определяет основной уровень (то есть, основной уровень, используемый в качестве опорного места назначения), соответствующий текущему основному уровню.
На этапе S306 блок 204 управления межуровневым предсказанием выполняет процесс управления межуровневым предсказанием.
На этапе S307 блок 205 декодирования изображения улучшенного уровня выполняет процесс декодирования улучшенного уровня. После окончания процесса на этапе S307 процесс переходит к этапу S308.
На этапе S308 блок 202 управления декодированием определяет, все ли основные уровни были обработаны. Если определено, что все еще существует необработанный основной уровень, то процесс переходит к этапу S309.
На этапе S309 блок 202 управления декодированием обрабатывает следующий необработанный основной уровень (текущий основной уровень). После окончания процесса на этапе S309 процесс возвращается к этапу S308. Переход от этапа S303 к этапу S309 повторяется, чтобы кодировать основные уровни.
Если определено, что все основные уровни на этапе S108 уже обработаны, то процесс декодирования заканчивается.
Последовательность выполнения операций процесса получения общей информации
Далее, со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 24, будет описана последовательность выполнения операций процесса получения общей информации, который должен выполняться на этапе S301, показанном на фиг. 23.
После начала процесса получения общей информации блок 201 получения общей информации получает набор видеопараметров (VPS), переданный со стороны кодирования на этапе S321.
На этапе S322 блок 241 получения максимального количества основных уровней получает параметр (max_layer_minus1) из набора видеопараметров. На этапе S323 блок 242 получения максимального количества подуровней получает параметр (vps_max_sub_layers_minus1) из набора видеопараметров. На этапе S324 блок 243 получения максимального подуровня для выполнения межуровневого предсказания получает параметр (max_sub_layer_for_inter_layer_prediction[i]) для каждого основного уровня.
На этапе S325 блок 201 получения общей информации извлекает информацию, необходимую для управления декодированием, из видеопараметра и подает информацию в качестве информации, относящейся к декодированию на блок 202 управления декодированием.
После окончания процесса на этапе S325 процесс получения общей информации заканчивается и процесс возвращается к фиг. 23.
Последовательность выполнения операций процесса декодирования основного уровня
Далее, со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 25, будет описан пример последовательности выполнения операций процесса декодирования основного уровня, который должен выполняться на этапе S304, показанном на фиг. 23.
После начала процесса декодирования основного уровня накопительный буфер 211 блока 203 декодирования изображения основного уровня накапливает битовые потоки основных уровней, переданные со стороны кодирования на этапе S341. На этапе S342 блок 212 декодирования без потерь декодирует битовый поток (информацию кодированного разностного изображения) основного уровня, поданный из накопительного буфера. Другими словами, картинка I, картинка Ρ и картинка В, кодированные блоком 116 кодирования без потерь, декодируются. В этом случае, также декодируются различные другие фрагменты информации, отличные от информации разностного изображения, содержащиеся в битовом потоке, такие как информация заголовка.
На этапе S343 блок 213 инверсного квантования инверсно квантует квантованный коэффициент, полученный в процессе на этапе S342.
На этапе S344 блок 214 инверсного ортогонального преобразования выполняет инверсное ортогональное преобразование текущего блока (текущего TU).
На этапе S345 блок 221 внутрикадрового предсказания или блок 222 компенсации движения выполняет процесс предсказания и формирует предсказанное изображение. Другими словами, процесс предсказания выполняется в режиме предсказания, использованном при кодировании, который был определен в блоке 212 декодирования без потерь. Более конкретно, например, когда во время кодирования применяется внутрикадровое предсказание, блок 221 внутрикадрового предсказания формирует предсказанное изображение в режиме внутрикадрового предсказания, который на момент кодирования определен как оптимальный режим. С другой стороны, когда во время кодирования применяется межкадровое предсказание, блок 222 компенсации движения формирует предсказанное изображение в режиме межкадрового предсказания, который на момент кодирования определен как оптимальный режим.
На этапе S346 блок 215 вычислений суммирует предсказанное изображение, сформированное на этапе S345, с информации разностного изображения, сформированной в процессе инверсного ортогонального преобразования на этапе S344. Таким образом, посредством декодирования формируется первоначальное изображение.
На этапе S347 контурный фильтр 216, в зависимости от ситуации, выполняет процесс контурной фильтрации декодированного изображения, полученного на этапе S346.
На этапе S348 буфер 217 перегруппировки экрана перегруппирует изображения, отфильтрованные на этапе S347. Другими словами, порядок кадров, перегруппированных для кодирования буфером 112 перегруппировки экрана, перегруппируется в первоначальный порядок отображения.
На этапе S349 D/A-преобразователь 218 выполняет D/A-преобразование изображения, в котором порядок кадров был перегруппирован на этапе S348. Это изображение выводится и отображается на дисплее, который не показан.
На этапе S350 кадровая память 219 сохраняет изображение, подвергнутое процессу контурной фильтрации на этапе S347.
На этапе S351 кадровая память 219 подает декодированное изображение, сохраненное на этапе S350, в буфер 252 информации, связанной с декодированием, блока 204 управления межуровневым предсказанием в качестве информации, связанной с декодированием основного уровня, и сохраняет информацию в буфере 252 информации, связанной с декодированием.
После окончания процесса на этапе S351 процесс декодирования основного уровня заканчивается и процесс возвращается к фиг. 23. Процесс декодирования основного уровня выполняется, например, в блоке картинки. Другими словами, процесс декодирования основного уровня выполняется для каждой картинки текущего уровня. Однако, каждый процесс в процессе декодирования основного уровня выполняется в блоке каждого процесса.
Последовательность выполнения операций процесса управления межуровневым предсказанием
Далее, со ссылкой на блок-схему последовательности выполнения операций процесса, показанную на фиг. 26, описывается пример последовательности выполнения операций процесса управления межуровневым предсказанием, исполняемого на этапе S306, показанном на фиг. 23,.
После начала процесса управления межуровневым предсказанием, блок 251 управления исполнением межуровневого предсказания на этапе S371 обращается к параметру (max_sub_layer_for_inter_layer_prediction[i]), подаваемому от блока 201 получения общей информации с помощью процесса формирования общей информации, показанного на фиг. 24.
На этапе S372 блок 251 управления исполнением межуровневого предсказания, основываясь на значении параметра, определяет, является ли текущий подуровень текущей картинки уровнем, для которого выполняется межуровневое предсказание. Если уровень, указанный параметром (max_sub_layer_for_inter_layer_prediction[i]), является более высоким подуровнем, чем текущий подуровень, и определено, что межуровневое предсказание текущего подуровня разрешено, процесс переходит к этапу S373.
На этапе S373 блок 251 управления выполнением межуровневого предсказания управляет буфером 252 информации, связанной с декодированием, чтобы подать информацию, связанную с декодированием основного уровня, хранящуюся в буфере 252 информации, связанной с декодированием, на блок 205 декодирования изображения улучшенного уровня. После окончания процесса на этапе S373 процесс управления межуровневым предсказанием заканчивается и процесс возвращается к фиг. 23.
Если определено, что межуровневое предсказание текущего подуровня на этапе S372 не разрешено, процесс управления межуровневым предсказанием заканчивается без подачи информации, связанной с кодированием основного уровня, и процесс возвращается к фиг. 23. Другими словами, при кодировании этого текущего подуровня межуровневое предсказание не выполняется.
Последовательность выполнения операций процесса декодирования улучшенного уровня
Далее, со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 27, будет описан пример последовательности выполнения операций процесса декодирования улучшенного уровня, который должен выполняться на этапе S307, показанном на фиг. 23.
Процессы этапов S391-S394 и этапов S396-S400 процесса декодирования улучшенного уровня выполняются таким же образом, как процессы этапов S341-S344 и этапов S346-S350 процесса декодирования основного уровня. Однако, каждый процесс процесса декодирования улучшенного уровня выполняется для кодированных данных улучшенного уровня каждым процессорным блоком блока 205 декодирования изображения улучшенного уровня.
На этапе S395 блок 221 внутрикадрового предсказания или блок 232 компенсации движения выполняет процесс предсказания для кодированных данных улучшенного уровня.
После окончания процесса на этапе S400 процесс декодирования улучшенного уровня заканчивается и процесс возвращается к фиг. 23. Процесс декодирования улучшенного уровня выполняется, например, в блоке картинки. Другими словами, процесс декодирования улучшенного уровня выполняется для каждой картинки текущего уровня. Однако, каждый процесс в процессе декодирования улучшенного уровня выполняется в блоке каждого процесса.
Последовательность выполнения операций процесса декодирования
Далее, со ссылкой на блок-схему последовательности выполнения операций процесса, показанную на фиг. 28, будет описан пример последовательности выполнения операций процесса предсказания, выполняемого на этапе S395, показанном на фиг. 27.
После начала процесса предсказания блок 232 компенсации движения на этапе S421 определяет, является ли режим предсказания режимом межкадрового предсказания. Если определено, что режим предсказания является режимом межкадрового предсказания, процесс переходит к этапу S422.
На этапе S422 блоке 232 компенсации движения определяет, является ли оптимальный режим межкадрового предсказания, являющийся режимом межкадрового предсказания, используемым при кодировании, режимом, в котором выполняется межуровневое предсказание. Если определено, что оптимальным режимом межкадрового предсказания является режим, в котором выполняется межуровневое предсказание, процесс переходит к этапу S423.
На этапе S423 блок 232 компенсации движения собирает информацию, относящуюся к декодированию основного уровня. На этапе S424 блок 232 компенсации движения выполняет компенсацию движения, используя информацию, связанную с основным уровнем, и формирует предсказанное изображение для межуровневого предсказания. После окончания процесса на этапе S424 процесс переходит к этапу S427.
Если на этапе S422 определено, что оптимальным режимом межкадрового предсказания не является режим, в котором выполняется межуровневое предсказание, процесс переходит к этапу S425. На этапе S425 блок 232 компенсации движения выполняет компенсацию движения для текущего основного уровня и формирует предсказанное изображение. После окончания процесса на этапе S425 процесс переходит к этапу S427.
Если на этапе S421 определено, что оптимальный режим предсказания является режимом внутрикадрового предсказания, процесс переходит к этапу S426. На этапе S426 блок 221 внутрикадрового предсказания формирует предсказанное изображение в оптимальном режиме внутрикадрового предсказания как в режиме внутрикадрового предсказания, используемом при кодировании. После окончания процесса на этапе S426 процесс переходит к этапу S427.
На этапе S427 блок 223 выбора выбирает предсказанное изображение и подает изображение на блок 215 вычислений. После окончания процесса на этапе S427 предсказание заканчивается и процесс возвращается к фиг. 27.
Выполняя процессы так, как описано выше, устройство 200 масштабируемого декодирования может уменьшать ухудшение эффективности кодирования и качества изображения из-за кодирования и декодирования.
3. Третий вариант осуществления
Описание подуровня для каждого основного уровня
Хотя для описания максимального значения количества подуровней в каждом основном уровне посредством параметра (vps_max_sub_layers_minus1) в наборе видеопараметров (VPS) описание было сделано, например, как общая информация, настоящее раскрытие не ограничивается этим и количество подуровней в каждом основном уровне может указываться индивидуально.
На фиг. 29 показан пример синтаксиса набора видеопараметров для этого случая. Как показано на фиг. 29, в этом случае параметр (vps_num_sub_layers_minusl[i]) устанавливается в наборе видеопараметров (VPS) вместо параметра (vps_max_sub_layers_minus1).
Этот параметр (vps_num_sub_layers_minus1[i]) является параметром, установленным для каждого основного уровня, и указывает количество уровней подуровней (количество подуровней) на соответствующем основном уровне. Другими словами, этот параметр указывает количество подуровней каждого основного уровня индивидуально.
Существуют различные способы разделения на уровни; например, количество подуровней может делаться разным для каждого основного уровня (например, структура GOP). В случае примера, показанного на фиг. 30, на основном уровне более высокий уровень (улучшенный уровень) содержит меньше подуровней, чем более низкий уровень (базовый уровень). В случае примера, показанного на фиг. 31, на основном уровне более высокий уровень (улучшенный уровень) содержит меньше подуровней, чем более низкий уровень (базовый уровень).
Указывая количество подуровней индивидуально на каждом основном уровне с помощью параметра (vps_num_sub_layers_minus1[i]), устройство 100 масштабируемого кодирования и устройство 200 масштабируемого декодирования, используя это значение, могут выполнять более конкретное (более точное) управление межуровневым предсказанием.
Например, в приведенном выше описании значение параметра (max_sub_layer_for_inter_layer_prediction) меньше, или равно параметру (vps_max_sub_layers_minus1); однако, даже если для параметра (max_sub_layer_for_inter_layer_prediction) устанавливается значение, большее, чем количество подуровней базового уровня и улучшенного уровня, высшим является уровень реального количества подуровней. Другими словами, для правильного управления межуровневым предсказанием необходимо дополнительно знать количество подуровней базового уровня и улучшенного уровня.
Таким образом, значение параметра (max_sub_layer_for_inter_layer_prediction) устанавливается меньшим или равным количеству подуровней, которое является меньшим числом из количества подуровней базового уровня и количества подуровней улучшенного уровня, используя значение параметра (vps_num_sub_layers_minus1[i]). Поэтому межуровневое предсказание управляется легче и точнее.
Блок формирования общей информации и блок управления межуровневым предсказанием
На фиг. 32 для этого случая представлена блок-схема примера основной структуры блока формирования общей информации и блока управления межуровневым предсказанием устройства 100 масштабируемого кодирования. В этом случае устройство 100 масштабируемого кодирования содержит блок 301 формирования общей информации вместо блока 101 формирования общей информации.
Как показано на фиг. 32, блок 301 формирования общей информации является процессорным блоком, в основном, схожим с блоком 101 формирования общей информации, и имеет схожую структуру, за исключением того, что блок 301 формирования общей информации имеет блок 342 установки количества подуровней и блок 342 установки максимального подуровня для выполнения межуровневого предсказания вместо блока 142 установки максимального количества подуровней и блока 143 установки максимального подуровня для выполнения межуровневого предсказания.
Блок 342 установки количества подуровней устанавливает параметр (vps_num_sub_layers_minus1[i]), являющийся информацией, указывающей количество подуровней соответствующего основного уровня. Блок 342 установки количества подуровней устанавливает параметр (vps_num_sub_layers_minus1[i]) для каждого основного уровня (i).
Блок 343 установки максимального подуровня для выполнения межуровневого предсказания устанавливает информацию (max_sub_layer_for_inter_layer_prediction[i]), являющуюся информацией, указывающей наивысший подуровень среди подуровней, для которых разрешается межуровневое предсказание в соответствующем текущем уровне, основываясь на значении параметра (vps_num_sub_layers_minus1[i]), установленного блоком 342 установки количества подуровней.
Таким образом, устройство 100 масштабируемого кодирования легче и точнее может управлять межуровневым предсказанием.
Последовательность выполнения операций процесса формирования общей информации
Пример последовательности выполнения операций процесса формирования общей информации в этом случае описывается со ссылку на блок-схему последовательности выполнения операций, показанную на фиг. 33. После начала процесса формирования общей информации блок 141 установки максимального количества основных уровней на этапе S501 устанавливает параметр (max_layer_minus1).
На этапе S502 блок 342 установки количества подуровней устанавливает параметр (vps_num_sub_layers_minus1[i]) для каждого основного уровня.
На этапе S503 блок 343 установки максимального подуровня для выполнения межуровневого предсказания устанавливает параметр (max_sub_layer_for_inter_layer_prediction[i]) для каждого основного уровня, основываясь на параметре (vps_num_sub_layers_minus1[i]) текущего уровня и опорного уровня места назначения.
На этапе S504 блок 101 формирования общей информации формирует набор видеопараметров, содержащий набор параметров, установленных на этапах S501-S503, в качестве общей информации.
На этапе S505 блок 101 формирования общей информации подает набор видеопараметров, сформированный в процессе на этапе S504, из устройства 100 масштабируемого кодирования и на блок 102 управления кодированием. Блок 101 формирования общей информации подает параметр (max_sub_layer_for_inter_layer_prediction[i]), установленный на этапе S503, на блок 104 управления межуровневым предсказанием.
После окончания процесса на этапе S505 процесс формирования общей информации заканчивается и процесс возвращается к фиг. 13.
Посредством описанных выше процессов устройство 100 масштабируемого кодирования легче и точнее может выполнять межуровневое предсказание.
4. Четвертый вариант осуществления
Блок получения общей информации и блок управления межуровневым предсказанием
Далее описывается устройство 200 масштабируемого декодирования. На фиг. 34 представлена блок-схема примера основной структуры блока получения общей информации и блока управления межуровневым предсказанием устройства 200 масштабируемого декодирования. В этом случае устройство 200 масштабируемого декодирования содержит блок 401 получения общей информации вместо блока 201 получения общей информации.
Как показано на фиг. 34, блок 401 получения общей информации является процессорным блоком, в основном, схожим с блоком 201 получения общей информации, и имеет схожую структуру, за исключением того, что блок 401 получения общей информации имеет блок 442 получения количества подуровней и блок 443 получения максимального подуровня для выполнения межуровневого предсказания вместо блока 242 получения максимального количества подуровней и блока 243 получения максимального подуровня для выполнения межуровневого предсказания.
Блок 442 получения количества подуровней получает параметр (vps_max_sub_layer_minus1), содержащийся в общей информации, переданной со стороны кодирования. Блок 443 получения максимального подуровня для выполнения межуровневого предсказания получает параметр (max_sub_layer_for_inter_layer_prediction[i]), содержащийся в общей информации, переданной со стороны кодирования. Как описано выше, этот параметр (max_sub_layer_for_inter_layer_prediction[i]) устанавливается, используя значение параметра (vps_num_sub_layers_minus1[i]) на стороне кодирования.
Блок 401 получения общей информации подает информацию, относящуюся к декодированию, содержащуюся в собранной общей информации (такой как набор видеопараметров (VPS)), на блок 202 управления декодированием. Дополнительно, блок 401 получения общей информации подает на блок 204 управления межуровневым предсказанием информацию (max_sub_layer_for_inter_layer_prediction[i]), указывающую наивысший подуровень среди подуровней, для которого разрешается межуровневое предсказание текущего основного уровня.
Таким образом, устройство 200 масштабируемого декодирования может легче и точнее может управлять межуровневым предсказанием.
Последовательность выполнения операций процесса получения общей информации
Далее, со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 35, будет описан пример последовательности выполнения операций процесса получения общей информации, который должен выполняться на этапе S301, показанном на фиг. 23.
После начала процесса получения общей информации блок 401 получения общей информации получает набор видеопараметров (VPS), переданный на этапе S521 со стороны кодирования.
На этапе S522 блок 241 получения максимального количества основных уровней получает параметр (max_layer_minus1) из набора видеопараметров.
На этапе S523 блок 442 получения количества подуровней получает параметр (vps_num_sub_layers_minus1[i]) для каждого основного уровня из набора видеопараметров (VPS).
На этапе S524 блок 443 получения максимального подуровня для выполнения межуровневого предсказания получает параметр (max_sub_layer_for_inter_layer_prediction[i]) для каждого основного уровня из набора видеопараметров (VPS).
На этапе S525 блок 401 получения общей информации извлекает информацию, необходимую для управления декодированием, из набора видеопараметров и подает информацию в качестве информации, относящейся к декодированию, на блок 202 управления декодированием. Блок 401 получения общей информации подает параметр (max_sub_layer_for_inter_layer_prediction[i]), установленный на этапе S523, на блок 204 управления межуровневым предсказанием.
После окончания процесса на этапе S525 процесс получения общей информации заканчивается и процесс возвращается к фиг. 23.
Посредством описанных выше процессов устройство 200 масштабируемого декодирования может легче и точнее выполнять межуровневое предсказание.
5. Пятый вариант осуществления
Информация управления межуровневым предсказанием, общая для основных уровней
В приведенном выше описании параметр (max_sub_layer_for_inter_layer_prediction[i]) устанавливается для каждого основного уровня; однако, настоящее раскрытие этим не ограничивается и это значение может использоваться совместно всеми основными уровнями.
Дополнительно может быть установлена информация управления (флаг), управляющая тем, должна ли информация управления межуровневым предсказанием устанавливаться для каждого основного уровня или для всех основных уровней.
На фиг. 36 показан пример синтаксиса набора видеопараметров для этого случая. Как показано на фиг. 36, в этом случае устанавливается флаг (unified_max_sub_layer_for_inter_layer_prediction_flag), управляющий тем, какой параметр устанавливается в качестве информации управления межуровневым предсказанием в наборе видеопараметров (VPS).
Если этот флаг (unified_max_sub_layer_inter_layer_prediction_flag) действителен, то параметр (unified_max_sub_layer_for_inter_layer_prediction) устанавливается общим для всех основных уровней. Напротив, если флаг (unified_max_sub_layer_inter_layer_prediction_flag) является ложным, параметр (max_sub_layer_for_inter_layer_prediction[i]) устанавливается для каждого основного уровня.
Устанавливая параметр (unified_max_sub_layer_for_inter_layer_prediction) вместо параметра (max_sub_layer_for_inter_layer_prediction[i]), объем информации для информации управления межуровневым предсказанием может быть дополнительно уменьшен, уменьшая, таким образом, ухудшение эффективности кодирования посредством управления межуровневым предсказанием и ухудшение качества изображения из-за кодирования и декодирования.
Если параметр является значением, общим для всех уровней, однако, объем информации снижается, но точность ухудшается. Это может привести в результате к менее точному управлению межуровневым предсказанием. С этой точки зрения, используя флаг для управления тем, устанавливается ли информация, указывающая наивысший подуровень из числа подуровней, для которых разрешается межуровневое предсказание, для каждого уровня или она устанавливается как значение, общее для всех уровней, можно действовать в различных обстоятельствах и добиваться более адаптивного управления межуровневым предсказанием.
Блок формирования общей информации и блок управления межуровневым предсказанием
На фиг. 37 представлена блок-схема примера основной структуры блока управления межуровневым предсказанием и блока формирования общей информации устройства 100 масштабируемого кодирования. В этом случае устройство 100 масштабируемого кодирования содержит блок 501 формирования общей информации вместо блока 101 формирования общей информации. Устройство 100 масштабируемого кодирования содержит блок 504 управления межуровневым предсказанием вместо блока 104 управления межуровневым предсказанием.
Как показано на фиг. 37, блок 501 формирования общей информации является процессорным блоком, в основном, схожим с блоком 101 формирования общей информации, за исключением того, что блок 501 формирования общей информации имеет блок 543 установки общего флага и блок 544 установки максимального подуровня для выполнения межуровневого предсказания вместо блока 143 установки максимального подуровня для выполнения межуровневого предсказания.
Блок 543 установки общего флага устанавливает флаг (unified_max_sub_layer_inter_layer_prediction_flag), который устанавливает, какой параметр должен устанавливаться в качестве информации управления межуровневым предсказанием.
Блок 544 установки максимального подуровня для выполнения межуровневого предсказания устанавливает информацию, указывающую наивысший подуровень среди подуровней, для которых разрешается межуровневое предсказание, основываясь на значении флага (unified_max_sub_layer_inter_layer_prediction_flag), установленного блоком 543 установки общего блага и значении параметра (vps_max_sub_layers_minus1), установленного блоком 142 установки максимального количества подуровней. Например, если флаг (unified_max_sub_layer_inter_layer_prediction_flag) является истинным, блок 544 установки максимального подуровня выполнения межуровневого предсказания устанавливает параметр (unified_max_sub_layer_for_inter_layer_prediction) общим для всех основных уровней. Если флаг (inified_max_sub_layer_inter_layer_prediction_flag) является ложным, блок 544 установки максимального подуровня выполнения межуровневого предсказания устанавливает параметр (max_sub_layer_for_inter_layer_prediction[i]) для каждого основного уровня.
Таким образом, устройство 100 масштабируемого кодирования более адаптивно может управлять межуровневым предсказанием.
Последовательность выполнения операций процесса формирования общей информации
Пример последовательности выполнения операций процесса формирования общей информации в этом случае описывается со ссылку на блок-схему последовательности выполнения операций, показанную на фиг. 38. После начала процесса формирования общей информации блок 141 установки максимального количества основных уровней на этапе S601 устанавливает параметр (max_layer_minus1). На этапе S602 блок 142 установки максимального количества подуровней устанавливает параметр (vps_max_sub_layers_minus1).
На этапе S603 блок 543 установки общего флага устанавливает флаг (unified_max_sub_layer_inter_layer_prediction_flag), управляющий тем, какой параметр устанавливается.
На этапе S604 блок 544 установки максимального подуровня установки для выполнения межуровневого предсказания определяет, является ли истинным значение флага (unified_max_sub_layer_inter_layer_prediction_flag). Если определено, что флаг истинный, процесс переходит к этапу S605.
На этапе S605 блок 544 установки максимального подуровня выполнения межуровневого предсказания устанавливает параметр (unified_max_sub_layer_for_inter_layer_prediction) общим для всех основных уровней. После окончания процесса на этапе S605 процесс переходит к этапу S607.
Если на этапе S604 определено, что флаг ложный, процесс переходит к этапу S606. На этапе S606 блок 544 установки максимального подуровня для выполнения межуровневого предсказания устанавливает параметр (max_sub_layer_for_inter_layer_prediction[i]) для каждого основного уровня. После окончания процесса на этапе S606 процесс переходит к этапу S607.
На этапе S607 блок 501 формирования общей информации формирует набор видеопараметров, содержащий каждый набор параметров на этапах S601-S606, в качестве общей информации.
На этапе S608 блок 501 формирования общей информации подает набор видеопараметров, сформированный в процессе на этапе S607, наружу устройства 100 масштабируемого кодирования и на блок 102 управления кодированием. Блок 501 формирования общей информации подает параметр (max_sub_layer_for_inter_layer_prediction[i]), установленный на этапе S503, на блок 504 управления межуровневым предсказанием.
После окончания процесса на этапе S608 процесс формирования общей информации заканчивается и процесс возвращается к фиг. 13.
Последовательность выполнения операций процесса управления межуровневым предсказанием
Далее, со ссылкой на блок-схему последовательности выполнения операций процесса, показанную на фиг. 39, описывается пример последовательности выполнения операций процесса управления межуровневым предсказанием в этом случае.
После начала процесса управления межуровневым предсказанием блок 551 управления выполнением межуровневого предсказания на этапе S621 определяет, является ли значение флага (unified_max_sub_layer_inter_layer_prediction_flag) истинным или ложным. Если определено, что значение истинное, процесс переходит к этапу S622.
На этапе S622 блок 551 установки управления выполнением межуровневого предсказания обращается к параметру (unified_max_sub_layer_for_inter_layer_prediction), общему для всех основных уровней. После окончания процесса на этапе S622 процесс переходит к этапу S624.
Если на этапе S621 определено, что значение ложное, процесс переходит к этапу S623.
На этапе S623 блок 551 управления выполнением межуровневого предсказания обращается к параметру (max_sub_layer_for_inter_layer_prediction[i]) для каждого основного уровня. После окончания процесса на этапе S623 процесс переходит к этапу S624.
На этапе S624, основываясь на этих фрагментах информации, блок 551 управления выполнением межуровневого предсказания определяет, является ли текущий подуровень уровнем, для которого выполняется межуровневое предсказание. Если определено, что текущий подуровень является уровнем, для которого выполняется межуровневое предсказание, процесс переходит к этапу S625.
На этапе S625 блок 551 управления выполнением межуровневого предсказания управляет буфером 152 информации, связанной с кодированием, чтобы подать информацию, связанную с кодированием базового уровня, хранящуюся в буфере 152 информации, связанной с кодированием, на блок 105 кодирования изображения улучшенного уровня. После окончания процесса на этапе S624 процесс управления межуровневым предсказанием заканчивается и процесс возвращается к фиг. 13.
Если определено, что межуровневое предсказание текущего подуровня на этапе S624 не разрешено, процесс управления межуровневым предсказанием заканчивается без подачи информации, связанной с кодированием базового уровня, и процесс возвращается к фиг. 13. Другими словами, при кодировании этого текущего подуровня межуровневое предсказание не выполняется.
Выполняя описанные выше процессы, устройство 100 масштабируемого кодирования может легче и точнее управлять межуровневым предсказанием.
6. Шестой вариант осуществления
Блок получения общей информации и блок управления межуровневым предсказанием
Далее описывается устройство 200 масштабируемого декодирования. На фиг. 40 представлена блок-схема примера основной структуры блока формирования общей информации и блока управления межуровневым предсказанием для этого случая.
В этом случае, как показано на фиг. 40, устройство 200 масштабируемого декодирования содержит блок 601 получения общей информации вместо блока 201 получения общей информации. Кроме того, устройство 200 масштабируемого декодирования содержит блок 604 управления межуровневым предсказанием вместо блока 204 управления межуровневым предсказанием.
Блок 601 получения общей информации является процессорным блоком, в основном, схожим с блоком 201 получения общей информации, за исключением того, что блок 601 получения общей информации имеет блок 643 получения общего флага и блок 644 получения максимального подуровня для выполнения межуровневого предсказания вместо блока 243 получения максимального подуровня для выполнения межуровневого предсказания.
Блок 643 получения общего флага получает флаг (unified_max_sub_layer_inter_layer_prediction_flag), управляющий тем, какой параметр должен устанавливаться в качестве информации управления межуровневым предсказанием.
Блок 644 получения максимального подуровня для выполнения межуровневого предсказания получает параметр (unified_max_sub_layer_for_inter_layer_prediction), общий для всех основных уровней, если флаг (unified_max_sub_layer_inter_layer_prediction_flag) является истинным. Если флаг (unified_max_sub_layer_inter_layer_prediction_flag) является ложным, блок 343 установки максимального подуровня для выполнения межуровневого предсказания получает параметр (max_sub_layer_for_inter_layer_prediction[i]) для каждого основного уровня.
Блок 601 получения общей информации подает информацию (такую, как набор видеопараметров (VPS)), относящуюся к декодированию, содержащуюся в полученной общей информации на блок 202 управления декодированием. Кроме того, блок 601 получения общей информации подает параметр (unified_max_sub_layer_for_inter_layer_prediction) или параметр (max_sub_layer_for_inter_layer_prediction[i]) на блок 604 управления межуровневым предсказанием.
Основываясь на параметре (unified_max_sub_layer_for_inter_layer_prediction) или параметре (max_sub_layer_for_inter_layer_prediction[i]), поданном от блока 601 получения общей информации, блок 651 управления выполнением межуровневого предсказания управляет считыванием буфера 252 связанной с декодированием информации и управляет выполнением межуровневого предсказания.
Таким образом, устройство 200 масштабируемого декодирования более адаптивно может управлять межуровневым предсказанием.
Последовательность выполнения операций процесса получения общей информации
Далее, со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 41, будет описан пример последовательности выполнения операций процесса получения общей информации, который должен выполняться на этапе S301, показанном на фиг. 23.
После начала процесса получения общей информации блок 601 получения общей информации получает набор видеопараметров (VPS), переданный со стороны кодирования на этапе S641.
На этапе S642 блок 241 получения максимального количества основных уровней получает параметр (max_layer_minus1) из набора видеопараметров.
На этапе S643 блок 242 получения максимального количества подуровней получает параметр (vps_max_sub_layers_minus1) из набора видеопараметров (VPS).
На этапе S644 блок 643 получения общего флага получает флаг (unified_max_sub_layer_inter_layer_prediction_flag) из набора видеопараметров (VPS).
На этапе S645 блок 644 получения максимального подуровня для выполнения межуровневого предсказания определяет, является ли флаг (unified_max_sub_layer_inter_layer_prediction_flag) истинным или ложным. Если определено, что флаг истинный, процесс переходит к этапу S646.
На этапе S646 блок 644 получения максимального подуровня для выполнения межуровневого предсказания получает параметр (unified_max_sub_layer_for_inter_layer_prediction) общим для всех уровней из набора видеопараметров (VPS). После окончания процесса на этапе S646 процесс переходит к этапу S648.
Если на этапе S645 определено, что флаг ложный, процесс переходит к этапу S647. На этапе S647 блок 644 получения максимального подуровня для выполнения межуровневого предсказания получает параметр (max_sub_layer_for_inter_layer_prediction[i]) для каждого основного уровня из набора видеопараметров (VPS). После окончания процесса на этапе S647 процесс переходит к этапу S648.
На этапе S648 блок 601 получения общей информации извлекает информацию, необходимую для управления декодированием, из набора видеопараметров и подает информацию в качестве информации, относящейся к декодированию, на блок 202 управления декодированием. Блок 601 получения общей информации подает параметр (unified_max_sub_layer_for_inter_layer_prediction), установленный на этапе S646 или параметр (max_sub_layer_for_inter_layer_prediction[i]), установленный на этапе S647 на блок 604 управления межуровневым предсказанием.
После окончания процесса на этапе S648 процесс получения общей информации заканчивается и процесс возвращается к фиг. 23.
Последовательность выполнения операций процесса управления межуровневым предсказанием
Далее, со ссылкой на блок-схему последовательности выполнения операций процесса, показанную на фиг. 42, описывается пример последовательности выполнения операций процесса управления межуровневым предсказанием в этом случае.
После начала процесса управления межуровневым предсказанием блок 651 управления выполнением межуровневого предсказания на этапе S661 определяет, является ли значение флага (unified_max_sub_layer_inter_layer_prediction_flag) истинным или ложным. Если определено, что значение истинное, процесс переходит к этапу S662.
На этапе S662 блок 651 управления выполнением межуровневого предсказания обращается к параметру (unified_max_sub_layer_for_inter_layer_prediction). После окончания процесса на этапе S662 процесс переходит к этапу S664.
Если на этапе S661 определено, что значение ложное, процесс переходит к этапу S663.
На этапе S663 блок 651 управления выполнением межуровневого предсказания обращается к параметру (max_sub_layer_for_inter_layer_prediction[i]). После окончания процесса на этапе S663 процесс переходит к этапу S664.
На этапе S664, основываясь на значении параметра, упомянутом на этапе S662 или S663, блок 651 управления выполнением межуровневого предсказания, определяет, является ли текущий подуровень текущей картинки уровнем, для которого выполняется межуровневое предсказание. Если определено, что межуровневое предсказание на текущем подуровне разрешается, процесс переходит к этапу S665.
На этапе S665 блок 651 управления выполнением межуровневого предсказания управляет буфером 252 информации, связанной с декодированием, чтобы подать информацию, связанную с декодированием базового уровня, хранящуюся в буфере 252 информации, связанной с декодированием, на блок 205 декодирования изображения улучшенного уровня. После окончания процесса на этапе S665 процесс управления межуровневым предсказанием заканчивается и процесс возвращается к фиг. 23.
Если определено, что межуровневое предсказание текущего подуровня на этапе S664 не разрешено, процесс управления межуровневым предсказанием заканчивается без подачи информации, связанной с кодированием базового уровня, и процесс возвращается к фиг. 23. Другими словами, при кодировании этого текущего подуровня межуровневое предсказание не выполняется.
Выполняя каждый процесс, как описано выше, устройство 200 масштабируемого декодирования может более адаптивно выполнять управление межуровневым предсказанием.
7. Краткое представление изобретения 2
В отношении межуровневого предсказания, например, в HEVC, исследование по предсказанию, использующему пиксельную (Pixel) информацию между уровнями, было проведено в работах Liwei Guo (руководитель), Yong Не, Do-Kyoung Kwon, Jinwen Zan, Haricharan Lakshman, Jung Won Kang, "Description of Tool Experiment A2: Inter-layer Texture Prediction Signaling in SHVC", JCTVC-K1102, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 1111th Meeting: Yong He, Do-Kyoung Kwon, Jinwen Zan, Haricharan Lakshman, Jung Won Kang, "Description of Tool Experiment A2: Inter-layer Texture Prediction Signaling in SHVC", JCTVC-K1102, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 1111th Meeting: Shanghai, CN, 10-19 Oct. 2012.
Кроме того, исследование по предсказанию, используя информацию синтаксиса (Syntax) (например, информацию о режиме внутрикадрового предсказания или информацию о движении) между уровнями было проделано в работе Vadim Seregin, Patrice Onno, Shan Liu, Tammy Lee, Chulkeun Kim, Haitao Yang, Haricharan Laksman, "Description of Tool Experiment C5: Inter-layer syntax prediction using HEVC base layer", JCTVC-K1105, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 1111th Meeting: Shanghai, CN, 10-19 Oct. 2012.
Характеристики пиксельного предсказания, как предсказания, использующего пиксельную информацию, и предсказание синтаксиса, как предсказания, использующего информацию о синтаксисе, сравниваются с эталоном, показанным на фиг. 43.
Сначала, в отношении пиксельного предсказания, межуровневое предсказание (Intra-layer Prediction), которое использует в качестве опорного изображения (опорной картинки) картинки на том же самом уровне, что и изображение (текущая картинка), сравнивается с межуровневым предсказанием (Inter-layer Prediction), которое использует картинку в другой картинке, отличной от текущей картинки, в качестве опорной картинки.
В случае пиксельного предсказания, поскольку расстояние во времени между опорной картинкой и текущей картинкой в межуровневом предсказании (расстояние также упоминается как расстояние предсказания) увеличено, эффективность предсказания становится ниже и в этом случае межуровневое предсказание становится относительно более точным. В отличие от этого, поскольку расстояние предсказания при межуровневом предсказании уменьшается, эффективность предсказания становится выше, и в этом случае межуровневое предсказание становится относительно менее точным.
Другими словами, как показано на фиг. 43, на картинке, на которой расстояние по оси времени между опорным изображением и изображением большое, то есть, на картинке, чей подуровень (временная глубина уровня) ниже, точность предсказания внутриуровневого межкадрового предсказания, вероятно, должна снизиться. Поэтому при внутриуровневом предсказании (intra-layer) существует высокая вероятность, что кодирование выполняется посредством внутрикадрового предсказания даже в межкадровой картинке. Однако, поскольку точность предсказания для межуровневого пиксельного предсказания (Inter-layer Pixel Prediction) высокая, эффективность кодирования может улучшаться, чтобы быть выше, чем в случае межуровневого внутрикадрового предсказания.
С другой стороны, на картинке, на которой расстояние по оси времени между опорным изображением и изображением короткое, то есть, на картинке, чей подуровень (временная глубина уровня) выше, межкадровое предсказание посредством внутриуровневого предсказания (intra-layer) является эффективным. Таким образом, даже если применяется межуровневое пиксельное предсказание (Inter-layer Pixel Prediction), не следует ожидать значительного улучшения эффективности кодирования по сравнению с внутриуровневым межкадровым предсказанием.
Кроме того, при пиксельном предсказании информацию об изображении необходимо запоминать в памяти для совместного использования информации между уровнями, что увеличивает доступ к памяти.
С другой стороны, корреляция синтаксиса между уровнями является высокой и эффективность предсказания для межуровневого предсказания является относительно высокой, независимо от подуровня текущей картинки. Другими словами, как показано на фиг. 43, информация синтаксиса (Syntax), такая как информация о движении, и информация о режиме внутрикадрового предсказания имеют высокую корреляцию между уровнями (базовый уровень и улучшенный уровень) в любом подуровне. Поэтому можно ожидать улучшения эффективности кодирования за счет межуровневого предсказания синтаксиса (Inter-layer Syntax Prediction), независимого от подуровня текущей картинки.
Кроме того, в случае предсказания синтаксиса информация о синтаксисе может использоваться совместно между уровнями; таким образом, доступ к памяти не увеличивается по сравнению с пиксельным предсказанием. Другими словами, информация, которая должна сохраняться для межуровневого предсказания синтаксиса (Inter-layer Syntax Prediction) является одним фрагментом информации о режиме предсказания или информации о движении для каждого PU (Prediction Unit, блок предсказания) в увеличение доступа к памяти является малым по сравнению с межуровневым пиксельным предсказанием (Inter-layer Pixel Prediction, межуровневое пиксельное предсказание), при котором должны сохраняться все пиксели.
Таким образом, пиксельное предсказание и предсказание синтаксиса с различными характеристиками управляются схожим образом, достаточного улучшения эффективности кодирования можно не достигнуть.
С этой точки зрения, пиксельное предсказание и предсказание синтаксиса могут управляться независимо при управлении межуровневым предсказанием, как описано в первом-шестом вариантах осуществления. Другими словами, управление включением/выключением межуровневого пиксельного предсказания и межуровневого предсказания синтаксиса может выполняться независимо.
Например, информация, управляющая включением/выключением (on/off) межуровневого пиксельного предсказания (Inter-layer Pixel Prediction), и информация, управляющая включением/выключением (on/off) межуровневого предсказания синтаксиса (Inter-layer Syntax Prediction), могут кодироваться независимо.
При межуровневом пиксельном предсказании (Inter-layer Pixel Prediction) информация, управляющая тем, до какого подуровня (также упоминаемого как временный уровень) выполняется процесс предсказания, может передаваться, например, в наборе видеопараметров (VPS (Video Parameter Set, набор видеопараметров)) или в расширении набора видеопараметров (vps_extension) в информации о сжатии изображения, которая должна выводиться. Управляющая информация для межуровневого пиксельного предсказания может передаваться в nal-блоке (nal_unit).
При межуровневом пиксельном предсказании (Inter-layer Pixel Prediction) информация, управляющая выполнением (on/off (on/off)) межуровневого предсказания синтаксиса для каждой картинки (Picture) или среза (Slice), может передаваться, например, в наборе параметров картинки (PPS (Picture Parameter Set), набор параметров картинки)) или в заголовке среза (SliceHeader) в информации о сжатии изображения, которая должна выводиться. Управляющая информация для межуровневого предсказания синтаксиса может передаваться в nal-блоке (nal_unit).
Заметим, что управление межуровневым предсказанием, как описано выше, может применяться, даже когда базовый уровень (Baselayer) кодирован в AVC.
Посредством упомянутых выше процессов, в соответствии с ситуацией, может осуществляться компромисс между объемом вычислений и эффективностью кодирования.
8. Седьмой вариант осуществления
Блок формирования общей информации и блок управления межуровневым предсказанием
На фиг. 44 представлена блок-схема примера основной структуры блока формирования общей информации и блока управления межуровневым предсказанием устройства 100 масштабируемого кодирования для случая, описанного в разделе 7. "Сущность изобретения 2". Как показано на фиг. 44, в этом случае устройство 100 масштабируемого кодирования содержит блок 701 формирования общей информации вместо блока 101 формирования общей информации и блок 704 управления межуровневым предсказанием вместо блока 104 управления межуровневым предсказанием.
Как показано на фиг. 44, блок 704 формирования общей информации содержит блок 711 установки информации управления межуровневым пиксельным предсказанием.
Блок 711 установки информации управления межуровневым пиксельным предсказанием устанавливает информацию управления межуровневым пиксельным предсказанием в качестве информации управления, которая управляет выполнением (включением/выключением) межуровневого пиксельного предсказания на улучшенном уровне. Информация управления межуровневым пиксельным предсказанием является, например, информацией, которая указывает наивысший подуровень, для которого разрешается межуровневое пиксельное предсказание. В этом случае на улучшенном уровне межуровневое пиксельное предсказание выполняется на подуровнях от наинизшего подуровня до уровня, указанного информацией управления межуровневым пиксельным предсказанием, и межуровневое пиксельное предсказание запрещается для подуровней, более высоких, чем уровень, указанный информацией управления межуровневым пиксельным предсказанием.
Заметим, что блок 711 установки информации управления межуровневым пиксельным предсказанием может устанавливать информацию управления межуровневым пиксельным предсказанием для каждого улучшенного уровня или может устанавливать информацию управления межуровневым пиксельным предсказанием в качестве информации управления, общей для всех улучшенных уровней.
Дополнительно, блок установки информации управления межуровневым пиксельным предсказанием может устанавливать информацию управления межуровневым пиксельным предсказанием, основываясь на любом фрагменте информации. Например, эта установка может проводиться, основываясь на команде пользователя или на состоянии аппаратурного или программного обеспечения.
Блок 711 установки информации управления межуровневым пиксельным предсказанием подает установленную информацию управления межуровневым пиксельным уровнем на блок 704 управления межуровневым предсказанием (блок 722 управления межуровневым пиксельным предсказанием). Блок 711 установки информации управления межуровневым пиксельным предсказанием передает информацию управления межуровневым пиксельным предсказанием в качестве общей информации, например, в набор видеопараметров (VPS (Video Parameter Set)) или расширение набора видеопараметров (vps_extension). Кроме того, блок 711 установки информации управления межуровневым пиксельным предсказанием может передавать информацию управления межуровневым пиксельным предсказанием в nal-блок (nal_unit).
Как показано на фиг. 44, блок 704 управления межуровневым предсказанием содержит блок 721 повышения дискретизации, блок 722 управления межуровневым пиксельным предсказанием, буфер 723 пикселей базового уровня, буфер 724 синтаксиса базового уровня, блок 725 установки информации управления межуровневым предсказанием синтаксиса и блок 726 управления межуровневым предсказанием синтаксиса.
После получения декодированного изображения базового уровня (также называемого декодированным изображением базового уровня) от кадровой памяти 122 блока 103 кодирования изображения базового уровня блок 721 повышения дискретизации выполняет процесс повышения дискретизации (преобразования разрешающей способности для декодированного изображения базового уровня с соответствии с соотношением, например, разрешающей способности между базовым уровнем и улучшенным уровнем. Блок 721 повышения дискретизации подает декодированное изображение базового уровня, подвергнутое процессу повышения дискретизации, (также упоминаемое как декодированное изображение с повышенной дискретизацией) на буфер 723 пикселей базового уровня.
После получения информации управления межуровневым пиксельным предсказанием от блока 711 установки информации управления межуровневым пиксельным предсказанием блок 722 управления межуровневым пиксельным предсказанием, основываясь на полученной информации, управляет выполнением межуровневого пиксельного предсказания при кодировании на улучшенном уровне. Другими словами, блок 722 управления межуровневым пиксельным предсказанием управляет подачей декодированного изображения с повышенной дискретизацией базового уровня, хранящегося в буфере 723 пикселей базового уровня, на блок 105 кодирования изображения улучшенного уровня в соответствии с информации управления межуровневым пиксельным предсказанием.
Более конкретно, если подуровень, к которому принадлежит текущая картинка, которая должна кодироваться блоком 105 кодирования изображения улучшенного уровня, является уровнем, для которого межуровневое пиксельное предсказание разрешается информацией управления межуровневым пиксельным предсказанием, блок 722 управления межуровневым пиксельным предсказанием разрешает подачу декодированного изображения с повышенной дискретизацией, хранящегося в буфере 723 пикселей базового уровня. Если подуровень, к которому принадлежит текущая картинка, является уровнем, для которого межуровневое пиксельное предсказание запрещается информацией управления межуровневым пиксельным предсказанием, блок 722 управления межуровневым пиксельным предсказанием запрещает подачу декодированного изображения с повышенной дискретизацией, хранящегося в буфере 723 пикселей базового уровня.
Подавая информацию управления межуровневым пиксельным предсказанием на блок 135 предсказания/компенсации движения блока 105 кодирования изображения улучшенного уровня, блок 722 управления межуровневым пиксельным предсказанием управляет выполнением межуровневого пиксельного предсказания блоком 135 предсказания/компенсации движения блока 105 кодирования изображения улучшенного уровня.
Буфер 723 пикселей базового уровня хранит декодированное изображение с повышенной дискретизацией, поданное от блока 721 повышенной дискретизации, и подает декодированное изображение с повышенной дискретизацией в кадровую память 122 блока 105 кодирования изображения улучшенного уровня в качестве опорного изображения (reference) межуровневого предсказания пикселей в соответствии с управлением блока 722 управления межуровневым пиксельным предсказанием. При межуровневом пиксельном предсказании блок 135 предсказания/компенсации движения блока 105 кодирования изображения улучшенного уровня использует декодированное изображение базового уровня с повышенной дискретизацией, хранящееся в кадровой памяти 122, в качестве опорного изображения.
Буфер 724 синтаксиса базового уровня получает информацию о синтаксисе (также упоминаемую как синтаксис базового уровня), такую как информация о режиме предсказания, от блока 124 внутрикадрового предсказания блока 103 кодирования изображения базового уровня и сохраняет в нем информацию. Буфер 724 синтаксиса базового уровня получает информацию о синтаксисе (также упоминаемую как синтаксис базового уровня), такую как информация о движении, от блока 125 предсказания/компенсации движения блока 103 кодирования изображения базового уровня и сохраняет в нем информацию.
Основываясь на управлении блока 726 управления межуровневым предсказанием синтаксиса, буфер 724 синтаксиса базового уровня, в зависимости от ситуации, подает синтаксис базового уровня на блок 135 предсказания/компенсации движения или на блок 124 внутрикадрового предсказания блока 105 кодирования изображения улучшенного уровня.
Более конкретно, например, если межуровневое предсказание синтаксиса для текущей картинки, которая должна обрабатываться посредством внутрикадрового предсказания блока 124 внутрикадрового предсказания блока 105 кодирования изображения улучшенного уровня, разрешается блоком 726 управления межуровневым предсказанием синтаксиса, буфер 724 синтаксиса базового уровня подает синтаксис базового уровня, такой как хранящаяся информация о режиме предсказания, на блок 124 внутрикадрового предсказания блока 105 кодирования изображения улучшенного уровня. С помощью синтаксиса базового уровня (такого как информация о режиме предсказания), подаваемого таким образом, блок 124 внутрикадрового предсказания блока 105 кодирования изображения улучшенного уровня выполняет межуровневое предсказание синтаксиса.
Кроме того, если межуровневое предсказание синтаксиса для текущей картинки, которая должна обрабатываться посредством межкадрового предсказания блока 135 предсказания/компенсации движения блока 105 кодирования изображения улучшенного уровня, разрешается блоком 726 управления межуровневым предсказанием синтаксиса, буфер 724 синтаксиса базового уровня подает синтаксис базового уровня, такой как хранящаяся информация о движении, на блок 135 предсказания/компенсации движения блока 105 кодирования изображения улучшенного уровня. С помощью синтаксиса базового уровня (такого как информация о движении), подаваемого таким образом, блок 135 предсказания/компенсации движения блока 105 кодирования изображения улучшенного уровня выполняет межуровневое предсказание синтаксиса.
Блок 725 установки информации управления межуровневым предсказанием синтаксиса устанавливает информацию управления межуровневым предсказанием синтаксиса в качестве информации управления, которая управляет выполнением (включением/выключением) межуровневого предсказания синтаксиса на улучшенном уровне. Информация управления межуровневым предсказанием синтаксиса относится к информации, указывающей, разрешается ли выполнение межуровневого предсказания синтаксиса для каждой картинки или среза.
Основываясь на любом фрагменте информации, блок 725 установки информации управления межуровневым пиксельным предсказанием синтаксиса может устанавливать информацию управления межуровневым предсказанием синтаксиса. Например, эта установка может проводиться, основываясь на команде пользователя или на состоянии аппаратурного или программного обеспечения.
Блок 725 установки информации управления межуровневым предсказанием синтаксиса подает установленную информацию управления межуровневым уровнем предсказанием синтаксиса на блок 726 управления межуровневым предсказанием синтаксиса.
Блок 726 управления межуровневым предсказанием синтаксиса получает информацию управления межуровневым предсказанием синтаксиса от блока 725 установки информации управления межуровневым предсказанием синтаксиса. Блок 726 управления межуровневым предсказанием синтаксиса управляет выполнением межуровневого предсказания синтаксиса при кодировании улучшенного уровня в соответствии с информацией управления межуровневым предсказанием синтаксиса. Другими словами, блок 726 управления межуровневым предсказанием синтаксиса управляет подачей синтаксиса базового уровня, хранящегося в буфере 724 синтаксиса базового уровня, на блок 105 кодирования изображения улучшенного уровня в соответствии с информации управления межуровневым предсказанием синтаксиса.
Более конкретно, если текущая картинка, которая должна кодироваться (или текущий срез, который должен кодироваться) блоком 105 кодирования изображения улучшенного уровня, является картинкой (или срезом), для которого межуровневое предсказание синтаксиса разрешается информацией управления межуровневым предсказанием синтаксиса, блок 726 управления межуровневым предсказанием синтаксиса разрешает подачу синтаксиса базового уровня, хранящегося в буфере 724 синтаксиса базового уровня. С другой стороны, если текущая картинка (или текущий срез) является картинкой (или срезом), для которого межуровневое предсказание синтаксиса запрещается информацией управления межуровневым предсказанием синтаксиса, блок 726 управления межуровневым предсказанием синтаксиса запрещает подачу синтаксиса базового уровня, хранящегося в буфере 724 синтаксиса базового уровня.
Подавая информацию управления межуровневым предсказанием синтаксиса на блок 135 предсказания/компенсации движения или на блок 124 внутрикадрового предсказания блока 105 кодирования изображения улучшенного уровня, блок 726 управления межуровневым предсказанием синтаксиса управляет выполнением межуровневого предсказания синтаксиса блоком 135 предсказания/компенсации движения или блоком внутрикадрового предсказания блока 105 кодирования изображения улучшенного уровня.
Таким способом устройство 100 масштабируемого кодирования может легче и точнее управлять межуровневым пиксельным предсказанием и межуровневым предсказанием синтаксиса, позволяя, таким образом добиться соответствующего компромисса (trade-off) между объемом вычислений и эффективностью кодирования. Другими словами, устройство 100 масштабируемого кодирования может более адаптивно уменьшать ухудшение эффективности кодирования, управляя межуровневым предсказанием.
Последовательность выполнения операций процесса формирования общей информации
Пример последовательности выполнения операций процесса формирования общей информации в этом случае описывается со ссылку на блок-схему последовательности выполнения операций, показанную на фиг. 45. После начала процесса формирования общей информации блок 701 формирования общей информации на этапе S701 устанавливает параметр (max_layer_minus1).
На этапе S702 блок 701 формирования общей информации устанавливает параметр (vps_num_sub_layers_minus1 [i]) для каждого основного уровня.
На этапе S703 блок 711 установки информации управления межуровневым пиксельным предсказанием устанавливает информацию управления межуровневым пиксельным предсказанием для каждого основного уровня.
На этапе S704 блок 701 формирования общей информации формирует набор видеопараметров, содержащий различные фрагменты информации, установленной на этапах S701-S703, в качестве общей информации.
На этапе S705 блок 701 формирования общей информации подает набор видеопараметров, сформированный в процессе на этапе S704, наружу устройства 100 масштабируемого кодирования и передает набор видеопараметров.
После окончания процесса на этапе S705 процесс формирования общей информации заканчивается и процесс возвращается к фиг. 13.
Последовательность выполнения процесса кодирования базового уровня
Далее, со ссылкой на блок-схему последовательности выполнения операций процесса, показанную на фиг. 46, описывается пример последовательности выполнения операций процесса кодирования базового уровня в этом случае.
В этом случае после начала процесса кодирования базового уровня, каждый процесс на этапах S711-S723 выполняется способом, подобным каждому процессу на этапах S141-S153, показанных на фиг. 15.
На этапе S724 блок 721 повышения дискретизации повышает дискретизацию декодированного изображения базового уровня, полученного в процессе на этапе S722.
На этапе S725 буфер 723 пикселей базового уровня сохраняет декодированное изображение с повышенной дискретизацией, полученное в процессе на этапе S724.
На этапе S726 буфер 724 синтаксиса базового уровня сохраняет синтаксис базового уровня, полученный, например, в процессе внутрикадрового предсказания на этапе S713 или в процессе межкадрового предсказания движения на этапе S714.
Затем каждый процесс на этапах S727-S729 выполняется способом, подобным каждому процессу на этапах S155-S157, показанных на фиг. 15.
После окончания процесса на этапе S729 процесс кодирования базового уровня заканчивается и процесс возвращается к фиг. 13. Процесс кодирования основного уровня выполняется, например, в блоке картинки. Другими словами, каждая картинка текущего уровня подвергается процессу кодирования базового уровня. Однако каждый процесс в процессе кодирования базового уровня выполняется в блоке каждого процесса.
Последовательность выполнения операций процесса управления межуровневым предсказанием
Далее, со ссылкой на блок-схему последовательности выполнения операций процесса, показанную на фиг. 47, описывается пример последовательности выполнения операций процесса управления межуровневым предсказанием в этом случае.
После начала процесса управления межуровневым предсказанием на этапе S731 блок 722 управления межуровневым пиксельным предсказанием обращается к информации управления межуровневым пиксельным предсказанием, установленной в процессе на этапе S703, показанном на фиг. 45.
На этапе S732 блок 722 управления межуровневым пиксельным предсказанием определяет, является ли подуровень текущей улучшенного уровня тем уровнем, для которого выполняется межуровневое пиксельное предсказание. Если определено, что межуровневое пиксельное предсказание выполняется, процесс переходит к этапу S733.
На этапе S733 буфер 723 пикселей базового уровня подает хранящееся декодированное изображение с повышенной дискретизацией в кадровую память 122 блока 105 кодирования изображения улучшенного уровня.
После окончания процесса на этапе S733 процесс переходит к этапу S734. Если определено, что межуровневое пиксельное предсказание на этапе S732 не выполняется, процесс переходит к этапу S734.
На этапе S734 блок 725 установки информации управления межуровневым предсказанием синтаксиса устанавливает информацию управления межуровневым предсказанием синтаксиса.
На этапе S735 блок 726 управления межуровневым предсказанием синтаксиса определяет, является ли текущая картинка (или срез) улучшенного уровня картинкой (или срезом), для которой межуровневое предсказание синтаксиса выполняется со ссылкой на информацию управления межуровневым предсказанием синтаксиса, установленную на этапе S734. Если определено, что межуровневое предсказание синтаксиса выполняется, процесс переходит к этапу S736.
На этапе S736 буфер 724 синтаксиса базового уровня подает хранящийся синтаксис базового уровня на блок 135 предсказания/компенсации движения или на блок 124 внутрикадрового предсказания блока 105 кодирования изображения улучшенного уровня.
После окончания процесса на этапе S736 процесс управления межуровневым предсказанием заканчивается и процесс возвращается к фиг. 13. Если определено, что на этапе S735, показанном на фиг. 47, межуровневое предсказание синтаксиса не выполняется, процесс управления межуровневым предсказанием заканчивается и процесс возвращается к фиг. 13.
Последовательность выполнения операций процесса кодирования улучшенного уровня
Далее, со ссылкой на блок-схему последовательности выполнения операций процесса, показанную на фиг. 48, в этом случае описывается пример последовательности выполнения операций процесса кодирования улучшенного уровня.
Каждый процесс этапов S741 и S742 и каждый процесс этапов S745-S756 процесса кодирования улучшенного уровня выполняются способом, подобным каждому процессу на этапах S711 и S712 и этапах S715-S723, и каждому процессу на этапах S727-S729 в процессе кодирования базового уровня (фиг. 46). Каждый процесс в процессе кодирования улучшенного уровня, однако, выполняется для информации изображения улучшенного уровня каждым процессорным блоком блока 105 кодирования изображения улучшенного уровня.
Заметим, что на этапе S743, показанном на фиг. 48, блок 124 внутрикадрового предсказания блока 105 кодирования изображения улучшенного уровня выполняет процесс внутрикадрового предсказания, соответствующий межуровневому предсказанию синтаксиса на улучшенном уровне.
На этапе S744 блок 135 предсказания/компенсации движения выполняет процесс предсказания/компенсации движения, который также соответствует межуровневому пиксельному предсказанию и межуровневому предсказанию синтаксиса на улучшенном уровне.
После окончания процесса на этапе S756 процесс кодирования улучшенного уровня заканчивается и процесс возвращается к фиг. 13. Процесс кодирования улучшенного уровня выполняется, например, в блоке картинки. Другими словами, каждая картинка текущего уровня подвергается процессу кодирования улучшенного уровня. Однако, каждый процесс в процессе кодирования улучшенного уровня выполняется в блоке каждого процесса.
Последовательность выполнения операций процесса предсказания/компенсации движения
Далее, со ссылкой на блок-схему последовательности выполнения операций процесса, показанную на фиг. 49, будет описан пример последовательности выполнения операций процесса предсказания/компенсации движения, который должен выполняться этапе S744, показанном на фиг. 48.
После начала процесса предсказания/компенсации движения блок 135 предсказания/компенсации движения выполняет предсказание движения в текущем основном уровне на этапе S761.
На этапе S762 блок 135 предсказания/компенсации движения определяет, выполнять ли межуровневое пиксельное предсказание для текущей картинки. Если определено, что межуровневое пиксельное предсказание выполняется, основываясь на информации управления межуровневым пиксельным предсказанием, поданной от блока 722 управления межуровневым пиксельным предсказанием, процесс переходит к этапу S763.
На этапе S763 блок 135 предсказания/компенсации движения получает из кадровой памяти 122 декодированное изображение с повышенной дискретизацией базового уровня.
На этапе S764 блок 135 предсказания/компенсации движения выполняет межуровневое пиксельное предсказание со ссылкой на декодированное изображение с повышенной дискретизацией, полученное на этапе S763. После окончания процесса на этапе S764 процесс переходит к этапу S765.
Если определено, что межуровневое пиксельное предсказание на этапе S762 не выполняется, процесс переходит к этапу S765.
На этапе S765 блок 135 предсказания/компенсации движения определяет, выполнять ли межуровневое предсказание синтаксиса для текущей картинки. Если определено, что межуровневое предсказание синтаксиса выполняется, основываясь на информации управления межуровневым предсказанием синтаксиса, поданной от блока 726 управления межуровневым предсказанием синтаксиса, процесс переходит к этапу S766.
На этапе S766 блок 135 предсказания/компенсации движения получает синтаксис базового уровня, такой как информация о движении, от буфера 724 синтаксиса базового уровня. На этапе S767 блок 135 предсказания/компенсации движения выполняет межуровневое предсказание синтаксиса, используя синтаксис базового уровня, полученный на этапе S766. После окончания процесса на этапе S767 процесс переходит к этапу S768.
Если определено, что межуровневое предсказание синтаксиса на этапе S765 не выполняется, процесс переходит к этапу S768.
На этапе S768 блок 135 предсказания/компенсации движения вычисляет значение функции стоимости в отношении каждого режима предсказания. На этапе S769 блок 135 предсказания/компенсации движения выбирает оптимальный режим межкадрового предсказания, основываясь на значении функции стоимости.
На этапе S770 блок 135 предсказания/компенсации движения выполняет компенсацию движения в оптимальном режиме межкадрового предсказания, выбранном на этапе S769, и формирует предсказанное изображение. На этапе S771 блок 135 предсказания/компенсации движения формирует информацию, относящуюся к межкадровому предсказанию, основываясь на оптимальном режиме межкадрового предсказания.
После окончания процесса на этапе S771 процесс предсказания/компенсации движения заканчивается и процесс возвращается к фиг. 48. Таким образом, выполняется процесс предсказания/компенсации движения, соответствующий межуровневому пиксельному предсказанию и межуровневому предсказанию синтаксиса. Этот процесс выполняется, например, в единичном блоке блока. Однако, каждый процесс в процессе предсказания/компенсации движения выполняется в единичном блоке в каждом процессе.
Последовательность выполнения операций процесса внутрикадрового предсказания
Далее, со ссылкой на блок-схему последовательности выполнения операций процесса, показанную на фиг. 50, будет описан пример последовательности выполнения операций процесса внутрикадрового предсказания, который должен выполняться на этапе S743, показанном на фиг. 48.
После начала процесса внутрикадрового предсказания блок 124 внутрикадрового предсказания блока 105 кодирования изображения улучшенного уровня выполняет внутрикадровое предсказание в каждом режиме внутрикадрового предсказания на уровне на этапе S781.
На этапе S782 блок 124 внутрикадрового предсказания определяет, выполнять ли межуровневое предсказание синтаксиса для текущей картинки. Если определено, что межуровневое предсказание синтаксиса выполняется, основываясь на информации управления межуровневым предсказанием синтаксиса, поданной от блока 726 управления межуровневым предсказанием синтаксиса, процесс переходит к этапу S783.
На этапе S783 блок 124 внутрикадрового предсказания получает синтаксис базового уровня, такой как информация о режиме предсказания, от буфера 724 синтаксиса базового уровня. На этапе S784 блок 124 внутрикадрового предсказания выполняет межуровневое предсказание синтаксиса, используя синтаксис базового уровня, полученный на этапе S783. После окончания процесса на этапе S784 процесс переходит к этапу S785.
Если определено, что межуровневое предсказание синтаксиса на этапе S782 не выполняется, процесс переходит к этапу S785.
На этапе S785 блок 124 внутрикадрового предсказания вычисляет значение функции стоимости в каждом режиме внутрикадрового предсказания, в котором выполняется внутрикадровое предсказание (содержащее межуровневое предсказание синтаксиса).
На этапе S786 блок 124 внутрикадрового предсказания определяет оптимальный режим внутрикадрового предсказания, основываясь на значении функции стоимости, полученной на этапе S785.
На этапе S787 блок 124 внутрикадрового предсказания формирует предсказанное изображение в оптимальном режиме внутрикадрового предсказания, определенном на этапе S786.
После окончания процесса на этапе S787 процесс внутрикадрового предсказания заканчивается и процесс возвращается к фиг. 48.
Выполняя процессы, как описано выше, устройство 100 масштабируемого кодирования управлять межуровневым пиксельным предсказанием и межуровневым предсказанием синтаксиса более легко и более соответствующим образом, позволяя, таким образом, добиться более соответствующего компромисса (trade-off) между объемом вычислений и эффективностью кодирования. Другими словами, устройство 100 масштабируемого кодирования может более адаптивно уменьшать ухудшение эффективности кодирования, управляя межуровневым предсказанием. Другими словами, устройство 100 масштабируемого кодирования может уменьшать ухудшение качества изображения из-за кодирования и декодирования.
9. Восьмой вариант осуществления
Блок получения общей информации и блок управления межуровневым предсказанием
Далее описывается устройство 200 масштабируемого декодирования. На фиг. 51 представлена блок-схема примера основной структуры блока получения общей информации и блока управления межуровневым предсказанием устройства 200 масштабируемого кодирования для случая, описанного в разделе 7. "Сущность изобретения 2". В этом случае устройство 200 масштабируемого кодирования содержит блок 801 получения общей информации вместо блока 201 получения общей информации и блок 804 управления межуровневым предсказанием вместо блока 204 управления межуровневым предсказанием.
Как показано на фиг. 51, блок 801 получения общей информации содержит блок 811 получения информации управления межуровневым пиксельным предсказанием.
Блок 811 получения информации управления межуровневым пиксельным предсказанием получает информацию управления межуровневым пиксельным предсказанием в качестве общей информации, переданной как набор видеопараметров или т.п., например, от устройства 100 масштабируемого кодирования.
Блок 811 получения информации управления межуровневым пиксельным предсказанием подает полученную информацию управления межуровневым пиксельным предсказанием на блок 804 управления межуровневым предсказанием (блок 822 управления межуровневым пиксельным предсказанием).
Как показано на фиг. 51, блок 804 управления межуровневым предсказанием содержит блок 821 повышения дискретизации, блок 822 управления межуровневым пиксельным предсказанием, буфер 823 пикселей базового уровня, буфер 824 синтаксиса базового уровня, блок 825 получения информации управления межуровневым предсказанием синтаксиса и блок 826 управления межуровневым предсказанием синтаксиса.
После получения декодированного изображения базового уровня из кадровой памяти 219 блока 203 кодирования изображения базового уровня блок 821 повышения дискретизации выполняет процесс повышения дискретизации (процесс преобразования разрешающей способности) для декодированного изображения базового уровня с соответствии с соотношением, например, разрешающей способности между базовым уровнем и улучшенным уровнем. Блок 821 повышения дискретизации подает полученное декодированное изображение с повышенной дискретизацией в буфер 823 пикселей базового уровня.
Блок 822 управления межуровневым пиксельным предсказанием получает информацию управления межуровневым пиксельным предсказанием от блока 811 получения информации управления межуровневым пиксельным предсказанием. Блок 822 управления межуровневым пиксельным предсказанием управляет подачей декодированного изображения с повышенной дискретизацией базового уровня, хранящегося в буфере 823 пикселей базового уровня, на блок 205 декодирования изображения улучшенного уровня в соответствии с информации управления межуровневым пиксельным предсказанием.
Более конкретно, если подуровень, к которому принадлежит текущая картинка, которая должна декодироваться блоком 205 декодирования изображения улучшенного уровня, является уровнем, для которого межуровневое пиксельное предсказание разрешается информацией управления межуровневым пиксельным предсказанием, блок 822 управления межуровневым пиксельным предсказанием разрешает подачу декодированного изображения с повышенной дискретизацией, хранящегося в буфере 823 пикселей базового уровня. Если подуровень, к которому принадлежит текущая картинка, является уровнем, для которого межуровневое пиксельное предсказание запрещается информацией управления межуровневым пиксельным предсказанием, блок 822 управления межуровневым пиксельным предсказанием запрещает подачу декодированного изображения с повышенной дискретизацией, хранящегося в буфере 823 пикселей базового уровня.
Буфер 823 пикселей базового уровня хранит декодированное изображение с повышенной дискретизацией, поданное от блока 821 повышенной дискретизации, и подает декодированное изображение с повышенной дискретизацией в кадровую память 219 блока 205 декодирования изображения улучшенного уровня в качестве опорного изображения (reference) межуровневого предсказания пикселей, в соответствии с ситуацией, согласно управлению блока 822 управления межуровневым пиксельным предсказанием.
Буфер 824 синтаксиса базового уровня получает синтаксис базового уровня, такой как информация о режиме предсказания, от блока 221 внутрикадрового предсказания блока 203 декодирования изображения базового уровня и сохраняет в нем информацию. Буфер 824 синтаксиса базового уровня получает синтаксис базового уровня, такой как информация о движении, от блока 222 компенсации движения блока 203 декодирования изображения базового уровня и сохраняет в нем информацию.
Основываясь на управлении блока 826 управления межуровневым предсказанием синтаксиса, буфер 824 синтаксиса базового уровня, в зависимости от ситуации, подает синтаксис базового уровня на блок 232 компенсации движения или на блок 221 внутрикадрового предсказания блока 205 декодирования изображения улучшенного уровня. Например, буфер 824 синтаксиса базового уровня подает синтаксис базового уровня, такой как хранящаяся информация о режиме предсказания, на блок 221 внутрикадрового предсказания блока 205 декодирования изображения базового уровня. Например, буфер 824 синтаксиса базового уровня подает синтаксис базового уровня, такой как хранящаяся информация о движении, на блок 232 компенсации движения блока 205 декодирования изображения базового уровня.
Блок 825 получения информации управления межуровневым предсказанием синтаксиса получает через блок 205 декодирования изображения улучшенного уровня информацию управления межуровневым предсказанием синтаксиса, переданную как набор параметров картинки или т.п., например, от устройства 100 масштабируемого кодирования.
Блок 825 получения информации управления межуровневым предсказанием синтаксиса подает полученную информацию управления межуровневым уровнем предсказанием синтаксиса на блок 826 управления межуровневым предсказанием синтаксиса.
Блок 826 управления межуровневым предсказанием синтаксиса получает информацию управления межуровневым предсказанием синтаксиса от блока 825 получения информации управления межуровневым предсказанием синтаксиса. Основываясь на информации управления межуровневым управления синтаксисом, блок 826 управления межуровневым предсказания синтаксиса управляет подачей синтаксиса базового уровня, хранящегося в буфере 824 синтаксиса базового уровня, в блок 205 декодирования изображения улучшенного уровня.
Более конкретно, если текущая картинка, которая должна декодироваться (или текущий срез, который должен декодироваться) блоком 205 декодирования изображения улучшенного уровня, является картинкой (или срезом), для которого межуровневое предсказание синтаксиса разрешается информацией управления межуровневым предсказанием синтаксиса, блок 826 управления межуровневым предсказанием синтаксиса разрешает подачу синтаксиса базового уровня, хранящегося в буфере 824 синтаксиса базового уровня. С другой стороны, если текущая картинка (или текущий срез) является картинкой (или срезом), для которого межуровневое предсказание синтаксиса запрещается информацией управления межуровневым предсказанием синтаксиса, блок 826 управления межуровневым предсказанием синтаксиса запрещает подачу синтаксиса базового уровня, хранящегося в буфере 824 синтаксиса базового уровня.
Блок 221 внутрикадрового предсказания блока 205 декодирования изображения улучшенного уровня выполняет внутрикадровое предсказание в оптимальном режиме внутрикадрового предсказания, основываясь на информации, относящейся к режиму предсказания, поданной, например, от устройства 100 масштабируемого кодирования, и формирует предсказанное изображение. Если в этом случае межуровневое предсказание синтаксиса указывается как оптимальный режим внутрикадрового предсказания, то есть, если внутрикадровое предсказание межуровневого предсказания синтаксиса выполняется при кодировании, блок 221 внутрикадрового предсказания выполняет внутрикадровое предсказание, используя синтаксис базового уровня, подаваемый из буфера 824 синтаксиса базового уровня, и формирует предсказанное изображение.
Блок 232 компенсации движения блока 205 декодирования изображения улучшенного уровня выполняет компенсацию движения в оптимальном режиме межкадрового предсказания, основываясь на информации, относящейся к режиму предсказания, поданной, например, от устройства 100 масштабируемого кодирования, и формирует предсказанное изображение. Если в этом случае межуровневое пиксельное предсказание указывается в качестве оптимального режима внутрикадрового предсказания, то есть, если межкадровое предсказание межуровневого пиксельного предсказания выполняется при кодировании, блок 232 компенсации движения выполняет компенсацию движения со ссылкой на декодированное изображение с повышенной дискретизацией базового уровня, хранящееся в кадровой памяти 219, и формирует предсказанное изображение.
Если межуровневое предсказание синтаксиса указывается в качестве оптимального режима внутрикадрового предсказания, то есть, если межкадровое предсказание межуровневого предсказания синтаксиса выполняется при кодировании, блок 232 компенсации движения выполняет компенсацию движения со ссылкой на декодированное изображение улучшенного уровня, хранящееся в кадровой памяти 219, используя синтаксис базового уровня, подаваемый из буфера 824 синтаксиса базового уровня, и формирует предсказанное изображение.
Таким способом, устройство 200 масштабируемого декодирования может легче и должным образом управлять межуровневым пиксельным предсказанием и межуровневым предсказанием синтаксиса, позволяя, таким образом добиться более соответствующего компромисса (trade-off) между объемом вычислений и эффективностью кодирования. Другими словами, устройство 200 масштабируемого декодирования, управляя межуровневым предсказанием, может более адаптивно уменьшать ухудшение эффективности кодирования.
Последовательность выполнения операций процесса получения общей информации
Пример последовательности выполнения операций процесса получения общей информации в этом случае описывается со ссылку на блок-схему последовательности выполнения операций, показанную на фиг. 52. После начала процесса получения общей информации блок 801 получения общей информации на этапе S801 получает набор видеопараметров (VPS), переданный со стороны кодирования.
На этапе S802 блок 801 получения общей информации получает параметр (max_layer_minus1) из набора видеопараметров.
На этапе S803 блок 801 получения общей информации получает параметр (vps_num_sub_layers_minus1[i]) для каждого основного уровня из набора видеопараметров (VPS).
На этапе S804 блок 811 получения информации управления межуровневым пиксельным предсказанием получает информацию управления межуровневым пиксельным предсказанием для каждого основного уровня из набора видеопараметров (VPS).
На этапе S805 блок 811 получения информации управления межуровневым пиксельным предсказанием подает информацию управления межуровневым пиксельным предсказанием, полученную на этапе S804, на блок 822 управления межуровневым пиксельным предсказанием.
После окончания процесса на этапе S805 процесс получения общей информации заканчивается и процесс возвращается к фиг. 23.
Последовательность выполнения операций процесса декодирования основного уровня
Сначала со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 53, будет описан пример последовательности выполнения операций процесса декодирования.
В этом случае после начала процесса декодирования базового уровня, каждый процесс на этапах S811-S820 выполняется способом, подобным каждому процессу на этапах S341-S350, показанных на фиг. 25.
На этапе S821 блок 821 с повышенной дискретизацией выполняет процесс повышенной дискретизации для декодированного изображения базового уровня.
На этапе S822 буфер 823 пикселей базового уровня сохраняет декодированное изображение с повышенной дискретизацией, полученное в процессе на этапе S821.
На этапе S823 буфер 824 синтаксиса базового уровня хранит синтаксис базового уровня (такой как информация о режиме внутрикадрового предсказания или информация о движении), полученный в процессе предсказания на этапе S815, и т.п.
После окончания процесса на этапе S823 процесс декодирования базового уровня заканчивается и процесс возвращается к фиг. 23. Процесс декодирования основного уровня выполняется, например, в блоке картинки. Другими словами, процесс декодирования базового уровня выполняется для каждой картинки текущей картинки. Однако, каждый процесс в процессе декодирования основного уровня выполняется в единичном блоке каждого процесса.
Последовательность выполнения операций процесса управления межуровневым предсказанием
Далее, со ссылкой на блок-схему последовательности выполнения операций процесса, показанную на фиг. 54, описывается пример последовательности выполнения операций процесса управления межуровневым предсказанием в этом случае.
После окончания процесса управления межуровневым предсказанием на этапе S831 блок 822 управления межуровневым пиксельным предсказанием обращается к информации управления межуровневым пиксельным предсказанием, поданной в процессе на этапе S805, показанном на фиг. 52.
На этапе S832 буфер 823 пикселей базового уровня подает хранящееся декодированное изображение с повышенной дискретизацией в кадровую память 219 блока 205 декодирования изображения улучшенного уровня.
После окончания процесса на этапе S833 процесс переходит к этапу S834. Если определено, что межуровневое пиксельное предсказание на этапе S832 не выполняется, процесс переходит к этапу S834.
На этапе S834 блок 825 получения информации управления межуровневым предсказанием синтаксиса получает информацию управления межуровневым предсказанием синтаксиса.
На этапе S835 блок 826 управления межуровневым предсказанием синтаксиса определяет, является ли текущая картинка (или срез) улучшенного уровня картинкой (или срезом), для которой межуровневое предсказание синтаксиса выполняется со ссылкой на информацию управления межуровневым предсказанием синтаксиса, полученную на этапе S734. Если определено, что межуровневое предсказание синтаксиса выполняется, процесс переходит к этапу S736.
На этапе S836 буфер 824 синтаксиса базового уровня подает хранящийся синтаксис базового уровня на блок 232 компенсации движения или на блок 221 внутрикадрового предсказания блока 205 декодирования изображения улучшенного уровня.
После окончания процесса на этапе S836 процесс управления межуровневым предсказанием заканчивается и процесс возвращается к фиг. 23. Если определено, что на этапе S835, показанном на фиг. 54, межуровневое предсказание синтаксиса не выполняется, процесс управления межуровневым предсказанием заканчивается и процесс возвращается к фиг. 23.
Последовательность выполнения операций процесса предсказания
Поскольку процесс декодирования улучшенного уровня выполняется способом, схожим со способом, описанным со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 27, его описание не приводится.
Далее, со ссылкой на блок-схемы последовательности выполнения операций процесса, показанные на фиг. 55 и 56, описывается пример последовательности выполнения операций процесса предсказания в этом случае.
После начала процесса предсказания блок 232 компенсации движения на этапе S841 определяет, является ли режим предсказания режимом межкадрового предсказания. Если определено, что режим предсказания является режимом межкадрового предсказания, процесс переходит к этапу S842.
На этапе S842 блок 232 компенсации движения определяет, является ли оптимальный режим межкадрового предсказания режимом, в котором выполняется межуровневое пиксельное предсказание. Если определено, что оптимальным режимом межкадрового предсказания является режим, в котором выполняется межуровневое пиксельное предсказание, процесс переходит к этапу S843.
На этапе S843 блок 232 компенсации движения получает декодированное изображение с повышенной дискретизацией базового уровня.
На этапе S844 блок 232 компенсации движения выполняет компенсацию движения, используя декодированное изображение с повышенной дискретизацией и формирует предсказанное изображение. После окончания процесса на этапе S844 процесс переходит к этапу S849.
Если на этапе S842 определено, что оптимальным режимом межкадрового предсказания не является режим, в котором выполняется межуровневое пиксельное предсказание, процесс переходит к этапу S845.
На этапе S845 блок 232 компенсации движения определяет, является ли оптимальный режим межкадрового предсказания режимом, в котором выполняется межуровневое предсказание синтаксиса. Если определено, что оптимальным режимом межкадрового предсказания является режим, в котором выполняется межуровневое предсказание синтаксиса, процесс переходит к этапу S846.
На этапе S846 блок 232 компенсации движения получает синтаксис базового уровня, такой как информация о движении.
На этапе S847 блок 232 компенсации движения выполняет компенсацию движения, используя синтаксис базового уровня, и формирует предсказанное изображение. После окончания процесса на этапе S847 процесс переходит к этапу S849.
Если на этапе S845 определено, что оптимальным режимом межкадрового предсказания не является режим, в котором выполняется межуровневое предсказание синтаксиса, процесс переходит к этапу S848.
На этапе S848 блок 232 компенсации движения выполняет компенсацию движения для текущего основного уровня и формирует предсказанное изображение. После окончания процесса на этапе S848 процесс переходит к этапу S849.
На этапе S849 блок 232 компенсации движения подает таким образом сформированное предсказанное изображение на блок 215 вычислений через блок 223 выбора. После окончания процесса на этапе S849 процесс предсказания заканчивается и процесс возвращается к фиг. 27.
Если на этапе S841, показанном на фиг. 55, определено, что режим предсказания является режимом внутрикадрового предсказания, процесс переходит к фиг. 56.
На этапе S851, показанном на фиг. 56, блок 221 внутрикадрового предсказания блока 205 декодирования улучшенного уровня определяет, является ли оптимальный режим внутрикадрового предсказания режимом, в котором выполняется межуровневое предсказание синтаксиса. Если определено, что оптимальным режимом внутрикадрового предсказания является режим, в котором выполняется межуровневое предсказание синтаксиса, процесс переходит к этапу S852.
На этапе S852 блок 221 внутрикадрового предсказания получает синтаксис базового уровня, такой как информация о режиме внутрикадрового предсказания.
На этапе S853 блок 221 внутрикадрового предсказания выполняет внутрикадровое предсказание, используя синтаксис базового уровня, и формирует предсказанное изображение. После окончания процесса на этапе S853 процесс переходит к этапу S849, показанному на фиг. 55.
Если на этапе S851, показанном на фиг. 56, определено, что оптимальным режимом внутрикадрового предсказания не является режим, в котором выполняется межуровневое предсказание синтаксиса, процесс переходит к этапу S854.
На этапе S854 блок 221 внутрикадрового предсказания формирует предсказанное изображение в оптимальном режиме внутрикадрового предсказания как в режиме внутрикадрового предсказания, используемом при кодировании. После окончания процесса на этапе S854 процесс переходит к этапу S849, показанному на фиг. 55.
Выполняя каждый процесс, как описано выше, устройство 200 масштабируемого декодирования может управлять межуровневым пиксельным предсказанием и межуровневым предсказанием синтаксиса более легко и более соответствующим образом, позволяя, таким образом, добиться более подходящего компромисса (trade-off) между объемом вычислений и эффективностью кодирования. Другими словами, устройство 200 масштабируемого декодирования, управляя межуровневым предсказанием, может более адаптивно уменьшать ухудшение эффективности кодирования. Другими словами, устройство 200 масштабируемого кодирования может уменьшать ухудшение качества изображения из-за кодирования и декодирования. 10. Краткое изложение изобретения 3
В отношении межуровневого предсказания, например, в случае SHVC (Scalable High Efficiency Video Coding, масштабируемое видеокодирование высокой эффективности), две основополагающие работы по текстуре BL (TextureBL) и опорному индексу (Ref_idx) были предложены в работах Jianle Chen, Jill Boyce, Yan Ye, Miska M. Hannuksela, "SHVC Test Model 1 (SHM 1)", JCTVC-L1007, Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG16 WP3 и ISO/IEC JTC1/SC29/WG1112th Meeting: Женева, CH, 14-23 января 2013 г.
В случае основополагающей работы по текстуре BL (TextureBL), декодированное изображение базового уровня (Baselayer) (или его изображение с повышенной дискретизацией (upsample)) кодируется как изображение (внутрикадровый режим BL (IntraBL)) режимов внутрикадрового предсказания (Intra Prediction Mode). Возможны изменения синтаксиса (Syntax), чтобы быть на уровне или ниже уровня CU (CU-level) из версии 1 (Version 1).
С другой стороны, в случае структуры с опорным индексом (Ref_idx) декодированное изображение базового уровня (Baselayer) (или изображение с повышенной дискретизацией (upsample)) сохраняется в долгосрочном (Long-Term) опорном кадре (также называемом долгосрочным опорным кадром) и использующий его процесс предсказания выполняется. Изменения синтаксиса (Syntax) на уровне или ниже уровня CU (CU-level) из версии 1 (Version 1) невозможны.
Во всех картинках (Pictures), однако, межуровневое предсказание текстуры (Inter-layer Texture Prediction) требует при декодировании компенсации движения как на базовом уровне (Baselayer), так и на улучшенном уровне (Enhancementlayer). Это может увеличить объем вычислений и нагрузку для процесса декодирования. Это применяется не только в случае структуры с текстурой BL (TextureBL), но также и структуры с опорным индексом (Ref_idx) framework.
С этой точки зрения, выполнение межуровневого предсказания текстуры (inter-layer texture prediction) управляется для каждой картинки (Picture), управляя значением синтаксиса (syntax) в отношении долгосрочного (Long-Term) опорного кадра, хранящего декодированное изображение базового уровня (Baselayer) (или его изображение с повышенной дискретизацией (upsample)).
На фиг. 57 и 58 показаны примеры синтаксиса набора параметров последовательности (sep_parameter_set_rbsp). Как показано на фиг. 58, набор параметров последовательности (sep_parameter_set_rbsp) содержит синтаксис used_by_curr_pic_lt_sps_flag[i] в отношении долгосрочного опорного кадра.
Синтаксис used_by_curr_pic_lt_sps_flag[i] является флагом, управляющим тем, используется ли i-ый кандидат долгосрочной опорной картинки, указанный в наборе параметров последовательности в качестве опорного изображения. Если значение равно "0", i-ый кандидат долгосрочной опорной картинки не используется.
На фиг. 59-61 показаны примеры синтаксиса заголовка среза (slice_segment_header). Как показано на фиг. 59, заголовок среза (slice_segment_header) содержит синтаксис used_by_curr_pic_lt_sps_flag[i] в отношении долгосрочного опорного кадра.
Синтаксис used_by_curr_pic_lt_sps_flag[i] является флагом, управляющим тем, используется ли текущей картинкой i-ый ввод долгосрочного RPS (Reference Picture Set, набор опорной картинки) в текущей картинке в качестве опорного изображения. Если значение равно "0", i-ый ввод долгосрочного RPS не используется.
Например, выполнение межуровневого предсказания текстуры управляется для каждой картинки, управляя значением его синтаксиса. Другими словами, например, значение синтаксиса used_by_curr_pic_lt_sps_flag[i] или синтаксиса used_by_curr_pic_lt_flag[i] устанавливается равным "0", чтобы предотвратить межуровневое предсказание текстуры (inter-layer texture prediction). Напротив, значение синтаксиса used_by_curr_pic_lt_sps_flag[i] или синтаксиса used_by_curr_pic_lt_flag[i] устанавливается равным "1", чтобы разрешить межуровневое предсказание текстуры.
Таким образом, выполнение межуровневого предсказания текстуры может управляться для каждой картинки, управляя значением синтаксиса в отношении долгосрочного опорного кадра. Поэтому, выполнение компенсации движения каждого уровня в процессе декодирования может управляться в зависимости от ситуации, уменьшая, таким образом, увеличение нагрузки процесса декодирования.
11. Девятый вариант осуществления
Устройство кодирования изображения
Далее описывается устройство для реализации настоящей технологии, как описано выше, и способа для того же самого. На фиг. 62 показано устройство кодирования изображения, соответствующее варианту устройства обработки изображения, к которому применяется настоящая технология. Устройство 900 кодирования изображения, показанное на фиг. 62, является устройством для выполнения уровневого кодирования изображения. Это устройство 900 кодирования изображения является устройством обработки изображения, в основном, подобным устройству 100 масштабируемого кодирования, показанному на фиг. 9; однако, для удобства описания описание компонент, которые не относятся прямо к настоящей технологии, приведено в подразделе 10. Подраздел "Сущность изобретения 3" (например, блок 101 формирования общей информации, блок 102 управления кодированием и блок 104 управления межуровневым предсказанием) не приводится.
Как показано на фиг. 62, устройство 900 кодирования изображения содержит блок 901 кодирования изображения базового уровня, блок 902 кодирования изображения улучшенного уровня и мультиплексор 903.
Блок 901 кодирования изображения базового уровня является процессорным блоком, в основном, схожим с блоком 103 кодирования изображения базового уровня (фиг. 9), и кодирует изображение базового уровня, чтобы сформировать кодированный поток изображения базового уровня. Блок 902 кодирования изображения улучшенного уровня является процессорным блоком, в основном, схожим с блоком 105 кодирования изображения улучшенного уровня (фиг. 9), и кодирует изображение улучшенного уровня, чтобы сформировать кодированный поток изображения улучшенного уровня. Мультиплексор 903 мультиплексирует кодированный поток изображения базового уровня, сформированный блоком 902 кодирования изображения базового уровня, и кодированный поток изображения улучшенного уровня, сформированный блоком 902 кодирования изображения улучшенного уровня, формируя, таким образом, кодированный поток уровневого изображения. Мультиплексор 903 передает сформированный кодированный поток уровневого изображения на сторону декодирования.
Блок 901 кодирования изображения базового уровня подает декодированное изображение (также упоминаемое как декодированное изображение базового уровня), полученное при кодировании базового уровня на блок 902 кодирования изображения улучшенного уровня.
Блок 902 кодирования изображения улучшенного уровня получает декодированное изображение базового уровня, полученное от блока 901 кодирования изображения базового уровня и сохраняет изображение в нем. Блок 902 кодирования изображения улучшенного уровня использует хранящееся декодированное изображение базового уровня в качестве опорного изображения в процессе предсказания при кодировании улучшенного уровня.
Блок кодирования изображения базового уровня
На фиг. 63 представлена блок-схема примера основной структуры блока 901 кодирования изображения базового уровня, показанного на фиг. 62. Как видно на фиг. 63, блок 901 кодирования изображения базового уровня содержит A/D-преобразователь 911, буфер 912 перегруппировки экрана, блок 913 вычислений, блок 914 ортогонального преобразования, блок 915 квантования, блок 916 кодирования без потерь, накопительный буфер 917, блок 918 инверсного квантования, и блок 919 ортогонального преобразования. Кроме того, блок 901 кодирования изображения базового уровня содержит блок 920 вычислений, контурный фильтр 921, кадровую память 922, блок 923 выбора, блок 924 внутрикадрового предсказания, блок 925 межкадрового предсказания, блок 926 выбора предсказанного изображения и блок 927 регулировки скорости.
A/D-преобразователь 911 является процессорным блоком, подобным A/D-преобразователю 111 (фиг. 10) блока 103 кодирования изображения базового уровня. Буфер 912 перегруппировки экрана является процессорным блоком, подобным буферу 112 перегруппировки экрана (фиг. 10) блока 103 кодирования изображения базового уровня. Блок 913 вычислений является процессорным блоком, подобным блоку 113 вычислений (фиг. 10) блока 103 кодирования изображения базового уровня. Блок 914 ортогонального преобразования является процессорным блоком, подобным блоку 114 ортогонального преобразования (фиг. 10) блока 103 кодирования изображения базового уровня. Блок 915 квантования является процессорным блоком, подобным блоку 115 квантования (фиг. 10) блока 103 кодирования изображения базового уровня. Блок 916 кодирования без потерь является процессорным блоком, подобным блоку 116 кодирования без потерь (фиг. 10) блока 103 кодирования изображения базового уровня. Накопительный буфер 917 является процессорным блоком, подобным накопительному буферу 117 (фиг. 10) блока 103 кодирования изображения базового уровня.
Блок 918 инверсного квантования является процессорным блоком, подобным блоку 118 инверсного квантования (фиг. 10) блока 103 кодирования изображения базового уровня 103. блок 919 инверсного ортогонального преобразования является процессорным блоком, подобным блоку 119 инверсного ортогонального преобразования (фиг. 10) блока 103 кодирования изображения базового уровня. Блок 920 вычислений является процессорным блоком, подобным блоку 120 вычислений 120 (фиг. 10) блока 103 кодирования изображения базового уровня. Контурный фильтр 921 является процессорным блоком, подобным контурному фильтру 121 (фиг. 10) блока 103 кодирования изображения базового уровня.
Кадровая память 922 является процессорным блоком, подобным кадровой памяти 122 (фиг. 10) блока 103 кодирования изображения базового уровня. Однако, кадровая память 922 подает хранящееся декодированное изображение (также упоминаемое как декодированное изображение базового уровня) на блок 902 кодирования изображения улучшенного уровня.
Блок 923 выбора является процессорным блоком, подобным блоку 123 выбора (фиг. 10) блока 103 кодирования изображения базового уровня.
Блок 924 внутрикадрового предсказания является процессорным блоком, подобным блоку 124 внутрикадрового предсказания (фиг. 10) блока 103 кодирования изображения базового уровня, блок 924 внутрикадрового предсказания выполняет предсказание на экране (также называемое внутрикадровое предсказание) для каждого заданного блока (в одиночном блоке блока) для текущей картинки в качестве изображения кадра, который должен обрабатываться, и формирует предсказанное изображение. В случае внутрикадрового предсказания пиксельные значения обработанных пикселей (также упоминаемых как периферийные пиксели), расположенных пространственно вокруг текущего блока, который должен обрабатываться (то есть, расположенных вокруг текущего блока в текущей картинке), используются в качестве опорного изображения, используемого при предсказании. Блок 924 внутрикадрового предсказания получает опорное изображение из реконструированного изображения, хранящегося в кадровой памяти 922 (через блок 923 выбора).
При этом внутрикадровом предсказании (то есть, пути формирования генерировать предсказанного изображения) существует множество способов (также упоминаемых как режимы внутрикадрового предсказания), подготовленных заранее в качестве кандидатов. Блок 924 внутрикадрового предсказания выполняет внутрикадровое предсказание во всех подготовленных режимах внутрикадрового предсказания. Затем блок 924 внутрикадрового предсказания вычисляет значение функции стоимости предсказанного изображения во всех сформированных режимах внутрикадрового предсказания, используя входное изображение, поданное из буфера 912 перегруппировки экрана, и выбирает оптимальный режим, основываясь на значении функции стоимости.
После выбора оптимального режима внутрикадрового предсказания блок 924 внутрикадрового предсказания подает предсказанное изображение, сформированное в оптимальном режиме на блок 926 выбора предсказанного изображения. Затем блок 924 внутрикадрового предсказания подает информацию о режиме внутрикадрового предсказания и т.д., представляющую используемый режим внутрикадрового предсказания, в зависимости от ситуации, на блок 916 кодирования без потерь, где информация кодируется.
Блок 925 межкадрового предсказания является процессорным блоком, подобным блоку 125 предсказания/компенсации движения (фиг. 10) блока 103 кодирования изображения базового уровня. Блок 925 межкадрового предсказания выполняет межэкранное предсказание (также упоминаемое как межкадровое предсказание) для каждого заданного блока (в единичном блоке блока) для текущей картинки и формирует предсказанное изображение. В случае межкадрового предсказания пиксельные значения обработанных пикселей, временно расположенных вокруг текущего блока, который должен обрабатываться (то есть, блока, расположенного в соответствии с текущим блоком в картинке, отличной от текущей картинки), используются в качестве опорного изображения, используемого при предсказании. Блок 925 межкадрового предсказания получает опорное изображение из реконструированного изображения, хранящегося в кадровой памяти 922 (через блок 923 выбора).
Межкадровое предсказание образуется из предсказания движения и компенсации движения. Блок 925 межкадрового предсказания выполняет предсказание движения для текущего блока, используя данные изображения (входное изображение) текущего блока, поданные от буфера 912 перегруппировки экрана, и данные изображения опорного изображения, поданные как опорное изображение из кадровой памяти 922, и обнаруживает вектор движения. Затем, блок 925 межкадрового предсказания выполняет процесс компенсации движения в соответствии с обнаруженным вектором движения, используя опорное изображение, и формирует предсказанное изображение текущего блока.
При межкадровом предсказании (то есть, посредством формирования предсказанного изображения), множество способов (также упоминаемых как режимы межкадрового предсказания) подготавливаются заранее в качестве кандидатов (возможных режимов). Блок 925 межкадрового предсказания выполняет межкадровое предсказание во всех подготовленных режимах межкадрового предсказания. Блок 925 межкадрового предсказания выполняет межкадровое предсказание во всех подготовленных режимах межкадрового предсказания. Блок 925 межкадрового предсказания вычисляет значения функции стоимости предсказанных изображений для всех сформированных режимов межкадрового предсказания с использованием входного изображения, поданного из буфера 912 перегруппировки экрана, или информации сформированного разностного вектора движения, и выбирает оптимальный режим, основываясь на значениях функции стоимости.
После выбора оптимального режима межкадрового предсказания блок 925 межкадрового предсказания подает предсказанное изображение, сформированное в оптимальном режиме, на блок 926 выбора предсказанного изображения. Когда информация, представляющая используемый режим межкадрового предсказания, или кодированные данные, декодируются, блок 925 межкадрового предсказания подает информацию, необходимую в процессе в режиме межкадрового предсказания, на блок 916 кодирования без потерь, где информация кодируется. Необходимая информация соответствует, например, информации сформированного разностного вектора движения или флагу, представляющему индекс предсказанного вектора движения в качестве информации о векторе предсказания движения.
Блок 926 выбора предсказанного изображения является процессорным блоком, подобным блоку 126 выбора предсказанного изображения (фиг. 10) блока 103 кодирования изображения базового уровня. Блок 927 регулировки скорости является процессорным блоком, подобным блоку 127 регулировки скорости (фиг. 10) блока 103 кодирования изображения базового уровня.
Заметим, что блок 901 кодирования изображения базового уровня кодирует, не обращаясь к другим уровням. Другими словами, блок 924 внутрикадрового предсказания и блок 925 межкадрового предсказания не используют декодированные изображения других уровней в качестве опорного изображения.
Блок кодирования изображения улучшенного уровня
На фиг. 64 представлена блок-схема, показывающая пример основной структуры блока 902 кодирования изображения улучшенного уровня, показанного на фиг. 62. Как видно на фиг. 64, блок 902 кодирования изображения улучшенного уровня имеет структуру, в основном, схожую с блоком 901 кодирования изображения базового уровня, показанном на фиг. 63.
Другими словами, блок 902 кодирования изображения улучшенного уровня содержит, как показано на фиг. 64, A/D-преобразователь 931, буфер 932 перегруппировки экрана, блок 933 вычислений, блок 934 ортогонального преобразования, блок 935 квантования, блок 936 кодирования без потерь, накопительный буфер 937, блок 938 инверсного квантования и блок 939 инверсного ортогонального преобразования. Блок 902 кодирования изображения улучшенного уровня дополнительно блок 940 вычислений, контурный фильтр 941, кадровую память 942, блок 943 выбора, блок 944 внутрикадрового предсказания, блок 945 межкадрового предсказания, блок 946 выбора предсказанного изображения и блок 947 регулировки скорости.
A/D-преобразователь 931 для блока 947 регулировки скорости соответствует A/D-преобразователю 911 для блока 927 регулировки скорости, показанного на фиг. 63, соответственно, и выполняет процесс соответствующих процессорных блоков. Однако, каждый отдельный блок блока 902 кодирования изображения улучшенного уровня выполняет процесс кодирования информации об изображении, но не базового уровня, а улучшенного уровня. Поэтому, хотя описание для A/D-преобразователя 911 блока 927 регулировки скорости, показанного на фиг. 63, может применяться к A/D-преобразователю 931 для блока 947 регулировки скорости, необходимо, чтобы данные, которые должны обрабатываться в этом случае, были данными улучшенного уровня, а не базового уровня. Кроме того, в этом случае процессорный блок, из которого вводятся данные или в который данные выводятся, необходимо заменить соответствующим процессорным блоком в A/D-преобразователе 931 для блока 947 регулировки скорости.
Заметьте, что блок 902 кодирования изображения улучшенного уровня выполняет кодирование со ссылкой на информацию другого уровня (например, базового уровня). Описание выполнения блоком 902 кодирования изображения улучшенного уровня вышеупомянутого процесса приводится в разделе "10. Сущность изобретения 3".
Например, кадровая память 942 может хранить множество опорных кадров и не только сохраняет декодированное изображение улучшенного уровня (также упоминаемое как декодированное изображение улучшенного уровня), но также получает, декодированное изображение базового уровня от блока 901 кодирования изображения базового уровня и сохраняет изображение в качестве долгосрочного опорного кадра. В этом случае декодированное изображение базового уровня, хранящееся в кадровой памяти 942, может быть изображением, для которого была проведена повышенная дискретизация (например, кадровая память 942 может провести повышенную дискретизацию декодированного изображения базового уровня, поданного от блока 901 кодирования изображения базового уровня, и сохранить изображение с повышенной дискретизацией).
Способом, аналогичным случаю блока 901 кодирования изображения базового уровня, изображение, хранящееся в кадровой памяти 942, то есть, декодированное изображение улучшенного уровня или декодированное изображение базового уровня используется в качестве опорного изображения в процессе предсказания блоком 944 внутрикадрового предсказания или блоком 945 межкадрового предсказания.
Другими словами, блок 944 внутрикадрового предсказания имеет режим BL-текстуры (texture BL) в качестве одного из возможных режимов внутрикадрового предсказания. В случае режима BL-текстуры не текущая картинка улучшенного уровня, а декодированное изображение базового уровня текущей картинки используется в качестве опорного изображения. Другими словами, блок 944 внутрикадрового предсказания получает пиксельное значение блока (также называемого связанным блоком) текущей картинки базового уровня, которое соответствует текущему блоку улучшенного уровня, из долгосрочного опорного кадра кадровой памяти 942 (через блок 943 выбора), и выполняет внутрикадровое предсказание, используя пиксельное значение в качестве опорного изображения.
Затем, блок 944 внутрикадрового предсказания вычисляет и оценивает значение функции стоимости способом, подобным другим режимам внутрикадрового предсказания. Другими словами, блок 944 внутрикадрового предсказания выбирает оптимальный режим внутрикадрового предсказания из числа всех возможных режимов внутрикадрового предсказания, в том числе, режима BL-текстуры.
Аналогично, блок 945 межкадрового предсказания имеет режим опорного индекса (Ref_idx) как один из возможных режимов межкадрового предсказания. В случае режима опорного индекса декодированное изображение не для картинки улучшенного уровня, а для картинки базового уровня используется в качестве опорного изображения. Другими словами, блок 945 межкадрового предсказания получает декодированное изображение базового уровня, хранящееся в долгосрочном опорном кадре кадровой памяти 942 в качестве опорного изображения и выполняет межкадрового предсказание (предсказание движения или компенсация движения), используя изображение.
Затем блок 945 межкадрового предсказания вычисляет и оценивает значение функции стоимости способом, подобным режиму межкадрового предсказания. Другими словами, блок 945 межкадрового предсказания выбирает оптимальный режим межкадрового предсказания из числа всех возможных режимов межкадрового предсказания, в том числе режима опорного индекса.
В этой связи, как показано на фиг. 64, блок 902 кодирования изображения улучшенного уровня дополнительно содержит блок 948 формирования заголовка.
Блок 948 формирования заголовка формирует, например, информацию о заголовка, такую как набор параметров последовательности (SPS), набор параметров картинки (PPS), и заголовок среза. В этом случае блок 948 формирования заголовка управляет значением синтаксиса used_by_curr_pic_lt_sps_flag[i] в отношении долгосрочного опорного кадра набора параметров последовательности (sep_parameter_set_rbsp) или значения синтаксиса used_by_curr_pic_lt_flag[i] в отношении долгосрочного опорного кадра заголовка среза (slice_segment_header).
Например, блок 948 формирования заголовка устанавливает значение синтаксиса used_by_curr_pic_lt_sps_flag[i] или синтаксиса used_by_curr_pic_lt_flag[i] равным "0" относительно картинки, для которой запрещается межуровневое предсказание текстуры. Кроме того, блок 948 формирования заголовка 948 устнавливает значение значение синтаксиса used_by_curr_pic_lt_sps_flag[i] или синтаксиса used_by_curr_pic_lt_flag[i] равным "1" относительно картинки, для которой разрешено межуровневое предсказание текстуры.
Блок 948 формирования заголовка подает таким образом сформированную информацию заголовка на блок 936 кодирования без потерь. Блок 936 кодирования без потерь кодирует информацию заголовка, поданную от блока 948 формирования заголовка, подает информацию заголовка с информацией, содержащейся в кодированных данных (кодированный поток), на накопительный буфер 117 и передает данные стороне декодирования.
Кроме того, блок 948 формирования заголовка, в зависимости от ситуации, подает таким образом сформированную информацию заголовка на каждый процессорный блок блока 902 кодирования изображения улучшенного уровня. Каждый процессорный блок блока 902 кодирования изображения улучшенного уровня выполняет процесс в соответствии с информацией о заголовке, в зависимости от ситуации.
Блок 944 внутрикадрового предсказания выполняет внутрикадровое предсказание в соответствии со значением синтаксиса used_by_curr_pic_lt_sps_flag[i] или синтаксиса used_by_curr_pic_lt_flag[i], установленного блоком 948 формирования заголовка. Например, если значение синтаксиса used_by_curr_pic_lt_sps_flag[i] или синтаксиса used_by_curr_pic_lt_flag[i] равно "0", блок 944 внутрикадрового предсказания выполняет внутрикадровое предсказание без использования режима BL-текстуры. То есть, для этой картинки декодированное изображение базового уровня не используется при внутрикадровом предсказании. Другими словами, для этой картинки при внутрикадровом предсказании компенсация движения для межкадрового предсказания текстуры не приводится. Напротив, в случае, когда синтаксис used_by_curr_pic_lt_sps_flag[i] или синтаксис used_by_curr_pic_lt_flag[i] равен "1", блок 944 внутрикадрового предсказания 944 выполняет внутрикадровое предсказание, используя режим BL-текстуры в качестве одного из возможных режимов.
Блок 945 межкадрового предсказания выполняет межкадрового предсказание, основываясь на значении синтаксиса used_by_curr_pic_lt_sps_flag[i] или синтаксиса used_by_curr_pic_lt_flag[i], установленном блоком 948 формирования заголовка. Например, в случае, когда значение синтаксиса used_by_curr_pic_lt_sps_flag[i] или синтаксиса used_by_curr_pic_lt_fiag[i] равно "0", блок 945 межкадрового предсказания выполняет межкадрового предсказание, не используя режим опорного индекса. Другими словами, для этой картинки, декодированное изображение базового уровня не используется при межкадровом предсказании. При межкадровом предсказании для этой картинки компенсация движения для межуровневого предсказания текстуры не приводится. Напротив, если значение синтаксиса used_by_curr_pic_lt_sps_flag[i] или синтаксиса used_by_curr_pic_lt_flag[i] равно "1", блок 945 межкадрового предсказания выполняет межкадровое предсказание, используя режим опорного индекса в качестве одного возможного режима.
Таким образом устройство 900 кодирования изображения может управлять выполнением межуровневого предсказания текстуры в процессе декодирования улучшенного уровня для каждой картинки, управляя значением синтаксиса для долгосрочного опорного кадра, выполняя внутрикадровое предсказание или межкадровое предсказание, основываясь на значении синтаксиса, и дополнительно передавая значение синтаксиса стороне декодирования. Другими словами, устройство 900 кодирования изображения может управлять выполнением компенсации движения каждого уровня в процессе декодирования, в зависимости от ситуации, подавляя, таким образом, увеличение нагрузки в процессе декодирования.
Последовательность выполнения операций процесса кодирования изображения
Далее описывается последовательность выполнения операций каждого процесса, который должен выполняться устройством 900 кодирования изображения 900, указанным выше. Сначала, со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 65, описывается последовательность выполнения операций процесса кодирования изображения.
После начала процесса кодирования изображения на этапе S901 блок 901 кодирования изображения базового уровня устройства 900 кодирования изображения кодирует данные изображения базового уровня.
На этапе S902 блок 948 формирования заголовка блока 902 кодирования изображения улучшенного уровня формирует набор параметров последовательности улучшенного уровня.
На этапе S903 блок 902 кодирования изображения улучшенного уровня кодирует данные изображения улучшенного уровня, используя набор параметров последовательности, сформированный на этапе S902.
На этапе S904 мультиплексор 903 мультиплексирует кодированный поток изображения базового уровня, сформированный в процессе на этапе S901, и кодированный поток изображения улучшенного уровня, сформированный в процессе на этапе S903 (то есть, кодированные потоки уровней), формируя, таким образом, одну систему кодированного потока многоуровневого изображения.
После окончания процесса на этапе S904 процесс кодирования изображения заканчивается.
Заметим, что блок 948 формирования заголовка формирует информацию заголовка, отличную от набора параметров последовательности; однако, описание его пропускается, за исключением заголовка среза, который будет описан ниже. Кроме того, блок 901 кодирования изображения базового уровня (например, блок 916 кодирования без потерь) формирует информацию заголовка, такую как набор параметров последовательности, набор параметров картинки и заголовок среза, но описание их не приводится.
Каждый процесс на этапе S901, этапе S903 и этапе S904 выполняется для каждой картинки. Процесс на этапе S902 выполняется для каждой последовательности.
Последовательность выполнения операций процесса кодирования базового уровня
Далее, со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 66, описывается пример последовательности выполнения операций процесса кодирования базового уровня, который должен выполняться на этапе S901, показанном на фиг. 65.
После начала процесса кодирования базового уровня каждый процесс на этапах S921-S923 выполняется способом, подобным каждому процессу на этапах S141-S143, показанных на фиг. 15.
На этапе S924 блок 925 межкадрового предсказания выполняет процесс межкадрового предсказания, в котором компенсация движения или предсказание движения выполняется в режиме межкадрового предсказания.
Каждый процесс на этапах S925-S933 выполняется способом, подобным каждому процессу на этапах S145-S153, показанных на фиг. 15. Каждый процесс на этапах S934-S936 выполняется способом, подобным каждому процессу на этапах S155-S157, показанных на фиг. 15.
На этапе S937 кадровая память 922 подает декодированное изображение базового уровня, полученное в процессе кодирования базового уровня, как описано выше, для выполнения процесса кодирования для улучшенного уровня.
После окончания процесса на этапе S937 процесс кодирования базового уровня заканчивается и процесс возвращаются к фиг. 65.
Последовательность выполнения операций процесса формирования набора параметров последовательности
Далее, со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 67, описывается пример последовательности выполнения операций процесса формирования набора параметров последовательности, выполняемого на этапе S902, показанном на фиг. 65.
После начала процесса формирования набора параметров последовательности блок 948 формирования заголовка блока 902 кодирования изображения улучшенного уровня на этапе S941 устанавливает синтаксис used_by_curr_pic_lt_sps_flag[i] в отношении долгосрочного опорного кадра.
На этапе S942 блок 948 формирования заголовка устанавливает значения других синтаксисов и формирует набор параметров последовательности, содержащий эти синтаксисы и синтаксис used_by_curr_pic_lt_sps_flag[i], установленный на этапе S941.
После окончания процесса на этапе S942 процесс формирования набора параметров последовательности заканчивается и процесс возвращается к фиг. 65.
Последовательность выполнения операций процесса кодирования улучшенного уровня
Далее, со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 68, описывается последовательность выполнения операций процесса кодирования улучшенного уровня, который должен выполняться на этапе S903, показанном на фиг. 65.
После начала процесса кодирования улучшенного уровня, каждый процесс на этапе S951 и на этапе S952 выполняется способом, подобным каждому процессу на этапах S191 и S192, показанных на фиг. 17.
На этапе S953 блок 948 формирования заголовка устанавливает синтаксис used_by_curr_pic_lt_flag[i] в отношении долгосрочного опорного кадра.
На этапе S954 блок 948 формирования заголовка устанавливает значения других синтаксисов и формирует заголовок среза, содержащий эти синтаксисы и синтаксис used_by_curr_pic_lt_flag[i], установленный на этапе S953.
На этапе S955 блок 944 внутрикадрового предсказания выполняет процесс внутрикадрового предсказания.
На этапе S956 блок 945 межкадрового предсказания выполняет процесс межкадрового предсказания.
Каждый процесс на этапах S957-S968 выполняется способом, подобным каждому процессу на этапах S195-S206, показанных на фиг. 17.
После окончания процесса на этапе S968 процесс кодирования улучшенного уровня заканчивается и процесс возвращается к фиг. 65.
Последовательность выполнения операций процесса внутрикадрового предсказания
Далее, со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 69, описывается последовательность выполнения операций процесса внутрикадрового предсказания, который должен выполняться на этапе S955, показанном на фиг. 68.
После начала процесса внутрикадрового предсказания блок 944 внутрикадрового предсказания формирует предсказанное изображение в каждом режиме, выполняя на этапе S971 внутрикадровое предсказание в каждом возможном режиме, кроме режима BL-текстуры.
На этапе S972 блок 944 внутрикадрового предсказания определяет, обращаться ли к изображению базового уровня, на основе синтаксиса used_by_curr_pic_lt_sps_flag[i] набора параметров последовательности (sep_parameter_set_rbsp), установленного на этапе S941, показанном на фиг. 67, и синтаксиса used_by_curr_pic_lt_flag[i] заголовка среза (slice_segment_header), установленного на этапе S953, показанном на фиг. 68.
Например, если значения этих синтаксисов установлены равными "1" и было определено, что происходит обращение к изображению базового уровня, процесс переходит к этапу S973. На этапе S973 блок 944 внутрикадрового предсказания выполняет внутрикадровое предсказание в режиме BL-текстуры и формирует предсказанное изображение режима BL-текстуры. После формирования предсказанного изображения в режиме BL-текстуры, процесс переходит к этапу S974. Если значения этих синтаксисов установлены равными "0" и на этапе S972 было определено, что не происходит обращение к изображению базового уровня, процесс переходит к этапу S974.
На этапе S974 блок 944 внутрикадрового предсказания вычисляет значение функции стоимости предсказанного изображения  в каждом режиме внутрикадрового предсказания. На этапе S975 блок 944 внутрикадрового предсказания определяет оптимальный режим предсказания, используя значение функции стоимости, вычисленное на этапе S974. На этапе S976 блок 944 внутрикадрового предсказания кодирует информацию о режиме внутрикадрового предсказания, которая является информацией, относящейся к режиму внутрикадрового предсказания, определенному в качестве оптимального режима предсказания на этапе S975, и подает информацию на блок 936 кодирования без потерь.
После окончания процесса на этапе S976 процесс внутрикадрового предсказания заканчивается и процесс возвращается к фиг. 68.
Последовательность выполнения операций процесса межкадрового предсказания
Далее, со ссылкой на блок-схему последовательности выполнения операций процесса, показанную на фиг. 70, будет описан пример последовательности выполнения операций процесса межкадрового предсказания, который должен выполняться на этапе S956, показанном на фиг. 68.
После начала процесса межкадрового предсказания блок 945 межкадрового предсказания на этапе S981 выполняет межкадровое предсказание в каждом возможном режиме, кроме режима опорного индекса, и формирует предсказанное изображение в каждом режиме.
На этапе S982 блок 945 межкадрового предсказания определяет, обращаться ли к изображению базового уровня, на основе синтаксиса used_by_curr_pic_lt_sps_flag[i] набора параметров последовательности (sep_parameter_set_rbsp), установленного на этапе S941, показанном на фиг. 67, и синтаксиса used_by_curr_pic_lt_flag[i] заголовка среза (slice_segment_header), установленного на этапе S953, показанном на фиг. 68.
Например, если значения этих синтаксисов установлены равными "1" и было определено, что происходит обращение к изображению базового уровня, процесс переходит к этапу S983. На этапе S983 блок 945 внутрикадрового предсказания выполняет межкадровое предсказание в режиме опорного индекса и формирует предсказанное изображение для режима опорного индекса. После формирования предсказанного изображения в режиме опорного индекса, процесс переходит к этапу S984. Если значения этих синтаксисов установлены равными "0" и на этапе S982 было определено, что не происходит обращение к изображению базового уровня, процесс переходит к этапу S984.
На этапе S984 блок 945 межкадрового предсказания вычисляет значение функции стоимости предсказанного изображения в каждом режиме межкадрового предсказания. На этапе S985 блок 945 внутрикадрового предсказания определяет оптимальный режим предсказания, используя значение функции стоимости, вычисленное на этапе S984. На этапе S986 блок 945 межкадрового предсказания кодирует информацию о режиме межкадрового предсказания, которая является информацией, относящейся к режиму межкадрового предсказания, определенному в качестве оптимального режима предсказания на этапе S985, и подает информацию на блок 936 кодирования без потерь.
После окончания процесса на этапе S986 процесс межкадрового предсказания заканчивается и процесс возвращается к фиг. 68.
Выполняя каждый процесс, как показано выше, устройство 900 кодирования изображения (блок 902 кодирования изображения улучшенного уровня), в зависимости от ситуации, может управлять выполнением компенсации движения каждого уровня в процессе декодирования, уменьшая, таким образом, увеличение нагрузки процесса декодирования.
12. Десятый вариант осуществления
Устройство декодирования изображения
Далее описывается декодирование вышеупомянутых кодированных данных. На фиг. 71 представлена блок-схема примера основной структуры устройства декодирования изображения, соответствующего устройству 900 кодирования изображения, показанному на фиг. 62, которое является вариантом устройства обработки изображения, к которому применена настоящая технология. Устройство 1000 декодирования изображения, показанное на фиг. 71, декодирует кодированные данные, сформированные устройством 900 кодирования изображения, посредством способа декодирования, соответствующего способу кодирования (то есть, кодированные данные, которые подверглись уровневому кодированию, подвергаются уровневому декодированию). Это устройство 1000 декодирования является устройством обработки изображения, в основном, сходим с устройством 200 масштабируемого декодирования, показанным на фиг. 19; однако, для удобства описания, описание компонент, которые не относятся непосредственно к настоящей технологии, описанной в разделе 10 "Сущность изобретения 3" (таких как блок 201 получения общей информации, блок 202 управления декодированием и блок 204 управления межуровневым предсказанием), не приводится.
Как показано на фиг. 71, устройство 1000 декодирования изображения содержит демультиплексор 1001, блок 1002 декодирования изображения базового уровня и блок 1003 декодирования изображения улучшенного уровня.
Демультиплексор 1001 принимает кодированный поток многоуровневого изображения, в котором кодированный поток изображения базового уровня и кодированный поток изображения улучшенного уровня мультиплексированы и который был передан со стороны кодирования, демультиплексирует поток и извлекает кодированный поток изображения базового уровня и кодированный поток изображения улучшенного уровня. Блок 1002 декодирования изображения базового уровня является процессорным блоком, в основном, подобным блоку 203 декодирования изображения базового уровня (фиг. 19), и декодирует кодированный поток изображения базового уровня, извлеченный демультиплексором 1001, и обеспечивает изображение базового уровня. Блок 1003 декодирования изображения улучшенного уровня является процессорным блоком, в основном, подобным блоку 205 декодирования изображения улучшенного уровня (фиг. 19), и декодирует кодированный поток изображения улучшенного уровня, извлеченный демультиплексором 1001, и обеспечивает изображение улучшенного уровня.
Блок 1002 декодирования изображения базового уровня подает декодированное изображение базового уровня, полученное декодированием базового уровня, на блок 1003 декодирования изображения улучшенного уровня.
Блок 1003 декодирования изображения улучшенного уровня подает декодированное изображение базового уровня, полученное от блока 1002 декодирования изображения базового уровня, и запоминает изображение. Блок 1003 декодирования изображения улучшенного уровня использует сохраненное декодированное изображение базового уровня в качестве опорного изображения в процесс предсказания при декодировании улучшенного уровня.
Блок декодирования изображения базового уровня
На фиг. 72 представлена блок-схема примера основной структуры блока 1002 декодирования изображения базового уровня, показанного на фиг. 71. Как показано на фиг. 72, блок 1002 декодирования изображения основного уровня содержит накопительный буфер 1011, блок 1012 декодирования без потерь, блок 1013 инверсного квантования, блок 1014 инверсного ортогонального преобразования, блок 1015 вычислений, контурный фильтр 1016, буфер 1017 перегруппировки экрана и блок 1018 цифро-аналогового (D/A) преобразователя. Блок 1002 декодирования изображения базового уровня содержит кадровую память 1019, блок 1020 выбора, блок 1021 внутрикадрового предсказания, блок 1022 межкадрового предсказания и блок 1023 выбора предсказанного изображения.
Накопительный буфер 1011 является процессорным блоком, схожим с накопительным буфером 211 (фиг. 20) блока 203 декодирования изображения базового уровня. Блок 1012 декодирования без потерь является процессорным блоком, схожим с блоком 212 декодирования без потерь (фиг. 20) блока 203 декодирования изображения базового уровня. Блок 1013 инверсного квантования является процессорным блоком, схожим с блоком 213 инверсного квантования (фиг. 20) блока 203 декодирования изображения базового уровня. Блок 1014 инверсного ортогонального преобразования является процессорным блоком, схожим с блоком 214 инверсного ортогонального преобразования (фиг. 20) блока 203 декодирования изображения базового уровня. Блок 1015 вычислений является процессорным блоком, схожим с блоком 215 вычислений (фиг. 20) блока 203 декодирования изображения базового уровня. Блок 1016 контурного фильтра является процессорным блоком, схожим с блоком 216 контурного фильтра (фиг. 20) блока 203 декодирования изображения базового уровня. Буфер 1017 перегруппировки экрана является процессорным блоком, схожим с буфером 217 перегруппировки экрана (фиг. 20) блока 203 декодирования изображения базового уровня. D/A-преобразователь 1018 является процессорным блоком, схожим с D/A-преобразователем 218 (фиг. 20) блока 203 декодирования изображения базового уровня.
Блок 1019 кадровой памяти является процессорным блоком, схожим с блоком 219 кадровой памяти (фиг.20) блока 203 декодирования изображения базового уровня. Однако, кадровая память 1019 подает хранящееся декодированное изображение (также упоминаемое как декодированное изображение базового уровня) на блок 1003 декодирования изображения улучшенного уровня.
Блок 1020 выбора является процессорным блоком, схожим с блоком 220 выбора (фиг. 20) блока 203 декодирования изображения базового уровня.
В блок 1021 внутрикадрового предсказания информация о режиме внутрикадрового предсказания и т.п., в зависимости от ситуации, подается от блока 1012 декодирования без потерь. Блок 1021 внутрикадрового предсказания выполняет внутрикадровое предсказание в режиме внутрикадрового предсказания (оптимальном режиме внутрикадрового предсказания), используемом при внутрикадровом предсказании при кодировании, и формирует предсказанное изображение для каждого заданного блока (в отдельном блоке блока). В этом случае, блок 1021 внутрикадрового предсказания выполняет внутрикадровое предсказание, используя данные изображения для реконструированного изображения (изображения, сформированного путем суммирования предсказанного изображения, выбранного блоком 1023 выбора предсказанного изображения, и декодированных остаточных данных (информация разностного изображения), полученных от блока 214 инверсного ортогонального преобразования и, в зависимости от ситуации, подвергнутых процессу деблокирующей фильтрации), поданные из кадровой памяти 1019 через блок 1020 выбора. Другими словами, блок 1021 внутрикадрового предсказания использует это реконструированное изображение как опорное изображение (периферийные пиксели). Блок 1021 внутрикадрового предсказания подает сформированное предсказанное изображение на блок 1023 выбора предсказанного изображения.
В блок 1022 внутрикадрового предсказания информация об оптимальном режиме предсказания или информация о движении, в зависимости от ситуации, подается от блока 1012 декодирования без потерь. Блок 1022 межкадрового предсказания выполняет межкадровое предсказание в режиме межкадрового предсказания (оптимальном режиме межкадрового предсказания), используемом при межкадровом предсказании при кодировании, и формирует предсказанное изображение для каждого заданного блока (в отдельном блоке блока). В этом случае, блок 1022 межкадрового предсказания использует декодированное изображение (реконструированное изображение, подвергнутое процессу контурной фильтрации или т.п.), поданное из кадровой памяти 1019 через блок 1020 выбора, в качестве опорного изображения и выполняет межкадровое предсказание. Блок 1022 межкадрового предсказания подает сформированное предсказанное изображение на блок 1023 выбора предсказанного изображения.
Блок 1023 выбора предсказанного изображения является процессорным блоком, схожим с блоком 223 выбора (фиг. 20) блока 203 декодирования изображения базового уровня.
Заметим, что блок 1002 декодирования базового уровня осуществляет декодирование, не обращаясь к другим уровням. Другими словами, ни блок 1021 внутрикадрового предсказания, ни блок 1022 межкадрового предсказания не используют декодированное изображение других уровней в качестве опорного изображения.
Блок декодирования изображения улучшенного уровня
На фиг. 73 представлена блок-схема примера основной структуры блока 1003 декодирования изображения улученного уровня, показанного на фиг. 71. Как показано на фиг. 73, блок 1003 декодирования изображения улучшенного уровня имеет структуру, в основном, схожую с блоком 1002 декодирования изображения основного уровня, показанным на фиг. 72.
Другими словами, блок 1003 декодирования изображения улучшенного уровня, как показано на фиг. 73, содержит накопительный буфер 1031, блок 1032 декодирования без потерь, блок 1033 инверсного квантования, блок 1034 инверсного ортогонального преобразования, блок 1035 вычислений, контурный фильтр 1036, буфер 1037 перегруппировки экрана и D/A-преобразователь 1038. Блок 1003 декодирования улучшенного уровня дополнительно содержит кадровую память 1039, блок 1040 выбора, блок 1041 внутрикадрового преобразования, блок 1042 межкадрового предсказания и блок 1043 выбора предсказанного изображения.
Накопительный буфер 1031 в блоке 1043 выбора предсказанного изображения соответствует накопительному буферу 1011 в блоке 1023 выбора предсказанного изображения, показанном на фиг. 72, соответственно, и выполняет процесс, процесс, подобно соответствующим процессорным блокам. Каждый блок блока 1003 декодирования изображения улучшенного уровня, однако, выполняет процесс для кодирования информации изображения, но не базового уровня, а улучшенного уровня. Поэтому описание накопительного буфера 1011 в блоке 1023 выбора предсказанного изображения, показанном на фиг. 72, может применяться к процессу накопительного буфера 1031 в блоке 1043 выбора предсказанного изображения, однако, в этом случае необходимо, чтобы данные, которые должны обрабатываться в этом случае, были данными не базового уровня, а улучшенного уровня. Кроме того, процессорный блок, из которого вводятся данные или в который данные выводятся, необходимо заменить соответствующим процессорным блоком блока 1003 декодирования изображения улучшенного уровня.
Заметим, что блок 1003 декодирования изображения улучшенного уровня выполняет кодирование со ссылкой на информацию других уровней (например, базового уровня). Блок 1003 декодирования изображения улучшенного уровня выполняет процесс, описанный в подразделе 10 "Краткое представление изобретения 3".
Например, кадровая память 1039 может хранить множество опорных кадров и не просто хранит декодированное изображение улучшенного уровня (также упоминаемое как декодированное изображение улучшенного уровня), но также получает декодированное изображение базового уровня от блока 1002 декодирования изображения базового уровня и сохраняет изображение как долгосрочный опорный кадр. В этом случае декодированное изображение базового уровня, сохраненное в кадровой памяти 1039, может быть изображением, подвергнутым процессу повышения дискретизации (например, кадровая память 1039 может осуществить повышение дискретизации и сохранить декодированное изображение базового уровня, поданное от блока 1002 декодирования изображения базового уровня).
Способом, подобным случаю блока 1002 декодирования изображения базового уровня, изображение, хранящееся в кадровой памяти 1039, то есть, декодированное изображение улучшенного уровня или декодированное изображение базового уровня используется в качестве опорного изображения в процессе предсказания блоком 1041 внутрикадрового предсказания или блоком 1042 межкадрового предсказания.
Например, если режим BL-текстуры (texture BL) используется при внутрикадровом предсказавшие для кодирования, блок 10431 внутрикадрового предсказания выполняет внутрикадровое предсказание посредством режима BL-текстуры. Другими словами, блок 1041 внутрикадрового предсказания получает пиксельное значение связанного блока улучшенного уровня в текущей картинке базового уровня из кадровой памяти 1039 долгосрочного опорного кадра (через блок 1040 выбора), выполняет внутрикадровое предсказание, используя пиксельное значение в качестве опорного изображения, и формирует предсказанное изображение. Сформированное предсказанное изображение подается на блок 1035 вычислений через блок 1043 выбора выбора предсказанного изображения.
Например, если при межкадровом предсказании для кодирования используется режим опорного индекса (Ref_idx), блок 1042 межкадрового предсказания выполняет межкадровое предсказание с помощью режима опорного индекса (Ref_idx). Другими словами, блок 1042 межкадрового предсказания получает декодированное изображение базового уровня, зранящееся в долгосрочном опорном кадре кадровой памяти 1039, выполняет межкадрового предсказание, используя изображение в качестве опорного изображения, и формирует предсказанное изображение. Сформированное предсказанное изображение подается на блок 1035 вычислений через блок 1043 выбора предсказанного изображения.
Как показано на фиг. 73, блок 1003 декодирования изображения улучшенного уровня дополнительно содержит блок 1044 расшифровки заголовка.
Блок 1044 расшифровки заголовка расшифровывает информацию заголовка, извлеченную блоком декодирования без потерь, такую как набор параметров последовательности (SPS), набор параметров картинки (PPS) или заголовок среза. В этом случае блок 1044 расшифровки заголовка расшифровывает значение синтаксиса used_by_curr_pic_lt_sps_flag[i] в отношении долгосрочного опорного кадра набора параметров последовательности (sep_parameter_set_rbsp) или синтаксиса used_by_curr_pic_lt_flag[i] в отношении долгосрочного опорного кадра заголовка среза (slice_segment_header).
Блок 1044 расшифровки заголовка управляет работа каждого процессорного блока в блоке 1003 декодирования изображения улучшенного уровня, основываясь на результате рашифровки информации заголовка. То есть, каждый процессорный блок блока 1003 декодирования изображения улучшенного уровня, в зависимости от ситуации, выполняет процесс в соответствии с информацией заголовка.
Блок 1041 внутрикадрового предсказания выполняет внутрикадровое предсказание, основываясь на значении синтаксиса used_by_curr_pic_lt_sps_flag[i] или синтаксиса used_by_curr_pic_lt_flag[i]. Например, если значение синтаксиса used_by_curr_pic_lt_sps_flag[i] или синтаксиса used_by_curr_pic_lt_flag[i] равно "0", блок 1041 внутрикадрового предсказания выполняет внутрикадровое предсказание в режиме, отличном от режима BL-текстуры для этой картинки. Другими словами, для этой картинки декодированное изображение базового уровня не используется во внутрикадровом предсказании. Другими словами, компенсация движения для межкадрового предсказания текстуры пропускается во внутрикадровом предсказании для этой кардинки. Напротив, если значение синтаксиса used_by_curr_pic_lt_sps_flag[i] или синтаксиса used_by_curr_pic_lt_flag[i] равно "1" и оптимпльным режимом внутрикадрового предсказания является режимом BL-текстуры, блок 1041 внутрикадрового предсказания выполняет внутрикадровое предсказание в режиме BL-текстуры.
Блок 1042 межкадрового предсказания выполняет межкадровое предсказание, основываясь на значении синтаксиса used_by_curr_pic_lt_sps_flag[i] или синтаксиса used_by_curr_pic_lt_flag[i]. Например, если значение синтаксиса used_by_curr_pic_lt_sps_flag[i] или синтаксиса used_by_curr_pic_lt_flag[i] равно "0", блок 1042 межкадрового предсказания выполняет межкадровое предсказание в режиме, отличном от режима опорного индекса для этой картинки. Другими словами, для этой картинки декодированное изображение базового уровня не используется в межкадровом предсказании. Другими словами, компенсация движения за предсказание текстуры для межкадрового предсказания для этого изображения. Напротив, если значение синтаксиса used_by_curr_pic_lt_sps_flag[i] или синтаксиса used_by_curr_pic_lt_flag[i] равно "1" и оптимальным режимом межкадрового предсказания является режим опорного индекса, блок 1042 межкадрового предсказания выполняет межкадровое предсказание в режиме опорного индекса.
Таким способом устройство 1000 декодирования изображения может управлять выполнением межуровневого предсказания текстуры для каждой картинки в процессе декодирования улучшенного уровня, выполняя внутрикадровое предсказание или межкадровое предсказание, основываясь на значении синтаксиса в отношении долгосрочного опорного кадра. Другими словами, устройство 1000 декодирования изображения может управлять выполнением компенсации движения каждого уровня в процессе декодирования, уменьшая, таким образом, увеличение нагрузки в процессе декодирования.
Последовательность выполнения операций процесса декодирования изображения
Далее описывается последовательность выполнения операций каждого процесса, исполняемого устройством 1000 декодирования изображения, как описано выше. Затем со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 74, описывается последовательность выполнения операций процесса декодирования изображения.
После начала процесса декодирования изображения демультиплексор 1001 устройства 1000 декодирования изображения демультиплексирует кодированный поток многослойного изображения, переданный со стороны кодирования, и на этапе S1001 формирует битовый поток для каждого уровня.
На этапе S1002 блок 1002 декодирования изображения базового уровня декодирует кодированный поток изображения базового уровня, полученный в процессе на этапе S1001. Блок 1002 декодирования изображения базового уровня выводит данные изображения базового уровня, сформированные при этом декодировании.
На этапе S1003, блок 1044 расшифровки заголовка блока 1003 декодирования изображения улучшенного уровня расшифровывает набор параметров последовательности информации заголовка, извлеченной из кодированного потока изображения улучшенного уровня, полученного в процессе на этапе S1001.
На этапе S1004 блок 1003 декодирования изображения улучшенного уровня декодирует кодированный поток изображения улучшенного уровня, полученный в процессе на этапе S1001.
После окончания процесса на этапе S1004 процесс декодирования изображения заканчивается.
Заметим, что блок 1044 расшифровки заголовка также расшифровывает информацию заголовка, отличную от набора параметров последовательности; однако, его описание не приводится, за исключением заголовка среза, как описано выше. Кроме того, блок 1002 декодирования изображения базового уровня (например, блок 1012 декодирования без потерь) также расшифровывает информацию заголовка, такую как набор параметров последовательности, набор параметров картинки или заголовок среза в отношении базового уровня; однако, описание этого не приводится.
Каждый процесс на этапах S1001, S1002 и S1004 выполняется для каждой картинки. Процесс на этапе S1003 выполняется для каждой последовательности.
Последовательность выполнения операций процесса декодирования базового уровня
Далее, со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 75, будет описан пример последовательности выполнения операций процесса декодирования основного уровня, который должен выполняться на этапе S304, показанном на фиг. 74.
После начала процесса декодирования базового уровня, каждый процесс на этапах S1021-S1030 выполняется способом, подобным каждому процессу на этапах S341-S350, показанных на фиг. 25.
На этапе S1031 кадровая память 1019 подает декодированное изображение базового уровня, полученное в процессе декодирования базового уровня, как сказано выше, для выполнения процесса декодирования улучшенного уровня.
После окончания процесса на этапе S1031 процесс декодирования базового уровня заканчивается и процесс возвращается к фиг. 74.
Последовательность выполнения операций процесса дешифровки набора параметров последовательности
Далее, со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 76, будет описан пример последовательности выполнения операций процесса дешифровки набора параметров последовательности, который должен выполняться на этапе S1003, показанном на фиг. 74.
После начала процесса дешифровки набора параметров последовательности блок 1044 дешифровки заголовка блока 1003 декодирования изображения улучшенного уровня на этапе S1041 расшифровывает каждый параметр в наборе параметров последовательности и управляет каждым процессорным блоком, основываясь на результате расшифровки.
На этапе S1042 блок 1044 расшифровки заголовка расшифровывает синтаксис used_by_curr_pic_lt_sps_flag[i] в отношении долгосрочного опорного кадра набора параметров последовательности и управляет блоком 1041 внутрикадрового предсказания или блоком 1042 межкадрового предсказания, например, основываясь на результате расшифровки.
После окончания процесса на этапе S1042 процесс расшифровки набора параметров последовательности заканчивается и процесс возвращается к фиг. 74.
Последовательность выполнения операций процесса декодирования улучшенного уровня
Далее, со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 77, будет описан пример последовательности выполнения операций процесса декодирования улучшенного уровня, который должен выполняться на этапе S1004, показанном на фиг. 74.
После начала процесса декодирования улучшенного уровня, каждый процесс на этапах S1051 и S1052 выполняется способом, подобным каждому процессу на этапах S391 и S392, показанных на фиг. 27.
На этапе S1053 блок 1044 расшифровки заголовка расшифровывает каждый параметр заголовка среза и управляет каждым процессорным блоком, основываясь на результате расшифровки. На этапе S1054 блок 1044 расшифровки заголовка расшифровывает синтаксис used_by_curr_pic_lt_sps_flag[i] в отношении долгосрочного опорного кадра набора параметров последовательности и управляет блоком 1041 внутрикадрового предсказания или блоком 1042 межкадрового предсказания, например, основываясь на результате расшифровки.
Каждый процесс на этапах S1055 и S1056 выполняется способом, подобным каждому процессу на этапах S393 и S394, показанных на фиг. 27.
На этапе S1057 блок 1041 внутрикадрового предсказания или блок 1042 межкадрового предсказания выполняет процесс предсказания и формирует изображение, предсказанное посредством внутрикадрового предсказания или межкадрового предсказания. В таком случае, блок 1041 внутрикадрового предсказания и блок 1042 межкадрового предсказания выполняют процесс предсказания в соответствии с управлением блока 1044 расшифровки заголовка, основываясь на результате расшифровки синтаксиса used_by_curr_pic_lt_sps_flag[i] в процессе на этапе S1042, показанном на фиг. 76, и результате расшифровки синтаксиса used_by_curr_pic_lt_flag[i] в процессе на этапе S1054.
Каждый процесс на этапах S1058-S1062 выполняется способом, подобным каждому процессу на этапах S396-S400, показанных на фиг. 27.
После окончания процесса на этапе S1062 процесс декодирования улучшенного уровня заканчивается и процесс возвращается к фиг. 74.
Последовательность выполнения операций процесса предсказания
Далее, со ссылкой на блок-схему последовательности выполнения операций процесса, показанную на фиг. 78, будет описан пример последовательности выполнения операций процесса предсказания, выполняемого на этапе S395, показанном на фиг. 77.
После начала процесса предсказания блок 1041 внутрикадрового предсказания и блок 1042 внутрикадрового предсказания определяют, является ли оптимальным режимом (режимом, определенным в процессе предсказания, используемом при кодировании) процесс внутрикадрового предсказания в отношении текущего блока, который должен быть обработан на этапе S1071. Если определено, что предсказанное изображение формируется путем внутрикадрового предсказания, процесс переходит к этапу S1072.
На этапе S1072 блок 1041 внутрикадрового предсказания определяет, относится ли к нему изображение базового уровня. Если внутриуровневое предсказание текстуры для текущей картинки, к которой принадлежит текущий блок, управляется так, чтобы выполняться блоком 1044 расшифровки заголовка, и оптимальным режимом внутрикадрового предсказания текущего блока является режим BL-текстуры, блок 1041 внутрикадрового предсказания определяет, ссылаться ли на изображение базового уровня в процессе предсказания текущего блока. В этом случае процесс переходит к этапу S1073.
На этапе S1073 блок 1041 внутрикадрового предсказания получает декодированное изображение базового уровня из долгосрочного опорного кадра кадровой памяти 1039 в качестве опорного изображения. На этапе S1074 блок 1041 внутрикадрового предсказания выполняет внутрикадровое предсказание в режиме BL-текстуры и формирует предсказанное изображение. После окончания процесса на этапе S1074 процесс переходит к этапу S1080.
Если внутриуровневое предсказание текстуры для текущей картинки управляется так, чтобы выполняться блоком 1044 расшифровки заголовка, и оптимальным режимом внутрикадрового предсказания текущего блока не является режим BL-текстуры, или если межкадровое предсказание текстуры для текущей картинки на этапе S1072 управляется так, чтобы не выполняться блоком 1044, блок 1041 внутрикадрового предсказания определяет, ссылаться ли на изображение базового уровня в процессе предсказания текущего блока. В этом случае процесс переходит к этапу S1075.
На этапе S1075 блок 1041 внутрикадрового предсказания получает декодированное изображение улучшенного уровня от кадровой памяти 1039 в качестве опорного изображения. Блок 1041 внутрикадрового предсказания выполняет внутрикадровое предсказание в оптимальном режиме внутрикадрового предсказания, который не является режимом BL-текстуры, и формирует предсказанное изображение. После окончания процесса на этапе S1075 процесс переходит к этапу S1080.
Если на этапе S1071 определено, что оптимальным режимом предсказания является режимом межкадрового предсказания, процесс переходит к этапу S1076.
На этапе S1076 блок 1042 межкадрового предсказания определяет, относится ли к нему изображение базового уровня. Если межуровневое предсказание текстуры для текущей картинки управляется так, чтобы выполняться блоком 1044 расшифровки заголовка, и оптимальным режимом внутрикадрового предсказания текущего блока является режим опорного индекса, блок 1042 межкадрового предсказания определяет, ссылаться ли на изображение базового уровня в процессе предсказания текущего блока. В этом случае процесс переходит к этапу S1077.
На этапе S1077 блок 1042 межкадрового предсказания получает декодированное изображение базового уровня из долгосрочного опорного кадра кадровой памяти 1039 в качестве опорного изображения. На этапе S1078 блок 1042 межкадрового предсказания выполняет межкадровое предсказание в режиме опорного индекса и формирует предсказанное изображение. После окончания процесса на этапе S1078 процесс переходит к этапу S1080.
На этапе S1076, если межуровневое предсказание текстуры для текущей картинки управляется так, чтобы выполняться блоком 1044 расшифровки заголовка, и оптимальным режимом межкадрового предсказания текущего блока не является режим опорного индекса, или если межкадровое предсказание текстуры для текущей картинки управляется так, чтобы не выполняться блоком 1044 расшифровки заголовка, блок 1042 межкадрового предсказания определяет, ссылаться ли на изображение базового уровня в процессе предсказания текущего блока. В этом случае процесс переходит к этапу S1079.
На этапе S1079 блок 1042 межкадрового предсказания получает декодированное изображение улучшенного уровня от кадровой памяти 1039 в качестве опорного изображения. Блок 1042 межкадрового предсказания выполняет межкадровое предсказание в оптимальном режиме предсказания, который не является режимом опорного индекса, и формирует предсказанное изображение. После окончания процесса на этапе S1079 процесс переходит к этапу S1080.
На этапе S1080 блок 1041 внутрикадрового предсказания или блок 1042 межкадрового предсказания подает сформированное предсказанное изображение на блок 1035 вычислений через блок 1043 выбора предсказанного изображения.
После окончания процесса на этапе S1080 процесс предсказания заканчивается и процесс возвращается к фиг. 77.
В описанном выше процессе предсказания, например, компенсация движения для межуровневого предсказания текстуры пропускается, если межуровневое предсказание текстуры для текущей картинки не должно выполняться блоком 1044 расшифровки заголовка подобно процессу на этапе S1075 или процессу на этапе S1079 (например, когда значение синтаксиса used_by_curr_pic_lt_sps_flag[i] или синтаксиса used_by_curr_pic_lt_fiag[i] равно "0").
Поэтому, выполняя каждый процесс, как описано выше, устройство 1000 декодирования изображения (блок 1003 декодирования изображения улучшенного уровня) может уменьшать увеличение нагрузки в процессе декодирования.
13. Одиннадцатый вариант осуществления
Управление межуровневым предсказанием синтаксиса
В подразделах 7 "Раскрытие изобретения 2", 8 "Седьмой вариант осуществления" и 9 "Восьмой вариант осуществления" описаны примеры, в которых выполнение межуровневого пиксельного предсказания (Inter-layer Pixel Prediction) и выполнение межуровневого предсказания синтаксиса (Inter-layer Syntax Prediction) управляются независимо.
В этом случае, если способом кодирования для базового уровня является AVC и способом кодирования для улучшенного уровня является HEVC, межуровневое предсказание синтаксиса использует процесс предсказания синтаксиса в HEVC с использованием синтаксиса (syntax) в AVC. Фактически, однако, было трудно выполнить процесс предсказания синтаксиса в HEVC, используя синтаксис (syntax) в AVC, который отличается от HEVC. Ввиду этого может быть запрещено межуровневое предсказание синтаксиса, используя синтаксис базового уровня в способе кодирования AVC.
Управление на стороне кодирования
Например, если способом кодирования для базового уровня является AVC на стороне кодирования и делается ссылка на уровень 0 (layer=0), информация управления межуровневым предсказанием синтаксиса, которая управляет выполнением межуровневого предсказания синтаксиса, может быть установлена на значение, при котором межуровневое предсказание синтаксиса не выполняется, и затем может передаваться.
Структура устройства 100 масштабируемого кодирования в этом случае подобна структуре, показанной в примере, описанном со ссылкой на фиг. 9. Структура каждого блока устройства 100 масштабируемого кодирования подобна структуре в примере, описанном со ссылкой на фиг. 44.
В этом случае процесс кодирования, выполняемый устройство 100 масштабируемого кодирования, выполняется способом, подобным процессу в примере, показанном на блок-схеме последовательности выполнения операций на фиг. 13. Затем, процесс формирования общей информации, выполняемый в процессе кодирования, выполняется способом, подобным процессу в блок-схеме, поясняемой на фиг. 45. Процесс кодирования базового уровня, выполняемый в процессе кодирования, выполняется способом, подобным процессу, показанному на блок-схеме последовательности выполнения операций на фиг. 46. Дополнительно, процесс кодирования улучшенного уровня, выполняемый в процессе кодирования, выполняется способом, подобным процессу, показанному на блок-схеме последовательности выполнения операций на фиг. 48. Процесс предсказания/компенсации движения, выполняемый в процессе кодирования улучшенного уровня, выполняется способом, подобным процессу, показанному на блок-схеме последовательности выполнения операций на фиг. 49. Процесс межкадрового предсказания, выполняемый в процессе кодирования, выполняется способом, подобным процессу, показанному на блок-схеме последовательности выполнения операций на фиг. 50.
Пример последовательности выполнения операций процесса управления межуровневым предсказанием, который должен выполняться на этапе S106 в процессе кодирования, описывается со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 79.
Каждый процесс на этапах S1101-S1103 выполняется способом, подобным каждому процессу на этапах S731-S733, показанному на фиг. 47, и управление межуровневым пиксельным предсказанием выполняется, основываясь на информации управления межуровневым пиксельным предсказанием.
На этапе S1104 блок 725 установки информации управления межуровневым предсказанием синтаксиса определяет, является ли способ кодирования базового уровня способом AVC и является ли опорный уровень уровнем "0". Более конкретно, блок 725 установки информации управления межуровневым предсказанием синтаксиса определяет, является ли значение avc_base_layer_flag, которое является флаговой информацией, представляющей, является ли способ кодирования базового уровня способом AVC или нет, равным "1" (avc_base_layer_flag=1) или нет, и является ли значение уровня, который является параметром, представляющим опорный уровень, равным "0" (layer=0) или нет.
Если на этапе S1104 определено, что флаг avc_base_layer_flag равен 0 или уровень не равне 0, процесса переходит к этапу S1105.
В этом случае каждый процесс на этапах S1105-S1107 выполняется способом, подобным каждому процессу на этапах S734-S736, показаны на фиг. 47, и информация управления межуровневым предсказанием синтаксиса устанавливается, основываясь на любом фрагменте информации, и управление для межуровневого предсказания синтаксиса проводится. После окончания процесса на этапе S1107 или при определении, что текущая картинка является картинкой, для которой межуровневое предсказание синтаксиса на этапе S1106 не выполняется, процесс управления межуровневым предсказанием заканчивается и процесс возвращаются к фиг. 13.
Если на этапе S1104 было определено, что флаг avc_base_layer_flag равен 1 или уровень равен 0, процесс переходит к этапу S1108.
На этапе S1108 блок 725 установки информации управления межуровневым предсказанием синтаксиса устанавливает информацию управления межуровневым предсказанием синтаксиса так, чтобы выполнение межуровневого предсказания синтаксиса было выключено. В этом случае межуровневое предсказание синтаксиса не выполняется (пропускается). По окончании процесса на этапе S1108 процесс управления межуровневым предсказанием заканчивается и процесс возвращается к фиг. 13.
Блок 711 установки информации управления межуровневым пиксельным предсказанием передает информацию управления межуровневым пиксельным предсказанием в качестве управляющей информации, которая управляет выполнением (включением/выключением) межуровневого пиксельного предсказания, например, в наборе видеопараметров (VPS, Video Parameter Set, набор видеопараметров), расширенном наборе видеопараметров (Vps_extension) или nal-блоке (nal_unit).
Затем информация управления межуровневым предсказанием синтаксиса в качестве информации управления, которая управляет выполнением (включением/выключением) межуровневого предсказания синтаксиса, передается стороне декодирования, например, в наборе параметров картинки (PPS, Picture Parameter Set), заголовке среза (SliceHeader) или nal-блоке (nal_unit). Заметим, что информация управления межуровневым предсказанием синтаксиса может быть передана стороне декодирования, например, в наборе видеопараметров (VPS, Video Parameter Set) или расширенном наборе видеопараметров (Vps_extension).
Таким образом, выполнение процесса, связанного с управлением межуровневым предсказанием синтаксиса, когда способом кодирования базового уровня является AVC, может быть пропущен в устройстве 100 масштабируемого кодирования, за счет чего ненужное увеличение нагрузки в процессе кодирования может быть устранено. Дополнительно, передавая таким образом установленную информацию управления межуровневым предсказанием синтаксиса на сторону декодирования, можно пропустить выполнение процесса, связанного с управлением межуровневым предсказанием синтаксиса, когда на стороне декодирования способом кодирования базового уровня является AVC. Другими словами, устройство 100 масштабируемого кодирования может уменьшать ненужное увеличение нагрузки в процессе декодирования.
Управление на стороне декодирования
Например, если на стороне декодирования способом кодирования базового уровня является AVC и обращаются к уровню 0 (layer=0), значение информации управления межуровневым предсказанием синтаксиса может принудительно рассматриваться как "0", независимо от фактического значения.
Структура устройства 200 масштабируемого декодирования в этом случае подобно структуре в примере, описанном со ссылкой на фиг. 19. Структура каждого блока устройства 200 масштабируемого декодирования подобно структуре в примере, описанном со ссылкой на фиг. 51.
В этом случае процесс декодирования, выполняемый устройство 200 масштабируемого декодирования выполняется способом, подобным процессу, представленному в примере на блок-схеме последовательности выполнения операций, показанной на фиг. 23. Затем процесс получения общей информации, выполняемый в процессе декодирования, выполняется способом, подобным процессу, представленному на блок-схеме последовательности выполнения операций, показанной на фиг. 52. Процесс декодирования базового уровня, выполняемый в процессе декодирования, выполняется способом, подобным процессу, представленному на блок-схеме последовательности выполнения операций, показанной на фиг. 53. Дополнительно, процесс декодирования улучшенного уровня, выполняемый в процессе декодирования, выполняется способом, подобным процессу, представленному на блок-схеме последовательности выполнения операций, показанной на фиг. 27. Процесс предсказания, выполняемый в процессе декодирования улучшенного уровня, выполняется способом, подобным процессу, представленному на блок-схеме последовательности выполнения операций, показанной на фиг. 55.
Пример последовательности выполнения операций процесса управления межуровневым предсказанием, который должен выполняться на этапе S306 в процессе декодирования, описывается со ссылкой на блок-схему последовательности выполнения операций, показанную на фиг. 80.
Каждый процесс на этапах S1121-S1123 выполняется способом, подобным каждому процессу на этапах S831-S833, показанных на фиг. 54, и управление межуровневым пиксельным предсказанием проводится, основываясь на информации межуровневого пиксельного предсказания.
На этапе S1124 блок 826 управления межуровневым предсказанием синтаксиса определяет, является ли способом кодирования базового уровня способ AVC и является ли опорным уровенем уровень 0. Более конкретно, блок 826 управления межуровневым предсказанием синтаксиса определяет, является ли равным "1" (avc_base_layer_flag=1) значение флага avc_base_layer_flag, которое является флаговой информацией, представляющей, является ли способом кодирования базового уровня способ AVC, и равно ли "0" значение уровня, являющееся параметром, представляющим опорный уровень (layer=0), расширенном наборе видеопараметров (Vps_extension), переданном со стороны кодирования.
На этапе S1124, если было определено, что флаг avc_base_layer_flag равен 0 или уровень не равен 0, процесс переходит к этапу S1125.
В этом случае, каждый процесс на этапах S1125-S1127 выполняется способом, подобным каждому процессу на этапах S834-S836, показанных на фиг. 54, и управление межуровневым предсказанием синтаксиса проводится, основываясь на информации управления межуровневым предсказанием синтаксиса. После окончания процесса на этапе S1127 или определения, что текущая картинка является картинкой, для которой на этапе S1126 межуровневое предсказание синтаксиса не выполняется, процесс заканчивается и процесс возвращается к фиг. 23.
Если на этапе S1124 было определено, что флаг avc_base_layer_flag равен 1 и уровень равен 0, процесс переходит к этапу S1128.
На этапе S1128 блок 826 управления межуровневым предсказанием синтаксиса выключает межуровневое предсказание синтаксиса. Другими словами, в этом случае межуровневое предсказание синтаксиса слоя не выполняется (пропускается). По окончании процесса на этапе S1128 процесс управления межуровневым предсказанием заканчивается и процесс возвращаются к фиг. 23.
Таким образом, в устройстве 200 масштабируемого декодирования выполнение процесса, связанного с управлением межуровневым предсказанием синтаксиса, когда способом кодирования базового уровня является AVC, может быть пропущено, за счет чего ненужное увеличение нагрузки в процессе декодирования может быть исключено.
14. Прочее
Приведенное выше описание было сделано на примере, в котором данные изображения делятся на множество уровней посредством масштабируемого кодирования. Заметим, что количество уровней может быть определено произвольно. Как показано в примере на фиг. 81, на уровни может быть разделена часть картинки. Кроме того, в приведенном выше примере при кодировании и декодировании улучшенный уровень обрабатывается со ссылкой на базовый уровень; однако, настоящее раскрытие этим не ограничивается и улучшенный уровень может обрабатываться со ссылкой на другие обработанные улучшенные уровни.
Уровень, описанный выше, при мультипроекционном кодировании и декодировании изображения содержит проекции. Другими словами, настоящая технология может применяться к кодированию и декодированию мультипроекционного изображения. На фиг. 82 показан пример кодирования мультипроекционного изображения.
Как поясняется на фиг. 82, мультипроекционное изображение содержит изображения, полученные с множества точек зрения, (проекции) и изображение с одной заданной точки зрения из всех точек зрения определяется как изображение базовой проекции. Изображения, отличные от изображения базовой проекции, рассматриваются как изображения небазовых проекций.
При кодировании или декодировании мультипроекционного изображения, как показано на фиг. 82, изображение каждой проекции кодируется или декодируется; в этом случае, указанный выше способ может применяться на кодировании или декодировании каждой проекции. Другими словами, при мультипроекционном кодировании и декодировании информация, относящаяся к кодированию и декодированию, может использоваться совместно множеством проекций.
Например, базовая проекция подвергается кодированию и декодированию, не обращаясь к информации, связанной с кодированием и декодированием других проекций, в то время как небазовая проекция подвергается кодированию и декодированию, обращаясь к информации, связанной с кодированием и декодированием базовой проекции. Затем передается только информация, связанная с кодированием и декодированием базовой проекции.
Таким образом, ухудшение эффективности кодирования может быть исключено даже при мультипроекционном кодировании и декодировании способом, подобным описанному выше уровневому кодированию и декодированию.
Таким образом, настоящая технология может применяться к любому устройству кодирования изображения и к устройству декодирования изображения, основываясь на способах масштабируемого кодирования и декодирования.
Настоящая технология может быть применима к устройству кодирования изображения и к устройству декодирования изображения, используемым, когда информация изображения (битовый поток), сжатый посредством компенсации движения и ортогонального преобразования, такого как дискретное косинусное преобразование типа MPEG или Н.26х, принимается через спутниковое вещание, кабельное телевидение, Интернет или сетевой носитель, такой как сотовые телефоны. Кроме того, настоящая технология может применяться к устройству кодирования изображения и к устройству декодирования изображения, используемым в процессе, выполняемом на носителях для хранения данных, таких как оптические или магнитные диски или флэш-память. Кроме того, настоящая технология может применяться к устройству ортогонального преобразования или к устройству инверсного ортогонального преобразования, содержащемуся в устройстве кодирования изображения и устройстве декодирования изображения и т.д.
15. Двенадцатый вариант осуществления
Компьютер
Вышеупомянутая последовательность процессов может выполняться, используя аппаратурное обеспечение или программное обеспечение. Когда описанные выше процессы выполняются посредством программного обеспечения, программы, составляющие программное обеспечение, устанавливаются на компьютер. Здесь компьютер содержит компьютер, введенный в специализированное аппаратурное обеспечение, или универсальный персональный компьютер, способный исполнять различные функции при установке на него различных программ.
На фиг. 83 показана блок-схема примера структуры аппаратурного обеспечения компьютера, исполняющего описанные выше процессы, используя программы.
В компьютере 1850, показанном на фиг. 83, CPU (центральный процессор) 1851, ROM (постоянное запоминающее устройство) 1852 и RAM (оперативное запоминающее устройство) 1853 соединяются друг с другом через шину 1854.
К шине 1854 также подключается интерфейс 1860 ввода-вывода. Интерфейс 1860 ввода-вывода также имеет устройство 1861 ввода, устройство 1862 вывода, блок 1863 запоминающего устройства, блок 1864 связи и дисковод 1865, присоединенные к шине.
Устройство 1861 ввода соответствует, например, клавиатуре, мыши, микрофону, сенсорной панели, входному терминалу или т.п. Устройство 1862 вывода соответствует, например, дисплею, громкоговорителю, выходному терминала или т.п. Блок 1863 запоминающего устройства соответствует, например, жесткому диску, диску RAM, энергонезависимой памяти или т.п. Блок 1864 связи соответствует, например, сетевому интерфейсу. Привод 1865 приводит в действие съемный носитель 1871, такой как магнитный диск, оптический диск, магнито-оптический диск или полупроводниковая память.
В компьютере, выполненном, как описано выше, CPU 1851 загружает программы, хранящиеся в блоке 1863 запоминающего устройства, на RAM 1853 через интерфейс 1860 ввода-вывода и шину 1854 и исполняет программы, выполняя, таким образом, описанные выше процессы. RAM 1853 также хранит данные, необходимые для CPU 1851, чтобы выполнять различные процессы, в зависимости от ситуации.
Программы, выполняемые компьютером (CPU 1851) могут записываться на съемном носителе 1871 в качестве пакетного носителя и применяться.
В этом случае программы могут устанавливаться в блок 1863 запоминающего устройства через интерфейс 1860 ввода-вывода, монтируя съемный носитель 1871 на привод 1865.
Программы могут предоставляться через проводную или беспроводную среду передачи, такую как локальная сеть, Интернет или цифровое спутниковое вещание. В этом случае, программы могут приниматься блоком 1864 связи и устанавливаться в запоминающее устройство 1863. Кроме того, программы могут устанавливаться в ROM 1852 или на блок 1863 запоминающего устройства заранее.
Программы, которые должны выполняться компьютером, могут быть программами, позволяющими вести процесс последовательно во времени, как представлено в настоящем описании, или могут вести процессы параллельно или в необходимые моменты времени, такие, когда делается запрос.
В настоящем описании этапы, описывающие программу, записанную на носителе для записи, содержат не только процесс, выполняемый последовательно во времени, как здесь описано, но также процесс, который не обязательно выполняется последовательно во времени, а выполняется параллельно или индивидуально.
В настоящем описании система относится к группе из множества компонентов (устройства, модули (части) и т.д.) и присутствуют ли все эти компоненты, не имеет значения. Поэтому множество устройств, расположенных в отдельных корпусах и соединенных через сеть, и одно устройство, содержащее множество модулей в одном корпусе, в обоих случаях являются системами.
Дополнительно, в описанных выше примерах любая структура, описанная как одно устройство (или один процессорный блок), может быть разделена на множество устройств (или процессорных блоков). Напротив, структуры, описанные как отдельные устройства (или процессорные блоки) могут формироваться как одно устройство (или процессорный блок). Дополнительно, структура каждого устройства (или процессорного блока) может дополнительно быть снабжена структурой, отличной от упомянутой выше. Пока структура или операция, как система в целом, является, по существу, одним и тем же, часть конфигурации с определенным устройством (или процессорным блоком) может быть введена в структуру другого устройства (или другого процессорного блока).
Предпочтительные варианты осуществления настоящего раскрытия были подробно описаны со ссылкой на чертежи, однако, технический объем настоящего раскрытия не ограничивается приведенными выше примерами. Очевидно, что специалистами в данной области техники, соответствующей настоящему раскрытию, могут быть предложены модификации или усовершенствования в рамках технической сущности, как описано в объеме формулы изобретения, и такие модификации и предложения также содержатся в техническом объеме настоящего раскрытия.
Например, настоящая технология может иметь структуру облака, вычисляющую: одну функцию, которая совместно используется множеством устройств через сеть и работа осуществляется вместе.
Каждый этап, описанный со ссылкой на приведенную выше блок-схему последовательности выполнения операций, может исполняться либо в одном устройстве, либо использоваться совместно множеством устройств.
Если в один этап входит множество процессов, процессы, запрещенные на одном этапе, могут выполняться либо в другом устройстве, либо совместно множеством устройств.
Устройство кодирования изображения и устройство декодирования изображения, соответствующие описанным выше вариантам осуществления, могут применяться в различных электронных устройствах, таких как передатчик или приемник для спутникового вещания, проводное вещание, такое как кабельное телевидение или Интернет, или распространяться по оконечным устройствам посредством сотовой связи, устройство записи, записывающее изображения на носителе данных, таком как оптический диск, магнитный диск или флэш-память, или устройство воспроизведения, воспроизводящее изображения с этих носителей записи. Здесь далее описание содержит четыре примера применения.
16. Пример применения
Первый пример применения: телевизионный приемник
На фиг. 84 показан пример структуры телевизионного устройства, к которому применяется описанный выше вариант осуществления. Телевизионное устройство 1900 содержит антенну 1901, тюнер 1902, демультиплексор 1903, декодер 1904, блок 1905 видеопроцессора, блок 1906 отображения, блок 1907 аудиопроцессора, громкоговоритель 1908, блок 1909 внешнего интерфейса (I/F), блок 1910 управления, блок 1911 интерфейса пользователя и шину 1912.
Тюнер 1902 извлекает сигнал желаемого канала из широковещательных сигналов, принимаемых через антенну 1901, и демодулирует извлеченный сигнал. Тюнер 1902 выводит кодированный битовый поток, полученный при демодуляции на демультиплексор 1903. Более конкретно, тюнер 1902 играет роль блока передачи в телевизионном устройстве 1900 для приема кодированного потока, в котором кодировано изображение.
Демультиплексор 1903 разделяет видеопоток и аудиопоток программы, которая должна просматриваться, из кодированного битового потока и выводит разделенные потоки на декодер 1904. Демультиплексор 1903 извлекает вспомогательные данные, такие как EPG (Electronic Program Guide, электронная телевизионная программа), из кодированного битового потока и подает извлеченные данные на блок 1910 управления. Заметим, что мультиплексор 1903 может дескремблировать кодированный битовый поток, если кодированный битовый поток был скремблирован.
Декодер 1904 декодирует видеопоток и аудиопоток, поступающие от демультиплексора 1903. Декодер 1904 выводит видеоданные, сформированные посредством процесса декодирования, на блок 1905 видеопроцессора. Декодер 1904 дополнительно выводит аудиоданные, сформированные посредством процесса декодирования, на блок 1907 аудиопроцессора.
Блок 1905 видеопроцессора воспроизводит видеоданные, введенные от декодера 1904, и отображает видеоданные на блоке 1906 отображения. Видеопроцессор 1905 может также отображать прикладной экран, подаваемый через сеть на блок 1906 отображения. В зависимости от настроек, видеопроцессор 1905 может выполнять дополнительный процесс, такой как удаление шумов видеоданных. Дополнительно, блок 1905 видеопроцессора может формировать изображение GUI (Graphical User Interface, графический интерфейс пользователя), такое как меню, кнопки или курсор, и накладывать сформированное изображение на выходное изображение.
Блок 1906 отображения приводится в действие запускающим сигналом, подаваемым от видеопроцессора 1905, и отображает видеоданные или изображение на видеоэкране устройства отображения (таком как жидкокристаллический дисплей, плазменный дисплей или OELD (Organic ElectroLuminescence Display, органоэлектролюминесцентный дисплей)).
Блок 1907 аудиопроцессора выполняет процесс воспроизведения, такой как D/A-преобразование или усиление аудиоданных, поступающих от декодера 1904, и выводит аудиосигнал через громкоговоритель 1908. Дополнительно, аудиопроцессор 1907 может выполнять дополнительный процесс, такой как удаление шумов аудиоданных.
Внешний интерфейс 1909 является интерфейсом для соединения телевизионного устройства 90 с внешним устройством или сетью. Например, видеопоток или аудиопоток, принятый через блок 1909 внешнего интерфейса, может декодироваться декодером 1904. Другими словами, блок 1909 внешнего интерфейса также играет роль блока передачи в телевизионном устройстве 1900 для приема кодированного потока, в котором кодировано изображение.
Блок 1910 управления содержит процессор, такой как центральный процессор (CPU), и память, такую как RAM и ROM. Память хранит программы, исполняемые CPU, программные данные, данные EPG, данные, получаемые через сеть и т.п. Программы, хранящиеся в памяти, считываются и исполняются CPU, например, при включении телевизионного устройства 1900. Исполняя программы, CPU управляет работой телевизионного устройства 1900 в соответствии, например, с сигналом управления, вводимым от блока 1911 интерфейса пользователя.
Блок 1911 интерфейса пользователя соединяется с блоком 1910 управления. Блок 1911 интерфейса пользователя имеет, например, кнопку и переключатель для работы пользователя с телевизионным устройством 1900 и приемную секцию для приема сигнала дистанционного управления. Обнаруживая операцию пользователя через эти компоненты, блок 1911 интерфейса пользователя формирует рабочий сигнал, и выводит сформированный рабочий сигнал на блок 1910 управления.
Шина 1912 соединяет между собой тюнер 1902, демультиплексор 1903, декодер 1904, блок 1905 видеопроцессора, блок 1907 аудиопроцессора, блок 1909 внешнего интерфейса и блок 1910 управления.
В телевизионном устройстве 1900, построенном, как описано выше, декодер 1904 имеет функцию устройства 200 масштабируемого декодирования или устройства 1000 (фиг. 71) декодирования изображения, соответствующую описанным выше вариантам осуществления. Таким образом, при декодировании изображения в телевизионном устройстве 1900 ухудшение эффективности кодирования может быть уменьшено и ухудшение качества изображения из-за кодирования и декодирования может быть уменьшено.
Второй пример применения: сотовый телефон
На фиг. 85 показан пример схематической структуры сотового устройства, к которому применяется описанный выше вариант осуществления. Сотовый телефон 1920 содержит антенну 1921, блок 1922 связи, аудиокодек 1923, громкоговоритель 1924, микрофон 1925, блок 1926 камеры, блок 1927 видеопроцессора, блок 1928 мультиплексирования/разделения, блок 1929 записи/воспроизведения, блок 1930 отображения, блок 1931 управления, операционный блок 1932 и шину 1933.
Антенна 1921 соединяется с блоком 1922 связи. Громкоговоритель 1924 и микрофон 1925 соединяются с аудиокодеком 1923. Операционный блок 1932 соединяется с блоком 1931 управления. Шина 1933 соединяет друг с другом блок 1922 связи, аудиокодек 1923, блок 1926 камеры, блок 1927 видеопроцессора, блок 1928 мультиплексирования/разделения, блок 1929 записи/воспроизведения, блок 1930 отображения и блок 1931 управления.
Сотовый телефон 1920 выполняет различные операции, в том числе, обмен аудиосигналами, электронной почтой и данными изображения, фотографирование изображений и запись данных в различных режимах, в том числе, в режиме голосового вызова, режиме передачи данных, режиме фотографирования и режиме видеовызова.
В режиме голосового вызова аналоговые аудиосигналы, сформированные микрофоном 1925, подаются на аудиокодек 1923. Аудиокодек 1923 преобразует аналоговый аудиосигнал в аудиоданные и выполняет и сжимает аудиоданные с помощью A/D-преобразования. Затем аудиокодек 1923 выводит сжатые аудиоданные на блок 1922 связи. Блок 1922 связи кодирует и модулирует аудиоданные и формирует сигнал передачи. Блок 1922 связи передает сформированный сигнал передачи через антенну 1921 на базовую станцию (не показана). Блок 1922 связи усиливает радиосигнал, принятый через антенну 1921 и выполняет преобразование частоты и получает принятый сигнал. Блок 1922 связи затем формирует аудиоданные, демодулируя и декодируя сигнал приема, и выводит сформированные аудиоданные на аудиокодек 1923. Аудиокодек 1923 выполняет расширение аудиоданных, выполняет на них D/A-преобразование аудиоданных и формирует аналоговый аудиосигнал. Аудиокодек 1923 подает сформированный аудиосигнал на громкоговоритель 1924 для вывода через него звукового сигнала.
В режиме передачи данных, например, блое 1931 управления формирует текстовые данные, образующие электронную почту в соответствии с заданной операцией пользователя с помощью операционного блока 1932. Блок 1931 управления отображает текст на блоке 1930 отображения. Кроме того, блок 1931 управления формирует данные электронной почты в ответ на команду передачи пользователя, поданную через операционный блок 1932, и выводит сформированные данные электронной почты на блок 1922 связи. Блок 1922 связи кодирует и модулирует данные электронной почты и формирует сигнал передачи. Блок 1922 связи передает сформированный сигнал передачи через антенну 1921 на базовую станцию (не показана). Блок 1922 связи усиливает радиосигнал, принятый через антенну 1921 и выполняет преобразование частоты и получает принятый сигнал. Блок 1922 связи затем выполняет восстановление данных электронной почты, демодулируя и декодируя сигнал приема, и выводит сформированные данные электронной почты на блок 1931 управления. Блок 1931 управления заставляет блок 1930 отображения отображать содержание электронной почти и, в то же время, подает данные электронной почты на устройство 1929 записи/воспроизведения и записывает данные на носителе для хранения.
Блок 1929 записи/воспроизведения имеет произвольный считываемый/записываемый носитель для хранения данных. Например, носитель для хранения данных может быть носителем встроенного типа для хранения данных, таким как RAM или флэш-память, или может быть съемным носителем для хранения данных, таким как жесткий диск, магнитный диск, магнито-оптический диск, оптический диск, устройством памяти USB (Universal Serial Bus, универсальная последовательная шина) или картой памяти.
В режиме фотографирования блок 1926 камеры фотографирует объект, формирует данные изображения и выводит сформированные данные изображения на видеопроцессор 1927. Блок 1927 видеопроцессора кодирует данные изображения, введенные из блока 1926 камеры, подает кодированный поток на блок 1929 записи/воспроизведения и записывает данные на носитель для хранения данных. Кроме того, в режиме отображения изображения блок 1929 записи/воспроизведения считывает кодированный поток, записанный на носителе для хранения данных, и выводит поток на блок 1927 видеопроцессора. Блок 1927 видеопроцессора декодирует кодированный поток, введенный от блока 1929 записи/воспроизведения и подает данные изображения на блок 1930 отображения, на котором отображается изображение.
В режиме видеотелефона, например, блок 1928 мультиплексирования/разделения мультиплексирует видеопоток, кодированный блоком 1927 видеопроцессора, и аудиопоток, принятый от аудиокодека 1923, и выводит мультиплексированный поток на блок 1922 связи. Блок 1922 связи кодирует и модулирует поток и формирует сигнал передачи. Затем блок 1922 связи передает сформированный сигнал передачи через антенну 1921 на базовую станцию (не показана). Кроме того, блок 1922 связи усиливает радиосигнал, принятый через антенну 1921 и выполняет преобразование частоты и получает принятый сигнал. Эти сигнал передачи и принятый сигнал могут содержать кодированный битовый поток. Затем блок 1922 связи восстанавливает поток, демодулируя и декодируя принятый сигнал, и выводит восстановленный поток на демультиплексор 1928. Блок 1928 демультиплексирования/разделения разделяет видеопоток и аудиопоток, извлеченные из принятого потока, и выводит видеопоток на блок 1927 видеопроцессора и аудиопоток на аудиокодек 1923. Блок 1927 видеопроцессора декодирует видеопоток и формирует видеоданные. Видеопоток подается на блок 1930 отображения, где отображается последовательность изображений. Аудиокодек 1923 выполняет расширение аудиопотока, выполняет на них D/A-преобразование аудиоданных и формирует аналоговый аудиосигнал. Аудиокодек 1923 подает сформированный аудиосигнал на громкоговоритель 1924 для вывода через него звукового сигнала.
В сотовом телефоне 1920 с описанной выше структурой блок 1927 видеопроцессора имеет функцию устройства 100 масштабируемого кодирования и устройства 200 масштабируемого декодирования или функцию устройства 900 кодирования изображения (фиг. 62) и устройства 1000 (фиг. 71) декодирования изображения, в соответствии с описанным выше вариантом осуществления. Таким образом, при кодировании и декодировании изображения в сотовом телефоне 1920 ухудшение эффективности кодирования может быть исключено и ухудшение качества изображения из-за кодирования и декодирования может быть исключено.
Третий пример применения: устройство записи/воспроизведения
На фиг. 86 показан пример структуры устройства записи/воспроизведения, к которому применяется описанный выше вариант осуществления. Устройство 1940 записи/воспроизведения кодирует аудиоданные и видеоданные принятой вещательной программы и записывает данные на носитель для записи данных. Устройство 1940 записи/воспроизведения может кодировать аудиоданные и видеоданные, полученные от другого устройства, записывать данные на носитель для записи данных. Устройство 1940 записи/воспроизведения воспроизводит данные, записанные на носителе для записи, используя монитор и громкоговоритель в соответствии с командой пользователя. В этом случае, устройство 1940 записи/воспроизведения декодирует аудиоданные и видеоданные.
Устройство 1940 записи/воспроизведения содержит тюнер 1941, блок внешнего интерфейса (I/F) 1942, кодер 1943, HDD 1944 (жесткий диск), дисковод 1945, переключатель 1946, декодер 1947, блок 1948 OSD (экранное меню), блок 1949 управления и интерфейс (I/F) 1950 пользователя.
Тюнер 1941 извлекает сигнал желаемого канала из широковещательных сигналов, принимаемых через антенну (не показана) и демодулирует извлеченный сигнал. Тюнер 1941 выводит кодированный битовый поток, полученный при демодуляции на переключатель 1946. Другими словами, тюнер 1941 играет в устройстве 1940 записи/воспроизведения роль средства передачи.
Блок 1942 внешнего интерфейса является интерфейсом для соединения устройства 1940 записи/воспроизведения с внешним устройством или сетью. Блок 1942 внешнего интерфейса может быть, например, интерфейсом IEEE1394 (Институт инженеров по электротехнике и электронике), сетевым интерфейсом, интерфейсом USB или интерфейсом флэш-памяти. Например, видеоданные или аудиоданные, принятые через блок 1942 внешнего интерфейса, вводятся в кодер 1943. Другими словами, блок 1942 внешнего интерфейса играет в устройстве 1940 записи/воспроизведения роль средства передачи.
Когда видеоданные и аудиоданные, введенные от блока 1942 внешнего интерфейса, не кодированы, кодер 1943 кодирует видеоданные и аудиоданные. Затем кодер 1943 выводит кодированный битовый поток на переключатель 1946.
HDD 1944 записывает на внутреннем жестком диске кодированный битовый поток, содержащий сжатые данные контента, такие как видеоданные и аудиоданные, различные программы и другие данные. При воспроизведении видео- и аудиоданных HDD 1944 считывает эти фрагменты данных с жесткого диска.
Дисковод 1945 записывает данные на носителе для записи и считывает данные с установленного на нем носителя для записи данных. Носителем записи, устанавливаемым на дисковод 1945, могут быть, например, диск DVD (такой как DVD-Video, DVD-RAM (DVD-Random Access Memory), DVD-R (DVD-Recordable), DVD-RW (DVD-Rewritable), DVD + R (DVD + Recordable), or DVD + RW (DVD + Rewritable)) или диск Blu-ray (зарегистрированная торговая марка).
Когда видеоданные и аудиоданные записаны, переключатель 1946 выбирает кодированный битовый поток, который вводится от тюнера 1941 или кодера 1943, и выводит выбранный кодированный битовый поток на HDD 1944 или на дисковод 1945. При воспроизведении видеоданных и аудиоданных переключатель 1946 выводит на декодер 1947 кодированный битовый поток, введенный от HDD 1944 или от дисковода 1945.
Декодер 1947 декодирует кодированный битовый поток, чтобы сформировать видеоданные и аудиоданные. Затем декодер 1947 выводит сформированные видеоданные на OSD 1948. Декодер 1947 выводит сформированные аудиоданные на внешний громкоговоритель.
Блок 1948 OSD воспроизводит видеоданные, введенные от декодера 1947, и отображает видеоданные. Кроме того, OSD 1948 может накладывать изображение GUI, такое как меню, кнопка или курсор, на отображаемые видеоданные.
Блок 1949 управления содержит процессор, такой как центральный процессор (CPU), и память, такую как RAM и ROM. Память хранит программы, исполняемые CPU, и программные данные и т.д. Программы, хранящиеся в устройстве памяти, считываются и исполняются CPU, например, при включении устройства 1940 записи/воспроизведения. Исполняя программы, CPU управляет работой телевизионного устройства 1940 в соответствии, например, с сигналом управления, вводимым от блока 1950 интерфейса пользователя.
Блок 1950 интерфейса пользователя соединяется с блоком управления. Блок 1950 интерфейса пользователя имеет, например, кнопку и переключатель для работы пользователя с устройством 1940 записи/воспроизведения и приемный блок для приема сигнала дистанционного управления. Обнаруживая операцию пользователя через эти компоненты, блок 1950 интерфейса пользователя формирует рабочий сигнал, и выводит сформированный рабочий сигнал на блок 1949 управления.
В устройстве 1940 записи/воспроизведения, построенном, как описано выше, кодер 1943 имеет функцию устройства 100 масштабируемого кодирования или устройства 900 (фиг. 62) кодирования изображения, соответствующие описанным выше вариантам осуществления. Декодер 1947 имеет функцию устройства 200 масштабируемого декодирования или устройства 1000 декодирования изображения (фиг. 71), соответствующих описанному выше варианту осуществления. Таким образом, при кодировании и декодировании изображения в устройстве 1940 записи/воспроизведения ухудшение эффективности кодирования может быть исключено и ухудшение качества изображения из-за кодирования и декодирования может быть исключено.
Четвертый пример применения: фотографическое устройство
На фиг. 87 показан пример структуры фотографического устройства, к которому применяется описанный выше вариант осуществления. Фотографическое устройство 1960 формирует изображение посредством фотографирования объекта, кодирует данные изображения и записывает данные на носитель для записи данных.
Фотографическое устройство 1960 содержит оптический блок 1961, блок 1962 фотографирования, сигнальный процессор 1963, видеопроцессор 1964, блок 1965 отображения, блок 1966 внешнего интерфейса (I/F), блок 1967 памяти, привод 1968 носителя данных, блок 1969 OSD, блок 1970 управления, блок 1971 интерфейса (I/F) пользователя и шину 1972.
Оптический блок 1961 соединяется с фотографическим блоком 1962. Фотографический блок 1962 соединяется с сигнальным процессором 1963. Блок 1965 отображения соединяется с блоком 1964 видеопроцессора. Блок 1971 интерфейса пользователя соединяется с блоком 1970 управления. Шина 1972 соединяет друг с другом видеопроцессор 1964, блок 1955 внешнего интерфейса, блок 1967 памяти, дисковод 1968 носителя данных, блок 1969 OSD и блок 1970 управления.
Оптический блок 1961 содержит объектив, диафрагменный механизм и т.п. Оптический блок 1961 фокусирует оптическое изображение объекта на поверхности фотографирования фотографического блока 1962. Фотографический блок 1962 содержит датчик изображения, такой как CCD (Charge Coupled Device, прибор с зарядовой связью) или CMOS (Complementary Metal Oxide Semiconductor, комплементарный металло-оксидный полупроводник) и преобразует оптическое изображение, полученное на поверхности фотографирования, в сигнал изображения в виде электрического сигнала, используя для этого фотоэлектрическое преобразование. Затем фотографический блок 1962 выводит сигнал изображения на сигнальный процессор 1963.
Сигнальный процессор 1963 выполняет различные виды обработки сигналов камеры, такие как г-образная коррекция, гамма-коррекция или коррекция цвета сигнала изображения, поданного от фотографического блока 1962. Блок 1963 сигнального процессора выводит данные изображения, после обработки сигнала камеры, на блок 1964 видеопроцессора.
Блок 1964 видеопроцессора кодирует данные изображения, полученные от блока 1963 сигнального процессора, и формирует кодированные данные. Затем блок 1964 видеопроцессора выводит сформированные кодированные данные на блок 1966 внешнего интерфейса или на привод 1968 носителя данных. Блок 1964 видеопроцессора декодирует кодированные данные изображения, полученные от блока 1966 внешнего интерфейса или привода 1968 носителя данных, и формирует данные изображения. Затем блок 1964 видеопроцессора выводит сформированные данные изображения на блок 1965 отображения. Кроме того, блок 1964 видеопроцессора может выводить данные изображения, полученные от блока 1963 сигнального процессора, на блок 1965 отображения и отображать на нем изображение. Блок 1964 видеопроцессора может дополнительно накладывать данные для отображения, полученные от блока 1969 OSD, на изображение, выводимое на блок 1965 отображения.
Блок 1969 OSD формирует изображение GUI, такое как меню, кнопки или курсор, и выводит сформированное изображение на блок 1964 видеопроцессора.
Блок 1966 внешнего интерфейса выполнен, например, как USB-терминал ввода-вывода. Блок 1966 внешнего интерфейса соединяется, например, с устройством 1960 фотографирования и принтером при печати изображений. Кроме того, блок 1966 внешнего интерфейса, при необходимости, может иметь присоединенный к нему привод. В привод, например, устанавливается съемный носитель, такой как магнитный диск или оптический диск, и программа, считываемая со съемного носителя, может устанавливаться на фотографическое устройство 1960. Дополнительно, блок 1966 внешнего интерфейса может быть выполнен как сетевой интерфейс, соединенный с сетью, такой как LAN или Интернет. Другими словами, блок 1966 внешнего интерфейса играет в фотографическом устройстве 1960 роль блока передачи.
Носитель записи данных, установленный на привод 1968 носителя данных, может быть, например, любым считываемым/перезаписываемым съемным носителем, таким как магнитный диск, магнитно-оптический диск, оптический диск или полупроводниковая память. Привод 1968 носителя данных может иметь носитель данных, установленный на нем, и несъемный блок запоминающего устройства, такой как встроенный дисковод жесткого диска, или может быть выполнен как SSD (Solid State Drive, твердотельный дисковод).
Блок 1970 управления содержит процессор, такой как центральный процессор (CPU), и память, такую как RAM и ROM. Память хранит программы, исполняемые CPU, и программные данные и т.д. Программы, хранящиеся в памяти, считываются и исполняются CPU, например, при включении фотографического устройства 1960. Исполняя программы, CPU управляет работой фотографического устройства 1971 в соответствии, например, с сигналом управления, вводимым от блока 1971 интерфейса пользователя.
Блок 1971 интерфейса пользователя соединяется с блоком 1970 управления. Интерфейс 1971 пользователя имеет, например, кнопку или переключатель для работы пользователя с фотографическим устройством 1960. Обнаруживая операцию пользователя через эти компоненты, блок 1971 интерфейса пользователя формирует рабочий сигнал, и выводит сформированный рабочий сигнал на блок 1970 управления.
В фотографическом устройстве 1960 с описанной выше структурой блок 1964 видеопроцессора имеет функцию устройства 100 масштабируемого кодирования и устройства 200 масштабируемого декодирования или функцию устройства 900 кодирования изображения (фиг. 62) и устройства 1000 (фиг. 71) декодирования изображения, в соответствии с описанным выше вариантом осуществления. Таким образом, при кодировании и декодировании изображения в фотографическом устройстве 1960 ухудшение эффективности кодирования может быть исключено и ухудшение качества изображения из-за кодирования и декодирования может быть исключено.
17. Пример применения масштабируемого кодирования
Первая система
Далее будет описан конкретный пример использования данных масштабируемого кодирования, которые подвергаются масштабируемому кодированию (уровневому или кодированию (изображения)). Масштабируемое кодирование, например, как описано в примере, показанном на фиг. 88, используется для выбора данных, которые должны передаваться.
В системе 2000 передачи данных, показанной на фиг. 88, распределительный сервер 2002 считывает масштабируемые кодированные данные, хранящиеся в блоке 2001 запоминающего устройства масштабируемых кодированных данных, и распространяет данные на оконечные устройства, такие как персональный компьютер 2004, AV-устройство 2005, планшетное устройство 2006 или мобильный телефон 2007 через сеть 2003.
В этом случае, распределительный сервер 2002 выбирает и передает кодированные данные с соответствующим качеством в соответствии с возможностями среды передачи или оконечного устройства. Даже если распределительный сервер 2002 передает данные с исключительно высоким качеством, оконечное устройство не обязательно принимает такое высококачественное изображение, для которого в этом случае могут возникать задержка или переполнение. Кроме того, в этом случае полоса пропускания при передаче, которую может быть занята, или нагрузка на оконечное устройство могут необоснованно увеличиваться. Напротив, когда распределительный сервер 2002 передает изображение чрезмерно низкого качества, оконечное устройство может быть неспособно получить изображение с достаточным качеством. Поэтому распределительный сервер 2002 в соответствии с ситуацией считывает и передает масштабируемые кодированные данные, которые хранятся в блоке 2001 запоминающего устройства для хранения масштабируемых кодированных данных в качестве кодированных данных с качеством, соответствующим возможностям оконечного устройства иди среды передачи данных.
Например, блок 2001 запоминающего устройства для хранения масштабируемых кодированных данных хранит масштабируемые кодированные данные (BL+EL) 2011, которые подверглись масштабируемому кодированию. Масштабируемые кодированные данные (BL+EL) 1011 являются кодированными данными, содержащими как базовый уровень, так и улучшенный уровень, и, посредством декодирования данных, могут быть получены как изображение базового уровня, так и изображение улучшенного уровня.
Распределительный сервер 2002 выбирает соответствующий уровень согласно характеристикам среды передачи оконечного устройства, которому передаются данные, и считывает данные этого уровня. Например, распределительный сервер 2002 считывает высококачественные масштабируемые кодированные данные (BL+EL) 2011 из блока 2001 запоминающего устройства для хранения масштабируемых кодированных данных и передает данные на персональный компьютер 2004 и планшетное устройство 2006 с высокой способностью обработки. В отличие от этого, распределительный сервер 2002 извлекает данные базового уровня из масштабируемых кодированных данных (BL+EL) 2011 и передает данные в качестве масштабируемых кодированных данных (BL+EL) 2012, имеющих то же самое содержание, что и масштабируемые кодированные данные (BL+EL) 2011, но обладают более низким качеством, чем масштабируемые кодированные данные (BL+EL) 2011, на AV-устройство 2005 и сотовый телефон 2007 с низкой способностью обработки.
Используя, как описано выше, масштабируемые кодированные данные, качество данных может легко регулироваться, поэтому задержка или переполнение могут быть исключены и ненужное увеличение нагрузки оконечного устройства или носителя передачи может быть исключено. Кроме того, когда масштабируемые кодированные данные (BL+EL) 2011 имеют пониженную избыточность между уровнями, количество данных может быть меньшим, чем в случае, когда кодированные данные каждого уровня обрабатываются как индивидуальные данные. Таким образом, область хранения блока 2001 запоминающего устройства для хранения масштабируемых кодированных данных может использоваться более эффективно.
Заметим, что оконечным устройством могут быть различные устройства, в том числе, персональный компьютер 2004, сотовый телефон 2007, и возможности аппаратурного обеспечения оконечного устройства различаются в зависимости от устройства. Кроме того, поскольку оконечные устройства обладают большим разнообразием применений, программное обеспечение может иметь различные уровни возможностей. Кроме того, сеть 2003, как носитель передачи данных, может быть проводной и/или беспроводной сетью, такой как Интернет или LAN (Local Area Network, локальная сеть) или любая другая линия связи; таким образом возможности передачи данных меняются. Кроме того, на возможности передачи данных могут влиять другие связи.
С этой точки зрения, перед началом передачи данных распределительный сервер 2002 может осуществлять связь с оконечным устройством, которому должны передаваться данные, чтобы получить информацию, относящуюся к возможностям оконечного устройства, таким как аппаратурные характеристики оконечного устройства или характеристики приложения (программного обеспечения), исполняемого оконечным устройством, а также информацию, относящуюся к среде передачи данных, такую как доступная ширина полосы сети 2003. Затем распределительный сервер 2002 на основе полученной информации может выбрать соответствующий уровень.
Заметим, что уровень может извлекаться в оконечном устройстве. Например, персональный компьютер 2004 может декодировать переданные масштабируемые кодированные данные (BL+EL) 2011 и может отображать изображение базового уровня или изображение улучшенного уровня. Альтернативно, например, персональный компьютер 2004 может извлекать масштабируемые кодированные данные (BL) 2012 базового уровня из переданных масштабируемых кодированных данных (BL+EL) 2011, сохранять данные, передавать данные другому устройству или декодировать данные и отображать изображение базового уровня.
Не стоит говорить, что количества блоков 2001 запоминающих устройств масштабируемых кодированных данных, распределительных серверов 2002, сетей 2003 и оконечных устройств могут определяться произвольно. Хотя в приведенном выше описании был приведен пример, в котором распределительный сервер 2002 передает данные оконечному устройству, примеры использования этим не ограничиваются. Система 2000 передачи данных может применяться к любому устройству, которое, когда масштабируемые кодированные данные передаются на оконечное устройств, передает данные, в то же время выбирая уровень, соответствующий возможностям или среде передачи данных оконечного устройства.
Система 2000 передачи данных, как показано на фиг. 88, может обеспечивать эффект, подобный эффекту, описанному выше со ссылкой на фиг. 1-80, применяя настоящую технологию к уровневому кодированию и декодированию, как описано со ссылкой на фиг. 1-80.
Вторая система
Масштабируемое кодирование используется для передачи через множество носителей для передачи данных, как показано в примере на фиг. 89.
В системе 2100 передачи данных, показанной на фиг. 89, вещательная станция 2101 передает масштабируемые кодированные данные базового уровня (BL) 2121 через наземное вещание 2111. Вещательная станция 2011 передает масштабируемые кодированные данные улучшенного уровня (EL) 2122 через любую сеть 2112, в том числе через проводную сеть передачи данных, беспроводную сеть передачи данных или проводную/беспроводную сеть передачи данных (например, передавая пакеты).
Оконечное устройство 2102 обладает функцией приема наземного вещания 2111 от вещательной станции 2101 и принимает масштабируемые кодированные данные (BL) 2121 базового уровня через наземное вещание 2111. Оконечное устройство 2102 дополнительно имеет функцию передачи данных через сеть 2112 и принимает масштабируемые кодированные данные улучшенного уровня (EL) 2122, переданные через сеть 2112.
В соответствии с командой пользователя или т.п., например, оконечное устройство 2102 декодирует масштабируемые кодированные данные базового уровня (BL) 2121, полученные через наземное вещание 2111, чтобы получить изображение базового уровня, сохранить изображение или передать изображение на другое устройство.
Кроме того, в соответствии с командой пользователя, оконечное устройство 2102 получает масштабируемые кодированные данные (BL+EL), синтезируя масштабируемые кодированные данные базового уровня (BL) 2121, полученные через наземное вещание 2111, и масштабируемые кодированные данные улучшенного уровня (EL) 2122, полученные через сеть 2112, декодирует данные, чтобы получить изображение улучшенного уровня, сохраняет изображение или передает изображение на другое устройство.
Таким образом, масштабируемые кодированные данные могут, например, передаваться через среду передачи данных, различную для каждого уровня. Поэтому нагрузка может распределяться и задержки или переполнения можно избежать.
Среда передачи данных, используемая при передаче, может выбираться для каждого уровня в соответствии с обстоятельствами. Например, масштабируемые кодированные данные базового уровня (BL) 2121, для которых количество данных относительно большое, могут передаваться через среду передачи данных с широкой полосой пропускания, тогда как масштабируемые кодированные данные улучшенного уровня (EL) 2122, количество данных которых относительно мало, могут передаваться через среду передачи данных с узкой полосой пропускания. Альтернативно, независимо от того, является ли среда передачи данных для передачи масштабируемых кодированных данных улучшенного уровня (EL) 2122 сетью 2112 или наземным вещанием 2111, она может изменяться в соответствии с доступной полосой пропускания сети 2112. Несомненно, то же самое справедливо для данных любого уровня.
Управляя, таким образом, повышением нагрузки для передачи данных можно дополнительно исключить.
Количество уровней может определяться произвольно и количество сред передачи данных также может определяться произвольно. Дополнительно, количество оконечных устройств 2102, по которым распространяются данные, может определяться произвольно. Приведенное выше описание было сделано на примере вещания от вещательной станции 2101; однако примеры использования этим не ограничиваются. Система 2100 передачи данных может применяться к любой системе, которая передает масштабируемые кодированные данные способом, при котором данные делятся на множество фрагментов в блоке уровня и передаются через множество линий.
Система 2100 передачи данных, как показано на фиг. 89, может обеспечивать эффект, подобный эффекту, описанному выше со ссылкой на фиг. 1-80, применяя настоящую технологию способом, подобным применению уровневого кодирования и декодирования, как описано со ссылкой на фиг. 1-80.
Третья система
Масштабируемое кодирование используется для хранения кодированных данных, как показано в примере на фиг. 90.
В фотографической системе 2200, показанной на фиг. 90, фотографическое устройство 2201 выполняет масштабируемое кодирование данных изображения, полученного посредством фотографирования объекта 2211, и подает данные на запоминающее устройство 2202 масштабируемых кодированных данных в качестве масштабируемых кодированных данных (BL+EL) 2221.
Запоминающее устройство 2202 масштабируемых кодированных данных сохраняет масштабируемые кодированные данные (BL+EL) 2221, поданные от фотографического устройства 2201, с качеством, соответствующим ситуации. Например, в обычном состоянии запоминающее устройство 2202 масштабируемых кодированных данных извлекает данные базового уровня из масштабируемых кодированных данных (BL+EL) 2221 и сохраняет данные в качестве масштабируемых кодированных данных (BL) 2222 базового уровня с низким качеством и малым количеством данных. В отличие от этого, в ситуации повышенного внимания запоминающее устройство 2202 масштабируемых кодированных данных сохраняет масштабируемые кодированные данные (BL+EL) 2221 с высоким качеством и большим количеством данных.
Это позволяет запоминающему устройству 2202 масштабируемых кодированных данных сохранять изображение с высоким качеством, только когда это необходимо; поэтому увеличение количества данных может быть исключено, в то время как снижение ценности изображения за счет ухудшения изображения уменьшается. В результате, эффективность использования области хранения может быть повышена.
Например, фотографическим устройством 2201 является контрольная камера. Если цель, которая должна контролироваться (например, нарушитель), не присутствует в сфотографированном изображении (в обычной ситуации), существует высокая вероятность, что содержание фотографического изображения не обладает важностью; поэтому приоритет отдается уменьшению количества данных и данные изображения (масштабируемые кодированные данные) сохраняются с низким качеством. В отличие от этого, если цель, которая должна контролироваться, присутствует в качестве объекта 2211 в сфотографированном изображении (в ситуации повышенного внимания), существует высокая вероятность, что содержание фотографического изображения обладает важностью; поэтому приоритет отдается количества данных и данные изображения (масштабируемые кодированные данные) сохраняются с высоким качеством.
Должно ли внимание быть повышенным или нет, может определяться, например, анализом изображения, имеющегося в запоминающем устройстве 2202 масштабируемых кодированных данных. Альтернативно, фотографическое устройство 2201 может определять и передавать результат определения на запоминающее устройство 2202 масштабируемых кодированных данных.
Критерий определения, должно ли внимание быть повышенным, устанавливается произвольно и содержание изображения в качестве критерия устанавливается произвольно. Естественно, в качестве критерия определения может использоваться условие, отличающееся от контента изображения. Например, уделять ли изображению повышенное внимание, можно определять, основываясь на величине или форме сигнала записанных аудиоданных для каждого заданного периода времени или в ответ на команду извне, такую как команда пользователя.
Представленное выше описание было сделано на примере изменения двух состояний, когда внимание является повышенным или обычным; однако, количество состояний может определяться произвольно. Например, могут устанавливаться три или более состояний: внимание отсутствует, небольшое внимание, внимание и повышенное внимание. Однако, максимальное количество состояний, которые могут изменяться, зависит от количества уровней масштабируемых кодированных данных.
Количество уровней масштабируемого кодирования может определяться фотографическим устройством 2201 в соответствии с состоянием. В обычной ситуации фотографическое устройство 2201 может формировать масштабируемые кодированные данные базового уровня (BL) 2222 с низким качеством и малым количеством данных и подавать данные на запоминающее устройство 2202 масштабируемых кодированных данных. С другой стороны, при ситуации внимания фотографическое устройство 2201 может формировать масштабируемые кодированные данные базового уровня (BL) 2221 с высоким качеством и большим количеством данных и подавать данные на запоминающее устройство 2202 масштабируемых кодированных данных.
Представленное выше описание было сделано на примере контрольной камеры; однако, применение фотографической системы 2200 определяется произвольно и не ограничивается контрольной камерой.
Фотографическая система 2200, как показано на фиг. 90, может обеспечивать эффект, подобный эффекту, описанному со ссылкой на фиг. 1-80, применяя настоящую технологию способом, подобным применению уровневого кодирования и декодирования, как описано со ссылкой на фиг. 1-80.
Настоящая технология может также применяться к потоковой передаче данных HTTP, такой как MPEG или DASH, в которой соответствующий фрагмент данных выбирается в блоке фрагмента из числа подготовленных кодированных данных, чьи разрешающая способность и т.п. различны. Другими словами, информация, относящаяся к кодированию или декодированию сожжет использоваться совместно среди фрагментов кодированных данных.
18. Тринадцатый вариант осуществления
Другой пример варианта осуществления
Выше были описаны примеры устройства или системы, к которым применяется настоящая технология, настоящая технология этим не ограничивается. Настоящая технология может применяться к любого рода структуре, смонтированной на устройстве, как описано выше, и структура вводится в систему, например, в процессор, как система LSI (Large Scale Integration, интеграция высокого уровня), в модуль, содержащий множество процессоров, в блок, содержащий множество модулей и в комплект, имеющий другую функцию, добавляемую к блоку (то есть, структура части устройства).
Видеокомплект
Пример применения настоящей технологии как комплекта описывается со ссылкой на фиг. 91. На фиг. 91 показан пример структуры видеокомплекта, к которому применяется настоящая технология.
В последние годы электронные устройства стали выполнять самые разные функции и когда при разработке и производстве продается или предоставляется только часть структуры, часто можно видеть, что обеспечивается не просто одна структура, а множество структур с коррелированными функциями объединяются и продаются в качестве одного многофункционального комплекта.
Видеокомплект 2300, показанный на фиг. 91, имеет структуру с различными функциями, которая образуется, имея устройство с функцией, относящейся к кодированию или декодированию изображения (к тому или другому или к обоим), добавленной к устройству с другой функцией, связанной с упомянутой выше функцией.
Как показано на фиг. 91, видеокомплект 2300 содержит группу модулей, содержащую видеомодуль 2311, внешнюю память 2312, модуль 2313 управления электропитанием, входной модуль 2314 и т.п. и устройства с коррелированными функциями, содержащими модуль 2321 связности 2321, камеру 2322, датчик 2323 и т.п.
Модуль относится к компоненту с несколькими частичными, но связанными функциями, существенными друг для друга. Конкретная физическая структура задается произвольно; например, множество элементов электронной схемы, каждый из которых имеет свою собственную функцию, таких как процессор, резистор и конденсатор, и другие устройства располагаются на монтажной панели и интегрируются. Дополнительно, с упомянутым выше модулем могут объединяться другой модуль или процессор, чтобы образовать новый модуль.
В случае примера, показанного на фиг. 91, видеомодуль 2311 является объединением структур с функциями, связанными с обработкой изображений, и содержит прикладной процессор 2331, видеопроцессор 2332, широкополосный модем 2333 и радиочастотный модуль 2334.
Процессор формируется интегральными структурами с заданными функциями на полупроводниковом кристалле посредством технологии SoC (System on Chip, система на чипе) и также упоминается, например, как системный LSI (Large Scale Integration, большая интегральная схема). Структура с заданной функцией может быть логической схемой (структура аппаратурного обеспечения), CPU, ROM, RAM и т.п., программой, выполняемой, используя ту же самую структуру (структура программного обеспечения) или сочетанием их обоих. Например, процессор может иметь логическую схему и CPU, ROM, RAM и т.п. и иметь часть функции, обеспечиваемую логической схемой (структура аппаратурного обеспечения), а другие функции могут обеспечиваться программой (структура программного обеспечения), выполняемый в CPU.
Прикладной процессор 2331, показанный на фиг. 91, является процессором, выполняющим приложение для обработки изображения. Приложение, выполняемое в прикладном процессоре 2331, не только выполняет процесс вычислений, но также управляет структурами внутри и снаружи видеомодуля 2311, такими как видеопроцессор 2332 для осуществления заданной функции.
Видеопроцессор 2332 является процессором с функцией для кодирования или декодирования изображения (одной из них или обеих).
Широкополосный модем 2333 преобразует данные (цифровой сигнал), переданные через проводную или беспроводную (или ту и другую) широкополосную связь, осуществляемую через широкополосную линию, такую как Интернет или телефонная сеть общего пользования, в аналоговые сигналы через цифровую модуляцию, или преобразует аналоговый сигнал, полученный посредством широкополосной передачи, в данные (цифровые сигналы), демодулируя аналоговый сигнал. Широкополосный модем 2333 обрабатывает любую информацию, в том числе, данные изображения, поток, в котором кодированы данные изображения, прикладную программу и данные установки, которые, например, должны обрабатываться видеопроцессором 2332.
Радиочастотный модуль 2334 является модулем, выполняющим преобразование частоты, модуляцию/демодуляцию, усиление, фильтрацию и т.п. радиочастотного сигнала, которым обмениваются через антенну. Например, радиочастотный блок 2334 формирует радиочастотный сигнал, преобразуя частоту сигнала в основной полосе, сформированного широкополосным модемом 2333. В другом примере радиочастотный блок 2334 формирует сигнал в основной полосе, преобразуя частоту радиочастотного сигнала, принятого через входной модуль 2314.
Как обозначено пунктирной линией 2341 на фиг. 91, прикладной процессор 2331 и видеопроцессор 2332 могут быть интегрированы в один процессор.
Внешняя память 2312 является модулем, обеспечиваемым снаружи видеомодуля 2311 и имеющим запоминающее устройство, используемое видеомодулем 2311. Запоминающее устройство внешней памяти 2312 может быть осуществлено в виде любой физической структуры; однако, поскольку запоминающее устройство часто используется для хранения данных большого объема, таких как данные изображения в блоке кадра, запоминающее устройство желательно реализовывать в виде полупроводниковой памяти, имеющей большую емкость, но более дешевую, чем DRAM (Dynamic Random Access Memory, динамическая оперативная память).
Блок 2313 управления электропитанием управляет и контролирует источник электропитания видеокомплекта 2311 (каждой структуры в видеомодуле 2311).
Входной модуль 2314 является модулем, обеспечивающим входную функцию радиочастотного модуля 2334 (схема на передающем/приемном конце со стороны антенны. Как показано на фиг. 91, входной модуль 2314 имеет, например, антенный блок 2351, фильтр 2352 и блок 2353 усиления.
Антенный блок 2351 имеет антенну, которая передает и принимает беспроводные сигналы и их периферийную структуру. Антенный блок 2351 передает сигнал, полученный от блока 2353 усиления и подает полученный беспроводной сигнал на фильтру 2352 в виде электрического сигнала (радиочастотного сигнала). Фильтр 2352 фильтрует радиочастотный сигнал, принятый через антенный блок 2351 и подает обработанный радиочастотный сигнал на радиочастотный модуль 2334. Блок 2353 усиления усиливает радиочастотный сигнал, поданный от радиочастотного модуля 2334 и подает сигнал на антенный блок 2351.
Модуль 2321 связности является модулем, имеющим функцию, связанную с внешним соединением. Физическая структура модуля 2321 связности может определяться произвольно. Например, модуль 2321 связности имеет структуру с функцией связи, отличной от характеристик связи для широкополосного модема 2333, и внешний терминал ввода/вывода и т.д.
Например, модуль 2321 связности может иметь модуль с функцией связи, основанной на характеристиках беспроводной связи, такой как Bluetooth (зарегистрированная торговая марка), IEEE 802.11 (например, Wi-Fi (Wireless Fidelity, зарегистрированная торговая марка)), NFC (Near Field Communication) или IrDA (Infrared Data Association), антенну, передающую или принимающую сигнал, основываясь на этих характеристиках, и т.п.Альтернативно, модуль 2321 связности может иметь модуль с функцией передачи данных, основанный на характеристиках проводной связи, такой как USB (Universal Serial Bus, универсальная последовательная шина) или HDMI (зарегистрированная торговая марка, High-Definition Multimedia Interface), терминал, основанный на этих технических характеристиках и т.п. Дополнительно, альтернативно, модуль 2321 связности может иметь другую функцию передачи данных (сигнала), такую как терминал аналогового ввода/вывода и т.п.
Заметим, что модуль 2321 связности может содержать устройство, которому передаются данные (сигнал). Например, модуль 2321 связности может иметь привод (не только привод съемного носителя, но также жесткий диск, SSD (Solid State Drive, твердотельный привод) и NAS (Network Attached Storage, подключенное к сети запоминающее устройство), которые считывают или записывают данные на носителе для записи данных, таком как магнитный диск, оптический диск, магнитооптический диск, или полупроводниковая память. Модуль 2321 связности может иметь устройство вывода изображения или звука (монитор, громкоговоритель и т.п.).
Камера 2322 является модулем, который фотографирует объект и получает данные изображения объекта. Данные изображения, полученные фотографированием с помощью камеры 2322, подают, например, на видеопроцессор 2332, где их кодируют.
Датчик 2323 является модулем с любой функцией датчика, таким как аудиодатчик, ультразвуковой датчик, светочувствительный датчик, датчик освещенности, инфракрасный датчик, датчик изображения, датчик вращения, датчик угловой скорости, датчик скорости, датчик ускорения, датчик наклона, датчик идентификации магнита, датчик удара или датчик температуры. Данные, обнаруженные датчиком 2323, подаются на прикладной процессор 2331 и используются приложением и т.д.
Структура, описанная как модуль, может быть реализована как процессор, или напротив, структура, описанная как процессор, может быть реализована как модуль.
В видеокомплекте 2300 с описанной выше структурой настоящая технология может применяться к видеопроцессору 2332, как описано ниже. Поэтому видеокомплект 2300 может использоваться в качестве комплекта, к которому применена настоящая технология.
Пример структуры видеопроцессора
На фиг. 92 показан пример схематического построения видеопроцессора 2332 (фиг. 91), к которому применяется настоящая технология.
В примере, показанном на фиг. 92, видеопроцессор 2332 имеет функцию кодирования видеосигнала и аудиосигнала и кодирования заданным способом после приема сигналов и функцию декодирования кодированных видеоданных и аудиоданных и воспроизведения и вывода видеосигнала и аудиосигнала.
Как показано на фиг. 92 видеопроцессор 2332 содержит блок 2401 входного видеопроцессора, первый блок 2402 увеличения/уменьшения изображения, второй блок 2403 увеличения/уменьшения изображения, блок 2404 выходного видеопроцессора, кадровую память 2405 и блок 2406 управления памятью. Видеопроцессор 2332 содержит механизм 2407 кодирования/декодирования, видеобуферы 2408А и 2408В ES (Elementary Stream, элементарного потока) и аудиобуферы 2409А и 2409В ES. Видеопроцессор 2332 дополнительно содержит аудиокодер 2410, аудио декодер 2411; мультиплексор (MUX (Multiplexer)) 2412; демультиплексор (DMUX (Demultiplexer)) 2413 и потоковый буфер 2414.
Блок 2401 входного видеопроцессора получает видеосигнал, поступающий, например, от модуля 2321 связности (фиг.91), и преобразует сигнал в цифровые данные изображения. Первый блок 2402 увеличения/уменьшения выполняет преобразование формата данных изображения или увеличивает/уменьшает изображение. Второй блок 2403 увеличения/уменьшения изображения выполняет процесс увеличения/уменьшения изображения в соответствии с форматом в месте назначения, в которое данные выводятся через блок 2404 выходного видеопроцессора, или выполняет преобразование формата данных изображения или увеличивает/уменьшает изображение способом, подобным первому блоку 2402 увеличения/уменьшения изображения. Выходной блок 2404 видеопроцессора выполняет преобразование формата данных изображения или преобразует данные изображения, например, в аналоговые сигналы и выводит данные в качестве воспроизводимого видеосигнала, например, на модуль 2321 связности (фиг. 91).
Кадровая память 2405 является памятью данных изображения, которая совместно используется блоком 2401 входного видеопроцессора, первым блоком 2402 увеличения/уменьшения изображения, вторым блоком 2403 увеличения/уменьшения изображения, блоком 2404 выходного видеопроцессора и механизмом 2407 кодирования/декодирования. Кадровая память 2405 реализуется, например, как полупроводниковая память, такая как DRAM.
Блок 2406 управления памятью управляет доступом к записи и считыванию в кадровой памяти 2405 в соответствии с графиком доступа для кадровой памяти 2405, который записан в таблице 2406А управления доступом после приема сигнала синхронизации от механизма 2407 кодирования/декодирования. Таблица 2406А управления доступом обновляется блоком 2406 управления памятью в соответствии с процессом, выполняемым механизмом 2407 кодирования/декодирования, первым блоком 2402 увеличения/уменьшения изображения, вторым блоком 2403 увеличения/уменьшения изображения или т.п.
Механизм 2407 кодирования/декодирования кодирует данные изображения и декодирует видеопоток, являющийся данными, полученными кодированием данных изображения. Например, механизм 2407 кодирования/декодирования кодирует данные изображения, считанные из кадровой памяти 2405, и далее записывает данные в видеобуфер 2408А ES в качестве видеопотоков. Кроме того, механизм 2407 кодирования/декодирования последовательно считывает видеопотоки из видеобуфера 2408В ES и последовательно записывает потоки в кадровую память 2405 в качестве данных изображения. Механизм 2407 кодирования/декодирования при кодировании/декодировании использует кадровую память 2405 в качестве рабочей области. Механизм 2407 кодирования/декодирования выводит сигнал синхронизации на блок 2406 управления памятью в момент времени, когда, например, начинается процесс каждого макроблока.
Видеобуфер 2408А ES буферирует видеопоток, сформированный механизмом 2407 кодирования/декодирования, и подает поток на мультиплексор (MUX) 2412. Видеобуфер 1408В ES буферирует видеопоток, поданный от демультиплексора (DMUX) 2413 и подает поток на механизм 2407 кодирования/декодирования.
Аудиобуфер 2409А ES буферирует аудиопоток, сформированный аудиокодером 2410, и подает поток на мультиплексор (MUX) 2412. Аудиобуфер 2409В ES буферирует аудиопоток, поданный от демультиплексора (DMUX) 2413, и подает поток на аудио декодер 2411.
Аудиокодер 2410 преобразует аудиосигнал, поданный от модуля 2321 связности (фиг. 91), например, в цифровые сигналы, таким образом, кодируя сигнал заданным способом, таким как аудиоспособ MPEG или АС3 (AudioCode number 3) Аудиокодер 2410 последовательно записывает в аудиобуфер 2409А ES аудиопоток как данные, полученными кодированием аудиосигналов. Аудиокодер 2411 декодирует аудиопоток, поданный от аудиобуфера 2409В ES, и преобразует поток в аналоговые сигналы и затем подает сигналы в качестве воспроизводимых аудиосигналов, например, на модуль 2321 связности (фиг. 91).
Мультиплексор (MUX) 2412 мультиплексирует видеопоток и аудиопоток. Способ такого мультиплексирования (то есть, формат битового потока, сформированного путем мультиплексирования) может определяться произвольно. Во время мультиплексирования мультиплексор (MUX) 2412 может добавлять в битовый поток заданную информацию заголовка и т.п. Другими словами, мультиплексор (MUX) 2412 посредством процесса мультиплексирования может преобразовывать формат потока. Например, мультиплексор (MUX) 2412 мультиплексирует сидеопоток и аудиопоток, чтобы преобразовать потоки в транспортный поток, который является битовым потоком в формате для передачи. В другом примере, мультиплексор (MUX) 2412 мультиплексирует видеопоток и аудиопоток, чтобы преобразовать потоки в данные (файловые данные) в файловый формат для записи.
Демультиплексор (DMUX) 2413 демультиплексирует битовый поток, в котором видеопоток и аудиопоток мультиплексированы, используя способ, соответствующий мультиплексирования, выполняемому мультиплексором (MUX) 2412. Другими словами, демультиплексор (DMUX) 2413 извлекает видеопоток и аудиопоток из битовых потоков, считанных из потокового буфера 2414 (разделяет видеопоток и аудиопоток друг от друга). То есть, демультиплексор (DMUX) 2413 может преобразовывать формат потока посредством демультиплексирования (инвертированное преобразование для преобразования, выполняемого мультиплексором (MUX) 2412). Например, демультиплексор (DMUX) 2413 получает транспортный поток, поданный от модуля 2321 связности или широкополосного модуля 2333 (оба показаны на фиг. 91) через потоковый буфер 2414, и демультиплексирует поток, посредством чего транспортный поток может быть преобразован в видеопоток и аудиопоток. В другом примере, демультиплексор (DMUX) 2413 получает файловые данные, считанные с различных носителей для записи данных модулем 2321 связности (фиг. 91) через потоковый буфер 2414, и демультиплексирует поток, посредством чего данные могут быть преобразованы в видеопоток и аудиопоток.
Потоковый буфер 2414 буферирует битовый поток. Например, потоковый буфер 2414 буферирует транспортный поток, поданный от мультиплексора (MUX) 2412 и подает поток на модуль 2321 связности или на широкополосный модуль 2333 (оба показаны на фиг. 91) в заданные моменты времени или по переданному извне запросу.
В другом примере потоковый буфер 2414 буферирует файловые данные, поданные от мультиплексора (MUX) 2412, и подает данные на модуль 2321 связности (фиг. 91) или т.п. в заданные моменты времени или по переданному извне запросу и записывает данные на различного рода носители для записи данных.
Дополнительно, потоковый буфер 2414 буферирует транспортный поток, полученный через модуль 2321 связности или широкополосный модем 2333 (оба показаны на фиг. 91), и подает поток на демультиплексор (DMUX) 2413 в заданные моменты времени или по переданному извне запросу.
Потоковый буфер 2414 буферирует файловые данные, считанные с носителя для записи данных в модуле 2321 связности (фиг. 91), и подает данные на демультиплексор (DMUX) 2413 в заданные моменты времени или по запросу извне.
Далее будет описан пример работы видеопроцессора 2332 с такой структурой. Например, видеосигнал, поданный на видеопроцессор 2332 от модуля 2321 связности (фиг. 91) или т.п., преобразуется в цифровые данные изображения заданным способом, таким как способ 4:2:2Y/Cb/Cr, входным блоком 2401 видеопроцессора и данные изображения последовательно записываются в кадровую память 2405. Цифровые данные изображения считываются первым блоком 2402 увеличения/уменьшения изображения или вторым блоком 2403 увеличения/уменьшения изображения, подвергаются преобразованию формата по способу 4:2:0Y/Cb/Cr и увеличиваются или уменьшаются и затем снова записываются в кадровую память 2405. Данные изображения кодируются механизмом 2407 кодирования/декодирования и записываются в видеобуфер 2408А ES в качестве видеопотока.
Кроме того, аудиосигнал, поданный от модуля 2321 связности (фиг. 91) на видеопроцессор 2332, кодируется аудиокодером 2410 и записывается в аудиобуфер 2409А ES в качестве аудиопотока.
Видеопоток, хранящийся в видеобуфере 2408А ES, и аудиопоток, хранящийся в аудиобуфере 1409А ES, считываются мультиплексором (MUX) 2412 и мультиплексируются в нем, например, чтобы преобразоваться в транспортный поток или файловые данные. Транспортный поток, сформированный мультиплексором (MUX) 2412, буферируется потоковым буфером 2414 и выводится во внешнюю сеть через модуль 2321 связности (фиг. 91) или широкополосный модем 2333 (оба показаны на фиг. 91). Файловые данные, сформированные мультиплексором (MUX) 2412, буферируются потоковым буфером 2414 и затем выводятся на модуль 2321 связности (фиг. 91) или т.п. и затем записываются на различные носители для записи данных.
Транспортный поток, поданный на видеопроцессор 2332 из внешней сети через модуль 2321 связности или широкополосный модем 2333 (оба показаны на фиг. 91), буферируется потоковым буфером 2414 и затем демультиплексируется демультиплексором (DMUX) 2413. Файловые данные, считанные с носителя для записи данных и поданные на видеопроцессор 2332 в модуле 2321 связности (фиг. 91), буферируются потоковым буфером 2414 и затем демультиплексируются демультиплексором (DMUX) 2413. Другими словами, файловые данные или транспортный поток, введенные на видеопроцессор 2332, разделяются на видеопоток и аудиопоток демультиплексором (DMUX) 2413.
Аудиопоток подается на аудиодекодер 2411 через аудиобуфер 2409В ES, декодируется и аудиосигнал воспроизводится. Видеопоток записывается в видеобуфер 2408В ES и последовательно считывается механизмом 2407 кодирования/декодирования и декодируется и записывается в кадровую память 2405. Декодированные данные изображения увеличиваются или уменьшаются вторым блоком 2403 увеличения/уменьшения изображения и записываются в кадровую память 2405. Декодированные данные изображения считываются блоком 2404 выходного видеопроцессора, подвергаются преобразованию формат в заданный формат, такой как по способу 4:2:2Y/Cb/Cr, и дополнительно преобразуются в аналоговый сигнал, так что и видеосигнал воспроизводится и выводится.
В случае, когда настоящая технология применяется к видеопроцессору 2332, выполненному таким образом, настоящая технология, соответствующая каждому из вариантов осуществления, описанных выше, может применяться к механизму 2407 кодирования/декодирования. Например, механизм 2407 кодирования/декодирования с модет иметь функцию устройства 100 масштабируемого кодирования и устройства 200 масштабируемого декодирования или устройства 900 кодирования изображения (фиг. 62) и устройства 1000 (фиг. 71) декодирования изображения, в соответствии с описанным выше вариантом осуществления. Таким образом, видеопроцессор 2332 может обеспечивать эффект, подобный эффекту, описанному выше со ссылкой на фиг. 1-80.
В механизме 2407 кодирования/декодирования настоящая технология (то есть, функция устройства кодирования изображения и устройства декодирования изображения, соответствующие каждому из вариантов осуществления, описанных выше) может реализовываться аппаратурным обеспечением, таким как логические схемы, могут реализовываться программным обеспечением, таким как встроенная программа или могут реализовываться аппаратурным обеспечением и программным обеспечением вместе.
Другой пример структуры видеопроцессора
На фиг. 93 схематично представлен другой пример структуры видеопроцессора 2332 (фиг. 91), к которому применяется настоящая технология. В случае примера, показанного на фиг. 93, видеопроцессор 2332 имеет функцию кодирования и декодирования видеоданных заданным способом.
Более конкретно, как показано на фиг. 93, видеопроцессор 2332 содержит блок 2511 управления, интерфейс 2512 отображения, механизм 2513 отображения, механизм 2514 обработки изображения и внутреннюю память 2515. Видеопроцессор 2332 содержит механизм 2516 кодека, интерфейс 2517 памяти, мультиплексор/демультиплексор (MUX/DMUX) 2518; сетевой интерфейс 2519 и видеоинтерфейс 2520.
Блок 2511 управления управляет операциями процессорных блоков в видеопроцессоре 2332, таких как интерфейс 2512 отображения, механизм 2513 отображения, механизм 2514 видеопроцессора и механизм 2516 кодека.
Как показано на фиг. 93, блок 2511 управления содержит, например, основной CPU 2531, подпроцессор 2532 и системный контроллер 2533. Основной CPU 2531 исполняет программы и т.п. для управления работой процессорных блоков, расположенных в видеопроцессоре 2332. Основной CPU 2531 формирует сигналы управления в соответствии с программами и т.п. и подает сигналы на процессорные блоки (другими словами, управляет работой процессорных блоков). Подпроцессор 2532 предназначен для помощи основному CPU 2531. Например, подпроцессор 2532 выполняет дочерний процесс или подпрограмму программ, выполняемых основным CPU 2531. Системный контроллер 2533 управляет операциями основного CPU 2531 и подпроцессора 2532; например, системный контроллер 2533 назначает программы, которые должны исполняться основным CPU 2531 и подпроцессором 2532.
Интерфейс 2512 отображения выводит данные изображения, например, на модуль 2321 связности (фиг. 91) под управлением блока 2511 управления. Например, интерфейс 2512 отображения преобразует цифровые данные изображения в аналоговые сигналы и выводит данные в качестве воспроизводимого видеосигнала или в форме цифровых данных на устройство монитора или т.п. модуля 2321 связности (фиг. 91).
Под управлением блока 2511 управления механизм 2513 отображения выполняет различные процессы преобразования, такие как преобразование формата и преобразование диапазона цветов для данных изображения, чтобы приспособиться к характеристикам аппаратурного обеспечения, такого как устройство монитора, на котором отображается изображение.
Механизм 2514 обработки изображения выполняет заданную обработку данных изображения, такую как фильтрация для улучшения изображения, под управлением блока 2511 управления.
Внутренняя память 2515 является памятью, расположенной внутри видеопроцессора 2332, которая используется совместно механизмом 2513 отображения, механизмом 2514 обработки изображения и механизмом 2516 кодека. Внутренняя память 2515 используется для обмена данными между механизмом 2513 отображения, механизмом 2514 обработки изображения и механизмом 2516 кодека. Например, внутренняя память 2515 хранит данные, поданные от механизма 2513 отображения, механизма 2514 обработки изображения или механизма 2516 кодека и, по мере необходимости, подает данные на механизм 2513 отображения, механизм 2514 обработки изображения или механизм 2516 кодека (или по запросу). Внутренняя память 2515 может формироваться любого рода запоминающим устройством; обычно, поскольку память используется для хранения малых количеств данных, таких как данные или параметры изображения в модуле блока, внутренняя память 2515 желательно формируется полупроводниковой памятью, имеющей относительно малую емкость (меньшую емкость, чем внешняя память 2312), но высокое быстродействие, такой как SRAM (Static Random Access Memory).
Механизм 2516 кодек выполняет процессы, относящийся к кодированию или декодированию данных изображения. Способ кодирования или декодирования посредством механизма 2516 кодека определяется произвольно и количество способов может быть одним или больше, чем одним. Например, механизм 2516 кодека может иметь функцию кодека, соответствующую множеству способов кодирования/декодирования, и может кодировать данные изображения или декодировать кодированные данные выбранным способом.
В примере, показанном на фиг. 93, механизм 2516 кодека содержит, например, блоки MPEG-2 Video 2541, AVC/H.264 2542, HEVC/H.265 2543, HEVC/H.265 (масштабируемый) 2544, HEVC/H.265 (мультипроекционный) 2545 и MPEG-DASH 2551 в качестве функциональных блоков процесса, связанного с кодеком.
MPEG-2 Video 2541 соответствует функциональному блоку, который кодирует или декодирует данные изображения способом MPEG-2. AVC/H.2642542 соответствует функциональному блоку, который кодирует или декодирует данные изображения способом AVC. HEVC/H.2652543 соответствует функциональному блоку, который кодирует или декодирует данные изображения способом HEVC. HEAVC/H.265 2542 соответствует функциональному блоку, который кодирует или декодирует данные изображения способом HEVC. HEAVC/H.265 (мультипроекционный) 2545 соответствует функциональному блоку, который кодирует или декодирует данные изображения способом HEVC.
MPEG-DASH 2551 соответствует функциональному блоку, который передает или принимает данные изображения в соответствии со способом MPEG-DASH (MPEG-Dynamic Adaptive Streaming over HTTP). MPEG-DASH является технологией потоковой передачи видео, используя HTTP (HyperText Transfer Protocol, протокол передачи гипертекста), и одним из ее признаков является выбор и передача соответствующего фрагмента подготовленных кодированных данных с разными разрешающими способностями и т.д. в модуле сегмента. MPEG-DASH2551 формирует поток, основываясь на технических характеристиках, или управляет передачей потока и использует упомянутые выше MPEG-2 Video 2541- НЕУС/Н.265(мультипроекционный) 2545 при кодировании и декодировании данных изображения.
Интерфейс 2517 памяти является интерфейсом, используемым для внешней памяти 2312. Данные, поданные от механизма 2514 обработки изображения или механизма 2516 кодека, подаются во внешнюю память 2312 через интерфейс 2517 памяти. Данные, считанные из внешней памяти 2312, подаются на видеопроцессор 2332 (механизм 2514 обработки изображения или механизм 2516 кодека) через интерфейс 2517 памяти.
Мультиплексор/демультиплексор (MUX DMUX) 2518 мультиплексирует или демультиплексирует различные фрагменты данных, относящиеся к изображению, такие как битовый поток кодированных данных, данные изображения и видеосигналы. Способ мультиплексирования/демультиплексирования определяется произвольно. Например, при мультиплексировании, в дополнение к сбору множества фрагментов данных, мультиплексор/демультиплексор (MUX/DMUX) 2518 может добавлять к собранным данным заданную информацию заголовка и т.д. С другой стороны, при демультиплексировании, в дополнение к разделению данных на множество фрагментов, мультиплексор/демультиплексор (MUX/DMUX) 2518 может добавлять к разделенным фрагментам данным заданную информацию заголовка. Другими словами, мультиплексор/демультиплексор (MUX DMUX) 2518 посредством процесса мультиплексирования/демультиплексирования может преобразовывать формат данных. Например, мультиплексор/демультиплексор (MUX DMUX) 2518 может преобразовывать битовый поток в транспортный поток, который является битовым потоком в формате передачи данных или данными в файловом формате для записи (файловых данных) посредством мультиплексирования битового потока. Очевидно, что посредством демультиплексирования также возможно инверсное преобразование.
Сетевой интерфейс 2519 является интерфейсом для широкополосного модема 2333 и для модуля 2321 связности (оба показаны на фиг. 91) и т.п. Видеоинтерфейс 2520 является интерфейсом для модуля 2321 связности и камеры 2322 (оба показаны на фиг. 91) и т.п.
Далее будет описан пример работы видеопроцессора 2332 с описанной выше структурой. Например, после приема транспортного потока от внешней сети через модуль 2321 связности (фиг.91) или широкополосный модем 2333 (оба показаны на фиг. 91), транспортный поток подается на мультиплексор/демультиплексор (DMUX) 2518 через сетевой интерфейс 2519, демультиплексируется в нем и декодируется механизмом 2516 кодека. Данные изображения, полученные декодированием, выполняемым механизмом 2516 кодека, подвергаются заданной обработке изображения, выполняемой механизмом 2514 обработки изображения, и заданному преобразованию, выполняемому механизмом 2513 отображения, и результирующие данные подаются на модуль 2321 связности (фиг. 91) или т.п. через интерфейс 2512 отображения; таким образом, изображение отображается на мониторе. В другом примере, данные изображения, полученные декодированием, выполняемым механизмом 2516 кодека, перекодируются механизмом 2516 кодека, мультиплексируются мультиплексором/демультиплексором (MUX DMUX) 2518 и преобразуются в файловые данные; затем данные выводятся на модуль 2321 связности (фиг. 91) или т.п. через видеоинтерфейс 2520 и записываются на различных носителях для записи данных.
В другом примере файловые данные кодированных данных, в которых кодированы данные изображения, которые были считаны модулем 2321 связности (фиг. 91) или т.п. с носителя для записи данных (не показан), подаются на мультиплексор/демультиплексор (MUX DMUX) 2518 через видеоинтерфейс 2520 демультиплексируются в нем и декодируются механизмом 2516 кодека. Данные изображения, полученные декодированием, выполняемым механизмом 2516 кодека, подвергаются заданной обработке изображения, выполняемой механизмом 2514 обработки изображения, и заданному преобразованию, выполняемому механизмом 2513 отображения; затем данные подаются на модуль 2321 связности (фиг. 91) или т.п. через интерфейс 2512 отображения и, таким образом, изображение отображается на мониторе. В другом примере, данные изображения, полученные декодированием, выполняемым механизмом 2516 кодека, перекодируются механизмом 2516 кодека, мультиплексируются мультиплексором/демультиплексором (MUX DMUX) 2518 и преобразуются в транспортный поток; затем данные передаются на модуль 2321 связности или на широкополосный модем 2333 (оба показаны на фиг. 91) или т.п. через сетевой интерфейс 2519 и м передаются на другое устройство, которое не показано.
Между процессорными блоками в видеопроцессоре 2332 происходит обмен данными изображения или другими фрагментами данных, например, через внутреннюю память 2515 или внешнюю память 2312. Модуль 2313 управления электропитанием управляет электропитанием блока 2511 управления.
В случае, когда настоящая технология применяется к видеопроцессору 2332, выполненному с представленной здесь структурой, настоящая технология, соответствующая каждому из вариантов осуществления, описанных выше, может применяться к механизму 2516 кодека. Другими словами, например, механизм 2516 кодека может иметь функциональный блок, который реализует устройство 100 масштабируемого кодирования и устройство 200 масштабируемого декодирования или устройство 900 кодирования изображения (фиг. 62) и устройство 1000 (фиг. 71) декодирования изображения, в соответствии с любым из описанных выше вариантом осуществления. Таким образом, видеопроцессор 2332 может обеспечивать эффект, подобный эффекту, описанному выше со ссылкой на фиг. 1-80.
В механизме 2516 кодека настоящая технология (то есть, функция устройства кодирования изображения и устройства декодирования изображения, соответствующих каждому из вариантов осуществления, описанных выше) может реализовываться аппаратурным обеспечением, таким как логические схемы, могут реализовываться программным обеспечением, таким как встроенная программа или могут реализовываться аппаратурным обеспечением и программным обеспечением вместе.
В качестве структуры видеопроцессора 2332 были описаны два примера; однако, структура видеопроцессора 2332 может определяться произвольно и может быть отличной от приведенных выше двух примеров. Видеопроцессор 2332 может быть выполнен в виде либо одного полупроводникового чипа, либо множества полупроводниковых чипов. Например, может использоваться трехмерная многоуровневая LSI, в которой присутствует множество полупроводниковых уровней. Альтернативно, может использоваться множество LSI.
Пример применения в устройстве
Видеокомплект 2300 может быть встроен в различные устройства, обрабатывающие данные изображения. Например, видеокомплект 2300 может быть встроен в телевизионное устройство 1900 (фиг. 84), сотовый телефон 1920 (фиг. 85), устройство 1940 записи и воспроизведения (фиг. 86), фотографическое устройство 1960 (фиг. 87) и т.д. При наличии видекомплекта 2300 устройство может обеспечивать эффект, подобный эффекту, описанному выше со ссылкой на фиг. 1-80.
Видекомплект 2300 может также быть введен в оконечное устройство, такое как персональный компьютер 2004, AV-устройство 2005, планшетное устройство 2006 или сотовый телефон 2007 в системе 2000 передачи данных, показанной на фиг. 88, вещательную станцию 2101 и оконечное устройство 2102 в системе 2100 передачи данных, показанной на фиг. 89, и фотографическое устройство 2201 и запоминающее устройство 2202 масштабируемых кодируемых данных в фотографической системе 2200, показанной на фиг. 90. При наличии видекомплекта 2300 устройство может обеспечивать эффект, подобный эффекту, описанному выше со ссылкой на фиг. 1-80.
Даже если структура является частью структур видеокомплекта 2300, структура может рассматриваться как структура, в которой настоящая технология применяется, пока структура содержит видеопроцессор 23332. Например, только видеопроцессор 2332 может быть выполнен в виде видеопроцессора, к которому применима настоящая технология. Дополнительно, процессор или видеомодуль 2311, который показан пунктирной линией 2341, может содержаться как процессор или модуль, к которому применима настоящая технология. Кроме того, видеомодуль 2311, расширенная память 2312, модуль 2313 управления электропитанием и входной модуль 2314 могут объединяться, чтобы быть выполненными в виде видеоблока 2361, к которому применима настоящая технология. В любой структуре может быть получен эффект, подобный эффекту, описанному со ссылкой на фиг. 80.
Пока структура содержит видеопроцессор 2332, структура может содержаться в различных устройствах, которые обрабатывают данные изображения способом, подобным видеонабору 2300. Например, видеопроцессор 2332, процессор, обозначенный пунктирной линией 2341, видеомодуль 1311 или видеоблок 2361 могут быть встроены в телевизионное устройство 1900 (фиг. 84), сотовый телефон 1920 (фиг. 85), устройство 1940 записи и воспроизведения (фиг. 86), фотографическое устройство 1960 (фиг. 87), оконечное устройство, такое как персональный компьютер 2004, AV-устройство 2005, планшетное устройство 2006 или сотовый телефон 2007 в системе 2000 передачи данных, показанной на фиг. 88, широковещательная станция 2101 и оконечное устройство 2102 в системе 2100 передачи данных, показанной на фиг. 89, и фотографическое устройство 2201 и запоминающее устройство 2202 масштабируемых кодированных данных в фотографической системе 2200. показанной на фиг. 90. Включая любую из упомянутых выше структур, в которой применяется настоящая технология, устройство может иметь эффект, подобный эффекту, описанному со ссылкой на фиг. 1-80, способом, подобным случаю видеокомплекта 2300.
19. Четырнадцатый вариант осуществления
Пример применения MPEG-DASH
Настоящая технология может применяться к системе, в которой соответствующий фрагмент кодированных данных выбран в модуле сегмента из числа множества фрагментов данных с различными разрешающими способностями и т.д., например, к системе воспроизведения контента потоковой передачи HTTP, подобной MPEG DASH, как описано ниже, или к системе беспроводной связи с характеристиками Wi-Fi.
Краткие сведения о системе воспроизведения контента
Сначала, со ссылкой на фиг. 94-96 кратко описывается система воспроизведения контента, к которой может применяться настоящая технология.
Основная структура, общая для таких вариантов осуществления, описывается ниже со ссылкой на фиг. 94 и 95.
На фиг. 94 представлена структура системы воспроизведения контента. Как показано на фиг. 94, система воспроизведения контента содержит серверы 2610 и 2611 контента, сеть 2612 и устройство 2620 воспроизведения контента (клиентское устройство).
Серверы 2610 и 2611 контента и устройство 2620 воспроизведения контента соеденяются друг с другом через сеть 2612. Сеть 2612 является проводным или беспроводным трактом передачи для информации, передаваемой от устройства к сети 2612.
Например, сеть 2612 сожет содержать Интернет, сеть общего пользования, такую как сеть телефонных линий или сеть спутниковой связи, различные LAN (Local Area Network, локальная сеть), в том числе Ethernet (зарегистрированная торговая марка), and WAN (Wide Area Network, глобальная сеть). Сеть 2612 может содержать выделенную сеть, такую как ЕР-VPN (Internet Protocol-Virtual Private Network, виртуальная частная сеть, работающая по протоколу Интернет).
Сервер 2610 контента кодирует данные контента и формирует и сохраняет файл данных, содержащий кодированные данные и метаинформацию кодированных данных. Заметим, что в случае, когда сервер 2610 контента формирует файл данных формата МР4, кодированные данные соответствуют "mdat" и метаинформация соответствует "moov".
Данные контента могут быть музыкальными данными, такими как музыка, презентация и радиопрограммами, видеоданные могут быть такими как кинофильмы, телевизионные программы, видеопрограммы, фотографии, тексты, картины и диаграммы, играми, программным обеспечением и т.п.
Здесь, сервер 2610 контента формирует множество файлов данных одного и того же контента, но с разными битовыми скоростями. Сервер 2611 контента имеет информацию о параметрах, которая должна добавляться к URL сервера 2610 контента в устройстве 2620 воспроизведения контента, включенного в информацию URL в ответ на запрос воспроизведения контента от устройства 2620 воспроизведения контента, и передает информацию на устройство 2620 воспроизведения контента. Конкретное описание приводится здесь далее со ссылкой на фиг. 95.
На фиг. 95 показано прохождение данных в системе воспроизведения контента, показанной на фиг. 94. Сервер 2610 контента кодирует одни и те же данные контента с различными битовыми скоростями, чтобы сформировать файл А с 2 Мбит/с, файл В с 1,5 Мбит/с, и файл C с 1 Мбит/с, как показано на фиг. 95. Файл А имеет относительно высокую битовую скорость, файл В имеет стандартную битовую скорость и файл С имеет низкую битовую скорость.
Как показано на фиг. 95, кодированные данные каждого файла делятся на множество сегментов. Например, кодированные данные файла А делятся на сегменты "A1", "А2", "A3", … сегменты; кодированные данные файла В делятся на сегменты "В1", "В2", "В3", … "Bn"; и кодированные данные файла С делятся на сегменты "C1", "С2", "С3", … "Cn".
Каждый сегмент может быть конфигурирован посредством структурной выборки одного или двух или более фрагментов кодированных видеоданных, и кодированных аудиоданных, которые начинаются синхровыборкой МР4 (например, IDR-картинкой в случае видеокодирования по AVC/H.264) и это может воспроизводиться отдельно. Например, когда видеоданные с 30 кадрами в секунду кодируются в GOP (Group of Picture, группа картинки) с фиксированной длиной 15 кадров, каждый сегмент может быть кодированными видеоданными и аудиоданными в течение 2 секунд, соответствующими 4 GOP или кодированными видеоданными и аудиоданными в течение 10 секунд, соответствующими 20 GOP.
Диапазоны воспроизведения при помощи сегментов с одинаковым порядком расположения (диапазон расположения во времени, считая от начала контента) в каждом файле одинаковы. Например, диапазоны воспроизведения сегмента "А2", сегмента "В2" и сегмента "С2" являются одинаковыми и если каждый сегмент является кодированными данными в течение 2 секунд, диапазоны воспроизведения сегмента "А2", сегмента "В2" и сегмента "С2" составляют 2-4 секунды контента.
После формирования файлов А-С, составленных из множественных сегментов, сервер 2610 контента сохраняет файлы А-С. Как показано на фиг. 95, сервер 2610 контента передает сегменты, составляющие различные файлы, последовательно к устройству 2620 воспроизведения контента и устройство 2620 воспроизведения контента передает в потоке принятые сегменты.
Здесь сервер 2610 контента, соответствующий варианту осуществления, передает файлы списка воспроизведения (здесь далее MPD: Media Presentation Description, описание представления медиа), содержащие информацию о битовой скорости и информацию о доступе к кодированным данным, устройству 2620 воспроизведения контента и устройство 2620 воспроизведения контента выбирает битовую скорость из числа множества битовых скоростей, основываясь на MPD, и запрашивает сервер 2610 контента, чтобы передать сегмент, соответствующий выбранной битовой скорости.
Хотя на фиг. 94 показан только один сервер 2610 контента, настоящее раскрытие не ограничивается этим примером.
На фиг. 96 показан конкретный пример MPD. Как видно на фиг. 96, MPD содержит информацию о доступе, связанную со множеством фрагментов кодированных данных с различными битовыми скоростями (BANDWIDTH, ширина полосы). Например, MPD, показанный на фиг. 96, указывает, что присутствуют фрагменты кодированных данных 256 Кбит/с, 1024 Мбит/с, 1384 Мбит/с, 1536 Мбит/с и 2048 Мбит/с, которые содержат информацию о доступе, связанную с каждым фрагментом кодированных данных. Устройство 2620 воспроизведения контента может динамично изменять битовую скорость кодированных данных, которые должны передаваться в потоке, основываясь на MPD.
На фиг. 94 показан сотовый телефон как один из примеров устройства 2620 воспроизведения контента, но устройство 2620 воспроизведения контента не ограничивается этим примером. Например, устройство 2620 воспроизведения контента может быть устройством обработки информации, таким как PC (персональный компьютер), устройством обработки видеоданных бытового применения (DVD-рекордер или кассетный видеомагнитофон), PDA (персональный цифровой секретарь), домашний игровой автомат или бытовая техника. Устройство 2620 воспроизведения контента может быть устройством обработки информации, таким как сотовый телефон, телефон системы PHS (Personal Handyphone System), мобильный аудиоплеер, мобильное устройство обработки видеоданных или мобильный игровой автомат.
Структура сервера 2610 контента
Краткое представление системы воспроизведения контента было приведено со ссылкой на фиг. 94-96. Далее структура сервера 2610 контента описывается со ссылкой на фиг. 97.
На фиг. 97 приведена функциональная блок-схема структуры сервера 2610 контента. Как видно на фиг. 97, сервер 2610 контента содержит блок 2631 формирования файла, запоминающее устройство 2632 и блок 2633 связи.
Блок 2631 формирования файла содержит кодер 2641 для кодирования данных контента и формирует множество фрагментов кодированных данных с одинаковым контентом, но с различными битовыми скоростями и вышеупомянутый MPD. Например, в случае формирования фрагментов кодированных данных со скоростями 256 Кбит/с, 1024 Мбит/с, 1384 Мбит/с, 1536 Мбит/с и 2048 Мбит/с, блок 2631 формирования файла формирует MPD, как показано на фиг. 96.
Запоминающее устройство 2632 сохраняет множество фрагментов кодированных данных с различными битовыми скоростями и MPD, сформированный блоком 2631 формирования файла. Это запоминающее устройство 2632 может быть носителем для хранения данных, таким как энергонезависимая память, магнитный диск, оптический диск или МО-диск (магнитооптический диск). Примерами энергонезависимой памяти являются EEPROM (электрически стираемое программируемое постоянное запоминающее устройство) и EPROM (стираемое программируемое ROM). Примерами магнитного диска являются жесткий диск и подобный диску магнитный диск. Примерами оптического диска являются CD (компакт-диск, DVD-R (записываемый цифровой универсальный диск)), и BD (диск Blu-ray (зарегистрированная торговая марка)).
Блок 2633 связи является интерфейсом для устройства 2620 воспроизведения контента и осуществляет связь с устройством 2620 воспроизведения контента через сеть 2612. Более конкретно, блок 2633 связи имеет такую функцию, как сервер HTTP, который осуществляет связь с устройством 2620 воспроизведения данных в соответствии с HTTP. Например, блок 2633 связи передает MPD на устройство 2620 воспроизведения контента, извлекает кодированные данные, запрошенные устройством 2620 воспроизведения контента, основываясь на MPD, в соответствии с HTTP у запоминающего устройства 2632, и передает кодированные данные устройству 2620 воспроизведения контента в качестве ответа HTTP.
Структура устройства 2620 воспроизведения данных
Была описана структура сервера 2610 контента, соответствующая настоящему варианту осуществления. Далее со ссылкой на фиг. 98 описывается структура устройства 2620 воспроизведения контента.
На фиг. 98 приведена функциональная блок-схема структуры устройства 2620 воспроизведения контента. Как видно на фиг. 98, устройство 2620 воспроизведения контента содержит блок 2651 связи, запоминающее устройство 2652, блок 2653 воспроизведения, блок 2654 выбора и блок 2656 получения текущего размещения.
Блок 2651 связи является интерфейсом поверхностью для сервера 2610 контента и запрашивает данные у сервера 2610 контента и получает данные от сервера 2610 контента. Более конкретно, блок 2651 связи имеет функцию клиента HTTP, который связывается с устройством 2620 воспроизведения контента в соответствии с HTTP. Например, блок 2651 связи может выборочно получить сегмент кодированных данных или MPD от сервера 2610 контента при использовании диапазона HTTP (HTTP Range).
Запоминающее устройство 2652 хранит различные фрагменты информации, связанные с воспроизведением контента. Например, сегменты, полученные блоком 2651 связи от сервера 2610 контента, последовательно буферизуются. Сегменты кодированных данных, буферированные запоминающим устройством 2652, далее подаются на блок 2653 воспроизедения по технологии FIFO (первым прибыл - первым убыл).
Основываясь на команде добавления параметров к URL контента, описанного в MPD, запрошенном от сервера 2611 контента, как описано ниже, запоминающее устройство 2652 прибавляет параметр к URL в блоке 2651 связи и сохраняет определение для получения доступа к URL.
Блок 2653 воспроизведения последовательно воспроизводит фрагменты, поданные от запоминающего устройства 2652. Конкретно, блок 2653 воспроизведения выполняет декодирование сегмента, D/A-преобразование и представление и т.д.
Блок 2654 выбора последовательно выбирает в одном и том же контенте сегменте кодированных данных, соответствующий битовой скорости, включенной в MPD. Например, когда блок 2654 выбора последовательно выбирает сегменты "A1", "В2", и "A3" в зависимости от полосы сети 2612, блок 2651 связи последовательно получает сегменты "A1", "В2", и "A3" от сервера 2610 контента, как показано на фиг. 95.
Блок получения 2656 текущего размещения должен получить текущее размещение устройства 2620 воспроизведения контента и может быть сконфигурирован, например, модулем, которые получает текущее размещение, таким как приемник GPS (Global Positioning System, система глобального позиционирования). Блок 2656 получения текущего размещения может получить текущее размещение устройства 2620 воспроизведения контента, используя беспроводную сеть.
Структура сервера 2611 контента
На фиг. 99 показан пример структуры сервера 2611 контента. Как показано на фиг. 99, сервер 2611 контента содержит запоминающее устройство 2671 и блок 2672 связи.
Запоминающее устройство 2671 хранит информацию URL для MPD. Информация URL для MPD передается от сервера 2611 контента к устройству 2620 воспроизведения контента по запросу от устройства 2620 воспроизведения контента, которое запрашивает воспроизведение контента. Когда информация URL для MPD предоставляется устройству 2620 воспроизведения контента, запоминающее устройство 2671 хранит информацию определения, когда параметры прибавляются к URL, описанному в MPD в устройстве 2620 воспроизведения контента.
Блок 2672 связи является интерфейсом для устройства 2620 воспроизведения контента и осуществляет связь с устройством 2620 воспроизведения контента через сеть 2612. Другими словами, блок 2672 связи получает запрос информации URL для MPD от устройства 2620 воспроизведения контента, которое воспроизведение контента, и передает информацию URL для MPD на устройство 2620 воспроизведения контента. URL для MPD, переданный от блока 2672 связи, содержит информацию для добавления параметров в устройстве 2620 воспроизведения контента.
Параметры, которые должны быть добавлены к URL для MPD в устройстве 2620 воспроизведения контента, могут быть устанавливаться по-разному посредством информации определения, которая должна использоваться совместно сервером 2611 контента и устройством 2620 воспроизведения контента. Например, такая информация, как текущее размещение устройства 2620 воспроизведения контента, идентификатор пользователя для пользователя, который использует устройство 2620 воспроизведения контента, емкость памяти устройства 2620 воспроизведения контента и емкость хранения устройства 2620 воспроизведения контента, может быть добавлена к URL для MPD в устройстве 2620 воспроизведения контента.
В системе воспроизведения контента с описанной выше структурой эффект, подобный эффекту, описанному со ссылкой на фиг. 1-80, может быть получен, применяя настоящую технологию, описанную со ссылкой на фиг. 1-80.
Другими словами, кодер 2641 сервера 2610 контента имеет функцию устройства кодирования изображения, соответствующую описанному выше варианту осуществления. Блок 2653 воспроизведения устройства 2620 воспроизведения контента имеет функцию устройства декодирования изображения, соответствующего описанному выше варианту осуществления. Таким образом, увеличение емкости, необходимой при кодировании и декодировании, может быть снижено.
Кроме того, в системе воспроизведения контента, увеличение емкости хранения, необходимой для кодирования и декодирования, может быть уменьшено за счет обмена данными, кодированными в соответствии с настоящей технологией.
16. Пример применения системы радиосвязи Wi-Fi
Пример применения системы радиосвязи Wi-Fi
Здесь приводится описание примера основного порядка работы устройства беспроводной связи в системе беспроводной связи, к которому может быть применена настоящая технология.
Пример порядка работы устройства беспроводной связи
Сначала беспроводные пакетные передача и прием ведутся до установления соединения Р2Р (Peer to Peer, равноправных систем), чтобы управлять конкретным приложением.
Затем, перед соединением на втором уровне после указания конкретного приложения и перед установлением соединения Р2Р, проводятся беспроводные пакетные передача и прием, чтобы управлять конкретным приложением. Затем, после соединения на втором уровне беспроводные пакетные передача и прием проводятся в случае активирования конкретного приложения.
Пример осуществления связи в начале конкретного приложения
Пример беспроводных пакетных передачи и приема после установления соединения Р2Р (Peer to Peer) и перед управлением конкретной операцией показан на фиг. 100 и 101, которые являются диаграммами последовательности выполнения операций, представляющими пример в процессе связи каждого устройства, которое служит основой беспроводной связи. Конкретно, показан пример процедуры установления прямой связи, которая приводит к соединению, основанному на требованиях Wi-Fi direct (Direct) (также называемых Wi-Fi Р2Р), стандартизированный в Wi-Fi Alliance.
Здесь, в Wi-Fi direct, множество беспроводных устройств обнаруживают присутствие друг друга (Device Discovery, Service Discovery, обнаружение устройства, обнаружение обслуживания). Затем, после выбора устройств, которые должны соединяться, выполняется аутентификация устройства между устройствами через WPS (Wi-Fi Protected Setup), устанавливая, таким образом, прямую связь. В Wi-Fi direct, в которой одно из многочисленных устройств беспроводной связи определяется в качестве владельца группы (Group Owner) и другие определяются как клиенты (Clients), таким образом формируется группа связи.
В этом примере процесса связи, однако, не представлен обмен пакетами. Например, начальное соединение требует обмена пакетами для WPS и, кроме того, запрос/ответ для аутентификации (Authentication Request/Response) также требует обмена пакетами. На фиг. 100 и фиг. 101, однако, обмен пакетами не представлен, а показано только соединение для второго и последующих моментов.
Пример процесса связи между первым устройством 2701 беспроводной связи и вторым устройством 2702 беспроводной связи на фиг. 100 и 101 также применяется к процессу связи между другими устройствами беспроводной связи.
Сначала выполняется обнаружение устройства, Device Discovery, между первым устройством 2701 беспроводной связи и вторым устройством 2702 (2711) беспроводной связи. Например, первое устройство 2701 беспроводной связи передает запрос Probe (сигнал запроса ответа) и принимает ответ Probe (ответный сигнал) на этот запрос Probe от второго устройства 2702 беспроводной связи. Таким образом, первое устройство 2701 беспроводной связи и второе устройство 2702 беспроводной связи могут обнаружить присутствие друг друга. Далее, с помощью Device Discovery могут быть получены название или вид устройства (телевизор, персональный компьютер, смартфон и т.д.) противоположной стороны.
Затем выполняется обнаружение обслуживания, Service Discovery, между первым устройством 2701 беспроводной связи и вторым устройством 2702 (2712) беспроводной связи. Сначала первое устройство 2701 беспроводной связи передает запрос обнаружения обслуживания, Service Discovery Query, для запроса обслуживания, которое может взаимодействовать со вторым устройством 2702 беспроводной связи, обнаруженным с помощью Device Discovery. Затем, после приема ответа на запрос обнаружения обслуживания, Service Discovery Response, от второго устройства 2702 беспроводной связи, первое устройство 2701 беспроводной связи получает обслуживание, которое можно взаимодействовать со вторым устройством 2702 беспроводной связи. Другими словами, благодаря Service Discovery, может быть получено обслуживание, позволяющее взаимодействовать с другой стороной. Обслуживание, позволяющее взаимодействовать с другой стороной, является, например, обслуживанием по протоколу (DLNA (Digital Living Network Alliance) и DMR (Digital Media Renderer) и т.д.).
В дальнейшем пользователь осуществляет операцию по выбору другой стороны соединения (операция выбора другой стороны соединения) (2713). Эта операция выбора другой стороны соединения может проводиться в любом из устройств, в первом устройстве 2701 беспроводной связи или втором устройстве 2702 беспроводной связи. Например, экран выбора другой стороны соединения отображается на блоке отображения первого устройства 2701 беспроводной связи и второе устройство 2702 беспроводной связи посредством операции пользователя выбирается как вторая сторона соединения на этом экране выбора другой стороны соединения.
После выполнения пользователем (2713) операции выбора другой стороны соединения, проводятся переговоры владельца группы, Group Owner Negotiation, между первым устройством 2701 беспроводной связи и вторым устройством 2702 (2714) беспроводной связи. На фиг. 100 и фиг. 101 показан пример, в котором первое устройство 2701 беспроводной связи служит владельцем 2715 группы (Group Owner) 2715, а второе устройство 2702 беспроводной связи служит клиентом (Client) 2716 по результатам операции переговоров, Group Owner Negotiation.
Далее процессы (2717-2720) проводятся между первым устройством 2701 беспроводной связи и вторым устройством 2702 беспроводной связи, устанавливая, таким образом, прямую связь. Другими словами, установление звена связи ассоциации, Association, (звено связи L2 (второй уровень)) (2717) и звена связи безопасности, Secure, (2718) выполняется последовательно. Кроме того, назначение IP-адреса (2719) и установка L4 (2720) на L3 с помощью SSDP (Simple Service Discovery Protocol, простой протокол обнаружения обслуживания) и т.п. выполняются последовательно. Заметим, что L2 (lауеr2) относится к второму уровню (уровень звена передачи данных), L3 (lауеr3) относится к третьему уровню (сетевой уровень), и L4 (lауеr4) относится к четвертому уровню (транспортный уровень).
Далее пользователь указывает или активирует конкретное приложение (операция требований к приложению/активации) (2721). Эта операция требований к приложению/активации может иметь место в любом из устройств, в первом устройстве 2701 беспроводной связи или втором устройстве 2702 беспроводной связи. Например, экран операции требований к приложению/активации отображается на устройстве отображения первого устройства 2701 беспроводной связи и на этом экране операции требований к приложению/активации пользователь выбирает конкретное приложение.
После проведения пользователем (2721) операции требований к приложению/активации, конкретное приложение, соответствующее операции требований к приложению/активации, выполняется между первым устройством 2701 беспроводной связи и вторым устройством 2702 (2722) беспроводной связи.
Здесь предполагается случай, в котором соединение делается между АР (Access Point, точка доступа) и STA (Station, станция) в диапазоне технических требований, предшествующих требованиям Wi-Fi Direct (спецификация, стандартизированная в IEEE802. 11). В этом случае было невозможно знать заранее, что устройство должно соединяться до выполнения соединения на втором уровне (перед ассоциацией в http://IEEE802.il11).
В отличие от этого, как показано на фиг. 100 и 101, Wi-Fi Direct делает возможным получить информацию о соединении с другой стороной, когда кандидат на соединение с другой стороной ищется при операциях Device Discovery или Service Discovery (вариант). Информацией о другой стороне соединения является, например, основной тип устройства или конкретное приложение, которое может реализовываться. Затем, основываясь на полученной информации о другой стороне соединения, пользователь может выбрать другую сторону соединения.
Этот механизм может быть расширен, чтобы реализовать систему беспроводной связи, в которой конкретное приложение определяется перед соединением на втором уровне, вторая сторона соединения выбирается и затем конкретное приложение активируется автоматически. Пример последовательности, которая приводит к соединению в этом случае, показан на фиг. 103. Кроме того, пример структуры формата рамы (формат кадра) для обмена в этом процессе связи, показан на фиг. 102.
Пример структуры формата кадра
На фиг. 102 схематично показан пример структуры формата кадра (frame format), которым обмениваются в процессе связи каждое из устройств и который служит основой настоящей технологии. Другими словами, на фиг. 102 показан пример структуры кадра MAC для установления соединения на втором уровне. Конкретно, это пример формата кадра Association Request/Response (2787), чтобы реализовать последовательность, показанную на фиг. 103.
Как показано на фиг. 102, кадр MAC содержит управление кадром, Frame Control (2751)-(2758), и среди этих кадров Frame Control (2751)-Sequence Control (2756) являются заголовками MAC. Когда передается запрос ассоциации, Association Request, В3В2="0b00" и В7В6В5В4="0b0000" устанавливается в управлении кадром, Frame Control, (2751). Кроме того, когда ответ ассоциации, Association Response, инкапсулируется, в управлении кадром, Frame Control, (2751) устанавливается В3В2="0b00" и В7В6В5В4="0b0001". Заметим, что "0b00" представляет "00" в двоичном коде, "0b0000" представляет "0000" в двоичном коде и "0b0001" представляет "0001" в двоичном коде.
Здесь, в основном, кадр MAC (основа кадра (2757)), показанный на фиг. 100, является форматом кадра запроса/ответа об ассоциации, Association Request/Response, согласно разделам 7.2. 3.4 и 7.2. 3.5 в технических требованиях IEEE802.11-2007. Однако, формат отличается тем, что в дополнение к информационному элементу, Information Element, (в дальнейшем сокращается как IE) (2759), определенному в технических требованиях http://IEEE802.il, здесь содержится расширение IE.
Кроме того, чтобы выразить IE конкретного поставщика, Vendor Specific IE, (2760), для типа IE устанавливается 127 в десятичном коде (Information Element ID (2761)). В этом случае, на основании раздела на 7.3.2.26 в технических требованиях http://IEEE802.il11-2007, присутствуют поле длины, Length, (2762) и поле OUI (2763), которые сопровождаются конкретным контентом поставщика (2764).
В качестве контента для контента конкретного поставщика (2764), поле (тип IE (2765)), представляющее тип IE конкретного поставщика предоставляется первым. Затем рассматривается структура, способная хранить множества подэлементов (2766).
В качестве контента подэлемента (2766), может содержаться название (2767) конкретного приложения, которое должно использоваться, или роль (2768) устройства во время работы конкретного приложения. Кроме того, может содержаться информация о конкретном приложении или номер порта, используемого для управления приложением (информация для настройки L4) (2769), или информация, связанная с возможностями, Capability, конкретного приложения (информация Capability) (2770). Здесь, информация Capability относится, например, к информация для указания, когда конкретным приложением, которое должно быть указано, является DLNA, возможно ли иметь дело с передачей/воспроизведением аудиоданных или передачей/воспроизведением видеоданных.
Таким образом, система беспроводной связи с описанной выше структурой может обеспечивать эффект, подобный эффекту, описанному выше со ссылкой на фиг. 1-80, применяя настоящую технологию, как описано со ссылкой на фиг. 1-80. Другими словами, увеличение емкости хранения, необходимой для кодирования и декодирования, может быть исключено. Дополнительно, в системе беспроводной связи, как описано выше, увеличение емкости хранения, необходимой для кодирования и декодирования, может быть исключено посредством обмена данными, кодированными в соответствии с настоящей технологией.
В настоящем описании был рассмотрен пример, в котором различные фрагменты информации мультиплексируются в кодированном потоке и передаются со стороны кодирования на сторону декодирования. Способ передачи информации, однако, не ограничивается этим примером. Например, эти фрагменты информации могут быть переданы или записаны как отдельные данные, коррелированные с кодированным битовым потоком, без мультиплексирования в кодированный битовый поток. Здесь, "корреляция" относится к связи изображения, содержащегося в битовом потоке (может быть частью изображения, такой как срез или блок), и информацией, соответствующей изображению при декодировании. Другими словами, информация может передаваться по тракту передачи, отдельному от изображения (или битового потока). Альтернативно, информация может быть записана на носителе для записи отдельно от изображения (или битового потока) (или в другой области записи того же самого носителя для записи). Информация и изображение (или битовый поток) могут быть коррелированы друг с другом в любом модуле, например, во множестве кадров, одном кадре или части кадра.
Предпочтительные варианты осуществления настоящего раскрытия были описаны со ссылкой на приложенные чертежи; однако, настоящее раскрытие не ограничивается приведенными выше примерами. Очевидно, что специалист в данной области техники, для которого предназначено настоящее раскрытие, может предложить различные модификации или усовершенствования в пределах технических принципов, описанных в объеме формулы изобретения, и тех, которые содержатся в области техники, относящейся к настоящему раскрытию.
Настоящая технология может использовать любую из следующих структур, приведенных ниже.
(1) Устройство обработки изображения, содержащее:
приемный блок, который принимает кодированные данные, в которых кодировано изображение с множеством основных уровней, и информацию управления межуровневым предсказанием, управляющую тем, выполнять ли межуровневое предсказание, которое является предсказанием между множеством основных уровней с использованием подуровня; и
блок декодирования, который декодирует каждый основной уровень кодированных данных, принятых приемным блоком, выполняя межуровневое предсказание только на подуровне, указанном информацией управления межуровневым предсказанием, принятой приемным блоком.
(2) Устройство обработки изображения по любому из пп. (1) и (3)-(9), в котором, если текущая картинка текущего основного уровня принадлежит подуровню, указанному как подуровень, для которого межуровневое предсказание выполняется, посредством информации управления межуровневым предсказанием, блок декодирования декодирует кодированные данные текущей картинки, используя межуровневое предсказание.
(3) Устройство обработки изображения по любому из пп. (1), (2) и (4)-(9), в котором:
информация управления межуровневым предсказанием указывает наивысший подуровень, для которого разрешается межуровневое предсказание, и
блок декодирования декодирует, используя межуровневое предсказание, кодированные данные картинки, принадлежащей к подуровням с наинизшего подуровня до наивысшего подуровня, указанным информацией управления межуровневым предсказанием.
(4) Устройство обработки изображения по любому из пп. (1)-(3) и (5)-(9), в котором информация управления межуровневым предсказанием устанавливается для каждого основного уровня.
(5) Устройство обработки изображения по любому из пп. (1)-(4) и (6)-(9), в котором информация управления межуровневым предсказанием устанавливается как параметр, общий для всех основных уровней.
(6) Устройство обработки изображения по любому из пп. (1)-(5) и (7)-(9), в котором:
приемный блок принимает информацию управления межуровневым пиксельным предсказанием, которая управляет тем, выполнять ли межуровневое пиксельное предсказание, которое является предсказанием пикселей между множеством основных уровней, и информацию управления межуровневым предсказанием синтаксиса, которая управляет тем, выполнять ли межуровневое предсказание синтаксиса, которое является предсказанием синтаксиса между множеством основных уровней, причем информация управления межуровневым пиксельным предсказанием и информация управления межуровневым предсказанием синтаксиса устанавливаются независимо, как информация управления межуровневым предсказанием, и
блок декодирования выполняет межуровневое пиксельное предсказание, основываясь на информации управления межуровневым пиксельным предсказанием, принятой приемным блоком, и выполняет межуровневое предсказание синтаксиса, основываясь на информации управления межуровневым предсказанием синтаксиса, принятой приемным блоком.
(7) Устройство обработки изображения по любому из пп. (1)-(6), (8) и (9), в котором:
информация управления межуровневым пиксельным предсказанием, используя подуровень, управляет тем, выполнять ли межуровневое пиксельное предсказание,
блок декодирования выполняет межуровневое пиксельным предсказание только на подуровне, указанном в информации управления межуровневым пиксельным предсказанием,
информация управления межуровневым предсказанием синтаксиса управляет тем, выполнять ли межуровневое предсказание синтаксиса для каждой картинки или среза, и
блок декодирования выполняет межуровневое предсказание синтаксиса только для картинки или среза, указанных в информации управления межуровневым предсказанием синтаксиса.
(8) Устройство обработки изображения по любому из пп. (1)-(7) и (9), в котором информация управления межуровневым пиксельным предсказанием передается как nal-блок (nal_unit), набор видеопараметров (VPS (Video Parameter Set)) или расширенный набор видеопараметров (vps_extension).
(9) Устройство обработки изображения по любому из пп. (1)-(8), в котором информация управления межуровневым предсказанием синтаксиса передается как nal-блок (nal_unit), набор параметров картинки (PPS (Picture Parameter Set)) или заголовок среза (SliceHeader).
(10) Способ обработки изображения, содержащий этапы, на которых:
принимают кодированные данные, в которых кодировано изображение с множеством основных уровней, и информацию управления межуровневым предсказанием, управляющую тем, выполнять ли межуровневое предсказание, которое является предсказанием между множеством основных уровней с использованием подуровня; и
декодируют каждый основной уровень принятых кодированных данных, выполняя межуровневое предсказание только на подуровне, указанном в принятой информации управления межуровневым предсказанием.
(11) Устройство обработки изображения, содержащее:
блок кодирования, который кодирует каждый основной уровень данных изображения, выполняя межуровневое предсказание, являющееся предсказанием среди множества основных уровней, только на подуровне, указанном в информации управления межуровневым предсказанием, которая управляет тем, выполнять ли межуровневое предсказание с использованием подуровня; и
блок передачи, передающий кодированные данные, полученные кодированием посредством блока кодирования, и информацию управления межуровневым предсказанием.
(12) Устройство обработки изображения по любому из пп. (11) и (13)-(19), в котором, если текущая картинка текущего основного уровня принадлежит подуровню, указанному как подуровень, для которого межуровневое предсказание выполняется, посредством информации управления межуровневым предсказанием, блок кодирования кодирует данные изображения текущей картинки, используя межуровневое предсказание.
(13) Устройство обработки изображения по любому из пп. (11), (12) и(14)-(19), в котором:
информация управления межуровневым предсказанием указывает наивысший подуровень, для которого разрешается межуровневое предсказание, и
блок кодирования кодирует, используя межуровневое предсказание, данные изображения картинки, принадлежащей к подуровням с наинизшего подуровня до наивысшего подуровня, указанным информацией управления межуровневым предсказанием.
(14) Устройство обработки изображения по любому из пп. (11)-(13) и (15)-(19), в котором информация управления межуровневым предсказанием устанавливается для каждого основного уровня.
(15) Устройство обработки изображения по любому из пп. (11)-(14) и (16)-(19), в котором информация управления межуровневым предсказанием устанавливается как параметры, общие для всех основных уровней.
(16) Устройство обработки изображения по любому из пп. (11)-(15) и (17)-(19), в котором:
блок кодирования выполняет межуровневое пиксельное предсказание в качестве предсказания пикселей среди множества основных уровней, основываясь на информации управления межуровневым пиксельным предсказанием, которая управляет тем, выполнять ли межуровневое пиксельное предсказание, и которая устанавливается как информация управления межуровневым предсказанием,
блок кодирования выполняет межуровневое предсказание синтаксиса в качестве предсказания синтаксиса среди множества основных уровней, основываясь на информации управления межуровневым предсказанием синтаксиса, которая управляет тем, выполнять ли межуровневое предсказание синтаксиса, и которая устанавливается как информация управления межуровневым предсказанием, независимо от информации управления межуровневым пиксельным предсказанием, и
блок передачи передает информацию управления межуровневым пиксельным предсказанием и информацию управления межуровневым предсказанием синтаксиса, которые устанавливаются независимо друг от друга как информация управления межуровневым предсказанием.
(17) Устройство обработки изображения по любому из пл. (11)-(16), (18) и (19), в котором:
информация управления межуровневым пиксельным предсказанием, используя подуровень, управляет тем, выполнять ли межуровневое пиксельное предсказание,
блок кодирования выполняет межуровневое пиксельным предсказание только на подуровне, указанном в информации управления межуровневым пиксельным предсказанием,
информация управления межуровневым предсказанием синтаксиса управляет тем, выполнять ли межуровневое предсказание синтаксиса для каждой картинки или среза, и
блок кодирования выполняет межуровневое предсказание синтаксиса только на картинке или срезе, указанном в информации управления межуровневым предсказанием синтаксиса.
(18) Устройство обработки изображения по любому из пл. (11)-(17) и (19), в котором блок передачи передает информацию управления межуровневым пиксельным предсказанием как nal-блок (nal_unit), набор видеопараметров (VPS (Video Parameter Set)) или расширенный набор видеопараметров (vps_extension).
(19) Устройство обработки изображения по любому из пп. (11)-(18), в котором блок передачи передает информацию управления межуровневым предсказанием синтаксиса как nal-блок (nal_unit), набор параметров картинки (PPS (Picture Parameter Set)) или заголовок среза (SliceHeader).
(20) Способ обработки изображения, содержащий этапы, на которых: кодируют каждый основной уровень данных изображения, выполняя межуровневое
предсказание, являющееся предсказанием среди множества основных уровней, только на подуровне, указанном в информации управления межуровневым предсказанием, которая управляет тем, выполнять ли межуровневое предсказание с использованием подуровня; и
передают кодированные данные, полученные кодированием и информацию управления межуровневым предсказанием.
(21) Устройство обработки изображения по любому из пл. (1)-(9), в котором информация управления межуровневым предсказанием устанавливается для каждого из основных уровней, количество которых меньше или равно максимальному количеству основных уровней.
(22) Устройство обработки изображения по любому из пп. (1)-(9), в котором информация управления межуровневым предсказанием устанавливается на значение, меньшее или равное максимальному количеству подуровней.
(23) Устройство обработки изображения по любому из пп. (1)-(9), в котором информация управления межуровневым предсказанием устанавливается на значение, меньшее или равное максимальному количеству подуровней, которое является меньшим между количеством подуровней основного уровня опорного источника и количеством подуровней основного уровня опорного места назначения.
(24) Устройство обработки изображения по любому из пп. (1)-(9), в котором информация управления межуровневым предсказанием передается как общая информация, содержащая информацию, относящуюся ко всем основным уровням.
(25) Устройство обработки изображения по любому из пп. (11)-(19), в котором информация управления межуровневым предсказанием устанавливается для каждого из основных уровней, количество которых меньше или равно максимальному количеству основных уровней.
(26) Устройство обработки изображения по любому из пп. (11)-(19), в котором информация управления межуровневым предсказанием устанавливается на значение, меньшее или равное максимальному количеству подуровней.
(27) Устройство обработки изображения по любому из пп. (11)-(19), в котором информация управления межуровневым предсказанием устанавливается на значение, меньшее или равное максимальному количеству подуровней, которое является меньшим между количеством подуровней основного уровня опорного источника и количеством подуровней основного уровня опорного места назначения.
(28) Устройство обработки изображения по любому из пп. (11)-(19), в котором блок передачи передает информацию управления межуровневым предсказанием как общую информацию, содержащую информацию, относящуюся ко всем основным уровням.
(31) Устройство обработки изображения, содержащее:
приемный блок, который принимает кодированные данные, в которых кодированы данные изображения с множеством уровней, и информацию, управляющую для каждой картинки выполнением межуровневого предсказания текстуры для формирования предсказанного изображения, используя изображение другого уровня в качестве опорного изображения; и
блок декодирования, который формирует предсказанное изображение, выполняя процесс предсказания, в котором межуровневое предсказание текстуры применяется в соответствии с информацией, принятой приемным блоком, и декодирует кодированные данные, принятые приемным блоком, используя предсказанное изображение.
(32) Устройство обработки изображения по любому из пп. (31) и (33)-(39), в котором информацией является синтаксис для долгосрочного опорного кадра кадровой памяти, хранящей изображение другого уровня.
(33) Устройство обработки изображения по любому из пп. (31), (32) и (34)-(39), в котором приемный блок принимает такую информацию, как набор параметров последовательности (sep_parameter_set_rbsp).
(34) Устройство обработки изображения по любому из пп. (31)-(33) и (35)-(39), в котором приемный блок принимает синтаксис used_by_curr_pic_lt_sps_flag[i] набора параметров последовательности, установленного в качестве информации.
(35) Устройство обработки изображения по любому из пп. (31)-(34) и (36)-(39), в котором выполняется процесс предсказания, в котором блок декодирования управляется так, чтобы не выполнять межуровневое предсказание текстуры для картинки со значением синтаксиса used_by_curr__pic_lt_sps_flag[i], установленным на "0", и управляется так, чтобы выполнять межуровневое предсказание текстуры для картинки со значением синтаксиса used_by_curr_pic_lt_sps_flag[i], установленным на "1".
(36) Устройство обработки изображения по любому из пп. (31)-(35) и (37)-(39), в котором приемный блок принимает такую информацию, как заголовок среза (slice_segment_header).
(37) Устройство обработки изображения по любому из пп. (31)-(36), (38) и (39), в котором приемный блок принимает синтаксис used_by_curr_pic_lt_flag[i] заголовка среза в качестве информации.
(38) Устройство обработки изображения по любому из пп. (31)-(37) и (39), в котором выполняется процесс предсказания, в котором блок декодирования управляется так, чтобы не выполнять межуровневое предсказание текстуры для картинки со значением синтаксиса used_by_curr_pic_lt_flag[i], установленным на "0", и управляется так, чтобы выполнять межуровневое предсказание текстуры для картинки со значением синтаксиса used_by_curr_pic_lt_flag[i], установленным на "1".
(39) Устройство обработки изображения по любому из пп. (31)-(38), в котором:
если выполняется внутрикадровое предсказание, блок декодирования выполняет внутрикадровое предсказание в режиме BL-текстуры как межкадровое предсказание текстуры, и
если выполняется межкадровое предсказание, блок декодирования выполняет межкадровое предсказание в режиме опорного индекса как межкадровое предсказание текстуры.
(40) Способ обработки изображения, содержащий этапы, на которых:
принимают кодированные данные, в которых кодировано изображении с множеством уровней, и информацию, управляющую для каждой картинки выполнением межуровневого предсказания текстуры для формирования предсказанного изображения, используя изображение другого уровня в качестве опорного изображения; и
формируют предсказанное изображение, выполняя процесс предсказания, в котором межуровневое предсказание текстуры применяется в соответствии с принятой информацией, и декодируют принятые кодированные данные, используя предсказанное изображение.
(41) Устройство обработки изображения, содержащее:
блок формирования, который формирует информацию, для каждой картинки управляющую выполнением межуровневого предсказания текстуры для формирования предсказанного изображения, используя изображение другого уровня в качестве опорного изображения в данных изображения, содержащих множество уровней;
блок кодирования, который формирует предсказанное изображение, выполняя процесс предсказания, в котором межуровневое предсказание текстуры применяется в соответствии с информацией, сформированной блоком формирования, и кодирует данные изображения, используя предсказанное изображение; и
блок передачи, передающий кодированные данные, полученные кодированием посредством блока кодирования, и информацию, сформированную блоком формирования.
(42) Устройство обработки изображения по любому из пп. (41) и (43)-(49), в котором блок формирования формирует синтаксис для долгосрочного опорного кадра кадровой памяти, хранящей изображение другого уровня в качестве информации.
(43) Устройство обработки изображения по любому из пп. (41), (42) и (44)-(49), в котором блок передачи передает синтаксис в наборе параметров последовательности (sep_parameter_set_rbsp).
(44) Устройство обработки изображения по любому из пп. (41)-(43) и (45)-(49), в котором блок формирования устанавливает значение синтаксиса used_by_curr_pic_lt_sps_flag[i] набора параметров последовательности, установленного как синтаксис.
(45) Устройство обработки изображения по любому из пп. (41)-(44) и (46)-(49), в котором:
блок формирования устанавливает значение синтаксиса used_by_curr_pic_lt_sps_flag[i] равным "0" для картинки, для которой межуровневое предсказание текстуры не выполняется, и
блок формирования устанавливает значение синтаксиса used_by_curr_pic_lt_sps_flag[i] равным "1" для картинки, для которой межуровневое предсказание текстуры выполняется.
(46) Устройство обработки изображения по любому из пп. (41)-(45) и (47)-(49), в котором блок передачи передает синтаксис в заголовке среза (slice_segment_header).
(47) Устройство обработки изображения по любому из пп. (41)-(46), (48) и (49), в котором блок формирования устанавливает значение синтаксиса used_by_curr_pic_lt_flag[i] заголовка среза в качестве синтаксиса.
(48) Устройство обработки изображения по любому из пп. (41)-(47) и (49), в котором:
блок формирования устанавливает значение синтаксиса used_by_curr_pic_lt_flag[i] равным "0" для картинки, для которой межуровневое предсказание текстуры не выполняется, и
блок формирования устанавливает значение синтаксиса used_by_curr_pic_lt_flag[i] равным "1" для картинки, для которой межуровневое предсказание текстуры выполняется.
(49) Устройство обработки изображения по любому из пп. (41)-(48), в котором:
если выполняется внутрикадровое предсказание, блок кодирования выполняет внутрикадровое предсказание и режиме BL-текстуры как межкадровое предсказание текстуры, и
если выполняется межкадровое предсказание, блок кодирования выполняет межкадровое предсказание в режиме опорного индекса как межкадровое предсказание текстуры.
(50) Способ обработки изображения, содержащий этапы, на которых:
формируют информацию, для каждой картинки управляющую выполнением межуровневого предсказания текстуры для формирования предсказанного изображения, используя изображение другого уровня в качестве опорного изображения в данных изображения, содержащих множество уровней;
формируют предсказанное изображение, выполняя процесс предсказания, в котором межуровневое предсказание текстуры применяется в соответствии с сформированной информацией, и кодируют данные изображения, используя предсказанное изображение; и
передают полученные кодированные данные изображения и сформированную информацию.
Перечень ссылочных позиций
100 Устройство масштабируемого кодирования
101 Блок формирования общей информации
102 Блок управления кодирования
103 Блок кодирования изображения базового уровня
104 Блок управления межуровневым предсказанием
105 Блок кодирования изображения улучшенного уровня
135 Блок предсказания/компенсации движения
141 Блок установки максимального количества основных уровней
142 Блок установки максимального количества подуровней
143 Блок установки максимального подуровня для выполнения межуровневого предсказания
151 Блок управления выполнением межуровневого предсказания
152 Буфер информации, связанной с кодированием
200 Устройство масштабируемого декодирования
201 Блок получения общей информации
202 Блок управления декодированием
203 Блок декодирования изображения базового уровня
204 Блок управления межуровневым предсказанием
205 Блок декодирования изображения улучшенного уровня
232 Блок компенсации движения
241 Блок получения максимального количества основных уровней
242 Блок получения максимального количества подуровней
243 Блок получения максимального подуровня для выполнения межуровневого предсказания
251 Блок управления выполнением межуровневого предсказания
252 Буфер информации, относящейся к декодированию
301 Блок формирования общей информации
342 Блок установки количества подуровней
343 Блок установки максимального подуровня для выполнения межуровневого предсказания
401 Блок получения общей информации
442 Блок получения количества подуровней
443 Блок получения максимального подуровня для выполнения межуровневого предсказания
501 Блок формирования общей информации
504 Блок управления межуровневым предсказанием
543 Блок установки общего флага
544 Блок установки максимального подуровня для выполнения межуровневого предсказания
551 Блок управления выполнением межуровневого предсказания
601 Блок получения общей информации
604 Блок управления межуровневым предсказанием
643 Блок получения общего флага
644 Блок получения максимального подуровня для выполнения межуровневого предсказания
651 Блок управления выполнением межуровневого предсказания
701 Блок формирования общей информации
704 Блок управления межуровневым предсказанием
711 Блок установки информации управления межуровневым пиксельным предсказанием
721 Блок повышающей дискретизации
722 Блок управления межуровневым пиксельным предсказанием
723 Буфер пикселей базового уровня
724 Буфер синтаксиса базового уровня
725 Блок установки информации управления межуровневым предсказанием синтаксиса
726 Блок управления межуровневым предсказанием синтаксиса
801 Блок получения общей информации
811 Блок получения информации управления межуровневым пиксельным предсказанием
821 Блок повышающей дискретизации
822 Блок управления межуровневым пиксельным предсказанием
823 Буфер пикселей базового уровня
824 Буфер синтаксиса базового уровня
825 Блок получения информации управления межуровневым предсказанием синтаксиса
826 Блок управления межуровневым предсказанием синтаксиса
948 Блок формирования заголовка
1044 Блок расшифровки заголовка.