ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0001] Настоящее изобретение относится к устройству кодирования изображения, способу кодирования изображения, и программе, в частности, к процессу интра-предсказания, выполняемому над блоком кодирования без потерь.
УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
[0002] Система, H.264/MPEG-4 AVC (далее, кратко H.264) известна в качестве системы кодирования для сжатия и записи фильма (смотри NPL 1).
[0003] В H.264, кодирование без потерь может быть выполнено посредством выполнения процесса обхода преобразования, при котором осуществляется обход ортогонального преобразования и квантования. В частности, кодирование без потерь обладает характеристикой, при которой, когда интра-предсказание выполняется в горизонтальном или вертикальном направлении, выполняется кодирование с дифференциальной импульсно-кодовой модуляцией (DPCM). При кодировании с DPCM, вместо нормального предсказания, выполняемого на основе кодированных пикселей вокруг целевого пикселя, предсказание выполняется на основе пиксель-за-пикселем в блоке.
[0004] В последнее время, были запущены мероприятия, направленные на реализацию международного стандарта для более высокоэффективной системы кодирования, как приемника H.264. Международной Организацией по Стандартизации (ISO)/Международной Электротехнической Комиссией (IEC) и Сектором Стандартизации Телекоммуникаций Международного Союза Электросвязи (ITU-T) была основана Объединенная Рабочая Группа по Кодированию Видео (JCT-VC). В JCT-VC, был достигнут прогресс по стандартизации, который дал результатом систему высокоэффективного кодирования видео (HEVC) (далее именуемую как HEVC).
[0005] Первая версия стандартизации, которая рассматривается в качестве базового технического описания в HEVC, была завершена в январе 2013 г. Подобно H.264, первая версия HEVC использует кодирование без потерь, при котором осуществляется обход ортогонального преобразования и квантования. Тем не менее, первая версия HEVC обладает характеристикой, при которой, аналогично типичному кодированию с потерями, интра-предсказание выполняется на основе блок-за-блоком (смотри NPL 2).
[0006] В HEVC, с точки зрения совместимости с кодированием с потерями, интра-предсказание на основе блок-за-блоком, которое подобно тому, что используется в кодировании с потерями, используется в кодировании без потерь. Тем не менее, в целом, считается, что кодирование с DPCM на основе пиксель-за-пикселем, которое также используется в H.264, обладает более высокой эффективностью сжатия при кодировании без потерь. Вследствие этого, возникает проблема, состоящая в том, что эффективность сжатия кодирования без потерь в HEVC не является достаточно высокой.
СПИСОК ЦИТИРОВАНИЯ
НЕПАТЕНТНАЯ ЛИТЕРАТУРА
[0007] NPL 1: ITU-T H.264 (01/2012) Advanced Video Coding for Generic Audiovisual Services
NPL 2: Contributed Article by the JCT-VC, JCTVC-L1003,
http://phenix.int-evry.fr/jct/doc_end_user/documents/ 12_Geneva/ wg11/
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0008] Вследствие этого, настоящее изобретение выполнено с тем, чтобы обеспечить переключение между процессом кодирования без потерь, который отдает приоритет совместимости с процессом кодирования с потерями, и процессом кодирования без потерь, который отдает приоритет эффективности сжатия.
[0009] В качестве единицы решения описанной выше проблемы, типичное устройство кодирования изображения настоящего изобретения обладает следующей конфигурацией. А именно, устройство кодирования изображения, которое кодирует изображение на основе блок-за-блоком, включает в себя первый модуль кодирования и второй модуль кодирования. Первый модуль кодирования выполняет необратимое кодирование со сжатием над принятым первым блоком. Второй модуль кодирования выполняет обратимое кодирование со сжатием над принятым вторым блоком. Второй модуль кодирования кодирует второй блок посредством использования любого из первого режима интра-предсказания для выполнения интра-предсказания на основе блок-за-блоком и второго режима интра-предсказания для выполнения интра-предсказания на основе пиксель-за-пикселем.
[0010] В дополнение, типичное устройство декодирования изображения настоящего изобретения имеет следующую конфигурацию. Т.е., устройство декодирования изображения, которое декодирует кодированное изображение на основе блок-за-блоком, включает в себя первый модуль декодирования и второй модуль декодирования. Первый модуль декодирования декодирует первый блок, который был подвергнут необратимому кодированию со сжатием. Второй модуль декодирования декодирует второй блок, который был подвергнут обратимому кодированию со сжатием. Второй модуль декодирования декодирует второй блок посредством использования любого из первого режима интра-предсказания для выполнения интра-предсказания на основе блок-за-блоком и второго режима интра-предсказания для выполнения интра-предсказания на основе пиксель-за-пикселем.
[0011] Кроме того, признаки настоящего изобретения станут очевидны из нижеследующего описания примерных вариантов осуществления со ссылкой на приложенные чертежи.
[0012] Настоящее изобретение достигает кодирования и декодирования, которые поддерживают как процесс кодирования без потерь, который отдает приоритет совместимости с процессом кодирования с потерями, так и процесс кодирования без потерь, который отдает приоритет эффективности сжатия. Как результат, между этими процессами кодирования без потерь переключение может быть выполнено в соответствии с требованием для приложения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0013] [фиг.1]Фиг. 1 является структурной схемой, иллюстрирующей конфигурацию устройства кодирования изображения в соответствии с первым вариантом осуществления.
[фиг.2]Фиг. 2 является структурной схемой, иллюстрирующей конфигурацию устройства декодирования изображения в соответствии со вторым вариантом осуществления.
[фиг.3A]Фиг. 3A является схемой, иллюстрирующей примерный процесс интра-предсказания, выполняемый над блоком кодирования без потерь.
[фиг.3B]Фиг. 3B является схемой, иллюстрирующей примерный процесс интра-предсказания, выполняемый над блоком кодирования без потерь.
[фиг.3C]Фиг. 3C является схемой, иллюстрирующей примерный процесс интра-предсказания, выполняемый над блоком кодирования без потерь.
[фиг.3D]Фиг. 3D является схемой, иллюстрирующей примерный процесс интра-предсказания, выполняемый над блоком кодирования без потерь.
[фиг.3E]Фиг. 3E является схемой, иллюстрирующей примерный процесс интра-предсказания, выполняемый над блоком кодирования без потерь.
[фиг.4]Фиг. 4 является блок-схемой процесса кодирования изображения, выполняемого устройством кодирования изображения в соответствии с первым вариантом осуществления.
[фиг.5]Фиг. 5 является блок-схемой процесса декодирования изображения, выполняемого устройством декодирования изображения в соответствии со вторым вариантом осуществления.
[фиг.6A]Фиг. 6A является схемой, иллюстрирующей примерную структуру битового потока, которая генерируется в первом варианте осуществления и которая должна быть декодирована во втором варианте осуществления.
[фиг.6B]Фиг. 6B является схемой, иллюстрирующей примерную структуру битового потока, которая генерируется в первом варианте осуществления и которая должна быть декодирована во втором варианте осуществления.
[фиг.7]Фиг. 7 является схемой, иллюстрирующей направления режимов интра-предсказания в HEVC.
[фиг.8]Фиг. 8 является структурной схемой, иллюстрирующей примерную конфигурацию аппаратного обеспечения компьютера, которая может быть применена к устройству кодирования изображения и устройству декодирования изображения в настоящем изобретении.
ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
[0014] Настоящее изобретение будет подробно описано на основе вариантов осуществления со ссылкой на приложенные чертежи. Конфигурации в вариантах осуществления, описываемых ниже, являются лишь примерами, и настоящее изобретение не ограничивается иллюстрируемыми конфигурациями.
ПЕРВЫЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
[0015] Первый вариант осуществления настоящего изобретения будет описан ниже посредством использования чертежей. Фиг. 1 является структурной схемой, иллюстрирующей устройство кодирования изображения в соответствии с первым вариантом осуществления. На Фиг. 1, контактный зажим 101 является контактным зажимом для ввода данных изображения. Модуль 102 определения кодирования без потерь вырезает несколько блоков из принятых данных изображения, и определяет, должно ли быть выполнено обратимое кодирование со сжатием (далее именуемое кодированием без потерь) или необратимое кодирование со сжатием (далее кодирование с потерями) над каждым из блоков. Модуль 103 генерирования информации-управления-без-потерь генерирует и выводит информацию управления без потерь, указывающую на то, какой вид процесса интра-предсказания должен быть выполнен над блоком кодирования без потерь, который должен быть подвергнут кодированию без потерь.
[0016] Первый модуль 104 предсказания выполняет, например, интра-предсказание, которое является внутрикадровым предсказанием, и интер-предсказание, которое является межкадровым предсказанием, над каждым из блоков данных изображения, когда выбирается кодирование с потерями, и генерирует предсказанные данные изображения. Первый модуль 104 предсказания дополнительно вычисляет ошибки предсказания из принятых данных изображения и предсказанных данных изображения, и выводит ошибки предсказания. В дополнение к этому, выводится информация, требуемая для предсказания, например, информация касательно режима предсказания. Далее, информация, требуемая для предсказания, именуется первой информацией предсказания.
[0017] Когда выбирается кодирование с потерями, модуль 105 преобразования/квантования выполняет ортогональное преобразование над ошибками предсказания на основе блок-за-блоком, чтобы получить преобразованные коэффициенты, и дополнительно квантует преобразованные коэффициенты, чтобы получить квантованные коэффициенты. Когда выбирается кодирование с потерями, модуль 106 обратного-квантования/обратного-преобразования выполняет обратное квантование над квантованными коэффициентами, которые выводятся из модуля 105 преобразования/квантования, с тем, чтобы воспроизвести преобразованные коэффициенты, и дополнительно выполняет обратное ортогональное преобразование над преобразованными коэффициентами с тем, чтобы воспроизвести ошибки предсказания. Память 108 кадра хранит воспроизведенные данные изображения.
[0018] Когда выбирается кодирование с потерями, первый модуль 107 воспроизведения изображения генерирует предсказанные данные изображения посредством обращения к памяти 108 кадра при необходимости, на основе первой информации предсказания, которая выводится из первого модуля 104 предсказания, генерирует воспроизведенные данные изображения из предсказанных данных изображения и принятых ошибок предсказания, и выводит воспроизведенные данные изображения.
[0019] Когда выбирается кодирование без потерь, второй модуль 109 предсказания выполняет интра-предсказание, интер-предсказание, и подобное над каждым из блоков данных изображения с тем, чтобы сгенерировать предсказанные данные изображения. Подобно первому модулю 104 предсказания, второй модуль 109 предсказания вычисляет ошибки предсказания из принятых данных изображения и предсказанных данных изображения, и выводит информацию, требуемую для предсказания, такую как режим предсказания, как впрочем и ошибки предсказания. Далее, информация, требуемая для предсказания, именуется второй информацией предсказания.
[0020] Селектор 110 выводит принятое изображение, которое выводится из модуля 102 определения кодирования без потерь, или воспроизведенное изображение, которое выводится из первого модуля 107 воспроизведения изображения, в память 108 кадра на основе информации блока кодирования без потерь, которая описывается ниже, и которая выводится из модуля 102 определения кодирования без потерь.
[0021] Первый модуль 111 кодирования кодирует квантованные коэффициенты, которые выводятся из модуля 105 преобразования/квантования, и первую информацию предсказания, которая выводится из первого модуля 104 предсказания, с тем, чтобы сгенерировать и вывести первые кодированные данные.
[0022] Второй модуль 112 кодирования кодирует вторую информацию предсказания и ошибки предсказания, которые выводятся из второго модуля 109 предсказания, с тем, чтобы сгенерировать и вывести вторые кодированные данные.
[0023] Модуль 113 интегрированного-кодирования кодирует выводы из модуля 102 определения кодирования без потерь и модуля 103 генерирования информации-управления-без-потерь с тем, чтобы сгенерировать кодированные данные заголовка. Модуль 113 интегрированного-кодирования затем добавляет кодированные данные, который выводятся из первого модуля 111 кодирования и второго модуля 112 кодирования, с тем, чтобы сгенерировать и вывести битовый поток.
[0024] Контактный зажим 114 является контактным зажимом для вывода битового потока, сгенерированного посредством модуля 113 интегрированного-кодирования, во вне.
[0025] Операция кодирования изображения, выполняемая посредством описанного выше устройства кодирования изображения, будет описана ниже. В первом варианте осуществления, данные фильма вводятся на основе кадр-за-кадром, однако могут быть введены статические данные изображения одного кадра.
[0026] Данные изображения одного кадра, которые вводятся через контактный зажим 101, принимаются посредством модуля 102 определения кодирования без потерь. Перед процессом кодирования, модуль 103 генерирования информации-управления-без-потерь определяет, какой вид процесса интра-предсказания должен быть выполнен над пикселями в блоке кодирования без потерь. Модуль 103 генерирования информации-управления-без-потерь выводит информацию определения в качестве информации управления без потерь на второй модуль 109 предсказания и модуль 113 интегрированного-кодирования.
[0027] Чтобы сделать описание простым, Фиг. с 3A по 3E иллюстрируют примерное интра-предсказание. Фиг. 3A иллюстрирует блок 300 над которым выполняется интра-предсказание. Примеры на Фиг. с 3A по 3E используют блок из 4×4 пикселей, однако размер и форма не ограничиваются этим. Пиксели с a по p, которые формируют 4×4 пиксели, включены в блок 300. Фиг. 3B является схемой, иллюстрирующей то, каким образом выполнять горизонтально интра-предсказание на основе блок-за-блоком, и горизонтальное предсказание выполняется, начиная с группы 302 пикселей (с H0 по H3), которая располагаются слева и которая является смежной с блоком 300. Такое предсказание именуется основанным на блоке горизонтальным режимом предсказания. Фиг. 3C является схемой, иллюстрирующей то, каким образом выполнять вертикальное интра-предсказание на основе блок-за-блоком, и вертикальное предсказание выполняется, начиная с группы 301 пикселей (с V0 по V3), которая располагается на верхней стороне и которая является смежной с блоком 300. Такое предсказание именуется основанным на блоке вертикальным режимом предсказания. Фиг. 3D является схемой, иллюстрирующей то, каким образом выполнять горизонтальное предсказание с DPCM на основе пиксель-за-пикселем, и горизонтальное предсказание выполняется, начиная с пикселя, который является смежным по левой стороне с каждым из пикселей. Такое предсказание именуется основанным на пикселе горизонтальным режимом DPCM. В первом варианте осуществления, значение пикселя каждого из писклей, расположенных по левому краю в целевом блоке, кодируется как есть, однако настоящее изобретение этим не ограничивается. Может быть закодирована разница между значением пикселя каждого из пикселей, расположенных по левому краю в целевом блоке, и значением пикселя соответствующего одного из пикселей, расположенных по правому краю в блоке, расположенном по левую сторону целевого блока. Фиг. 3E является схемой, иллюстрирующей то, каким образом выполнять вертикальное предсказание с DPCM на основе пиксель-за-пикселем, и вертикальное предсказание выполняется начиная с пикселя, который является смежным с верхней стороной каждого из пикселей. Такое предсказание именуется основанным на пикселе вертикальным режимом DPCM. Аналогично основанному на пикселе горизонтальному режиму DPCM, в первом варианте осуществления, значение пикселя каждого из пикселей, расположенных по верхнему краю в целевом блоке, кодируется как есть, однако настоящее изобретение этим не ограничивается. Может быть закодирована разность между значением пикселя каждого из пикселей, расположенных по верхнему краю в целевом блоке, и значением пикселя соответствующего одного из пикселей, расположенных по нижнему краю блока, расположенного на верхней стороне целевого блока.
[0028] В первом варианте осуществления, описанная выше информация управления без потерь указывает на то, используется ли основанный на блоке режим интра-предсказания (Фиг. 3B или 3C) или основанный на пикселе режим интра-предсказания (Фиг. 3D или 3E) для пикселей в блоке кодирования без потерь. В частности, когда информация управления без потерь имеет значение 0, используется основанное на блоке предсказание Фиг. 3B или 3C. Когда информация управления без потерь имеет значение 1, используется основанное на пикселе предсказание Фиг. 3D или 3E.
[0029] То, каким образом определять информацию управления без потерь, в частности этим не ограничивается, и определение может быть выполнено посредством использования характеристик входного изображения или посредством использования ввода пользователя. В качестве альтернативы, определение может быть выполнено на основе процесса интра-предсказания, поддерживаемого устройством декодирования изображения, которое декодирует битовый поток, который выводится из устройства кодирования изображения. Модуль 113 интегрированного-кодирования кодирует информацию управления без потерь и генерирует код информации-управления-без-потерь (первый код информации). Метод кодирования в частности не указывается, и может быть использовано кодирование Голомба, арифметическое кодирование, кодирование Хаффмана, или подобное.
[0030] Модуль 102 определения кодирования без потерь режет принятые данные изображения на несколько блоков, и определяет, должно ли быть выполнено кодирование без потерь или кодирование с потерями для каждого из блоков. Метод определения этим не ограничивается, и определение может быть выполнено посредством использования характеристик входного изображения или посредством использования ввода пользователя. Информация, указывающая на то, должно ли быть выполнено кодирование без потерь или кодирование с потерями над блоком, который должен быть закодирован, выводится в качестве информации блока кодирования без потерь на модуль 113 интегрированного-кодирования. Модуль 102 определения кодирования без потерь дополнительно выводит принятые данные изображения, как есть, на первый модуль 104 предсказания, второй модуль 109 предсказания, и селектор 110.
[0031] В дополнение, модуль 102 определения кодирования без потерь генерирует информацию кодирования без потерь, которая является информацией, указывающей на то, включен или нет блок, подвергнутый кодированию без потерь, в кадр или последовательность, которая должна быть обработана. Модуль 113 интегрированного-кодирования кодирует информацию кодирования без потерь и генерирует код информации-кодирования-без-потерь (второй код информации). Метод кодирования в частности не указывается, и может быть использовано кодирование Голомба, арифметическое кодирование, кодирование Хаффмана, или подобное.
[0032] Процесс кодирования после этого разбивается в соответствии с тем, выбирает ли модуль 102 определения кодирования без потерь кодирование без потерь или кодирование с потерями. Будет описана операция кодирования данных изображения, когда модуль 102 определения кодирования без потерь выбирает кодирование с потерями.
[0033] Модуль 102 определения кодирования без потерь вводит данные изображения блока, который должен быть закодирован, в первый модуль 104 предсказания. Первый модуль 104 предсказания выполняет предсказание на основе блок-за-блоком, генерирует ошибки предсказания, и выводит ошибки предсказания на модуль 105 преобразования/квантования. В дополнение, первый модуль 104 предсказания генерирует первую информацию предсказания, и выводит первую информацию предсказания на первый модуль 111 кодирования и первый модуль 107 воспроизведения изображения. Модуль 105 преобразования/квантования выполняет ортогональное преобразование/квантование над принятыми ошибками предсказания, и генерирует квантованные коэффициенты. Сгенерированные квантованные коэффициенты выводятся на первый модуль 111 кодирования и модуль 106 обратного-квантования/обратного-преобразования. Модуль 106 обратного-квантования/обратного преобразования выполняет обратное квантования над принятыми квантованными коэффициентами с тем, чтобы воспроизвести преобразованные коэффициенты, выполняет обратное ортогональное преобразование на преобразованными коэффициентами таким образом воспроизведенными, с тем чтобы воспроизвести ошибки предсказания, и выводит воспроизведенные ошибки предсказания на первый модуль 107 воспроизведения изображения.
[0034] Первый модуль 107 воспроизведения изображения воспроизводит предсказанное изображение посредством обращения к памяти 108 кадра при необходимости, на основе первой информации предсказания, принятой от первого модуля 104 предсказания. Первый модуль 107 воспроизведения изображения воспроизводит данные изображения из воспроизведенного предсказанного изображения и воспроизведенных ошибок предсказания, которые принимаются от модуля 106 обратного-квантования/обратного-преобразования, и сохраняет их в памяти 108 кадра.
[0035] Первый модуль 111 кодирования выполняет энтропийное кодирование над квантованными коэффициентами, сгенерированными посредством модуля 105 преобразования/квантования, и первой информацией предсказания, принятой посредством первого модуля 104 предсказания, на основе блок-за-блоком, с тем, чтобы сгенерировать первые кодированные данные. Метод энтропийного кодирования в частности не указывается, и может быть использовано кодирование Голомба, арифметическое кодирование, кодирование Хаффмана, или подобное. Сгенерированные первые кодированные данные выводятся на модуль 113 интегрированного-кодирования.
[0036] Будет описана операция кодирования данных изображения, когда модуль 102 определения кодирования без потерь выбирает кодирование без потерь.
[0037] Модуль 102 кодирования без потерь вводит данные изображения блока, который должен быть закодирован, во второй модуль 109 предсказания. Второй модуль 109 предсказания выполняет предсказание на основе информации управления без потерь, принятой от модуля 103 генерирования информации-управления-без-потерь, генерирует ошибки предсказания, и выводит сгенерированные ошибки предсказания на второй модуль 112 кодирования. Вторая информация предсказания также выводится на второй модуль 112 кодирования.
[0038] Селектор 110 выводит входное изображение, принятое от модуля 102 определения кодирования без потерь, или воспроизведенное изображение, принятое от первого модуля 107 воспроизведения изображения, в память 108 кадра на основе информации блока кодирования без потерь, принятой от модуля 102 определения кодирования без потерь. В частности, когда информация блока кодирования без потерь представляет собой кодирование без потерь, входное изображение, принятое от модуля 102 определения кодирования без потерь, выводится в память 108 кадра. Когда информация блока кодирования без потерь представляет собой кодирование с потерями, воспроизведенное изображение, принятое от первого модуля 107 воспроизведения изображения, выводится в память 108 кадра.
[0039] Второй модуль 112 кодирования выполняет энтропийное кодирование над второй информацией предсказания и ошибками предсказания, принятыми от второго модуля 109 предсказания, и генерирует вторые кодированные данные. Метод энтропийного кодирования в частности не указывается, и может быть использовано кодирование Голомба, арифметическое кодирование, кодирование Хаффмана, или подобное. Сгенерированные вторые кодированные данные выводятся на модуль 113 интегрированного-кодирования.
[0040] Модуль 113 интегрированного-кодирования мультиплексирует код информации-управления-без-потерь, сгенерированный перед процессом кодирования, код информации-кодирования-без-потерь, первые кодированные данные, сгенерированные посредством первого модуля 111 кодирования, вторые кодированные данные, сгенерированные посредством второго модуля 112 кодирования, и подобное с тем, чтобы сформировать битовый поток. В заключение, битовый поток, сформированный посредством модуля 113 интегрированного-кодирования, выводится через контактный зажим 114 во вне.
[0041] Фиг. 6A иллюстрирует примерный битовый поток, включающий в себя информацию кодирования без потерь и информацию управления без потерь, которые закодированы. Информация кодирования без потерь включена в качестве кода информации-кодирования-без-потерь в заголовок картинки или подобное. Например, код информации-кодирования-без-потерь является флагом из одного бита. Когда код информации-кодирования-без-потерь имеет значение 1, битовый поток вероятно включает в себя блок кодирования без потерь. Когда код информации-кодирования-без-потерь имеет значение 0, битовый поток едва ли включает в себя блок кодирования без потерь. Информация управления без потерь включается в качестве кода информации-управления-без-потерь в заголовок последовательности или подобное. Информация управления без потерь является информацией с, по меньшей мере, одним битом. Когда код информации-управления-без-потерь имеет значение 1, процесс интра-предсказания выполняется над блоком кодирования без потерь на основе пиксель-за-пикселем. Когда код информации-управления-без-потерь имеет значение 0, процесс интра-предсказания выполняется над блоком кодирования без потерь на основе блок-за-блоком.
[0042] В первом варианте осуществления, информация управления без потерь включается в заголовок последовательности, а код информации-кодирования-без-потерь включается в заголовок картинки.
[0043] Относительно информации блока кодирования без потерь, код информации-блока-кодирования-без-потерь (третий код информации) включается в каждый из блоков в битовом потоке. Когда код информации-блока-кодирования-без-потерь имеет значение 1, блок подвергается кодированию без потерь. Когда код информации-блока-кодирования-без-потерь имеет значение 0, блок подвергается кодированию с потерями.
[0044] Фиг. 4 является блок-схемой процесса кодирования, выполняемого посредством устройства кодирования изображения в соответствии с первым вариантом осуществления.
[0045] На этапе S401, модуль 103 генерирования информации-управления-без-потерь определяет, какой вид процесса интра-предсказания должен быть выполнен над пикселями в блоке кодирования без потерь. Информация, представляющая собой определенный процесс интра-предсказания, является информацией управления без потерь. Модуль 113 интегрированного-кодирования кодирует информацию управления без потерь.
[0046] На этапе S402, модуль 102 определения кодирования без потерь определяет, должно или нет кодирование без потерь быть выполнено на основе кадр-за-кадром. Информацией, представляющей собой результат определения, является информация кодирования без потерь. Модуль 113 интегрированного-кодирования кодирует информацию кодирования без потерь.
[0047] На этапе S403, модуль 102 определения кодирования без потерь режет принятые данные изображения на несколько блоков, определяет, должно ли быть выполнено кодирование без потерь или кодирование с потерями на основе блок-за-блоком, и использует результат определения в качестве информации блока кодирования без потерь.
[0048] На этапе S404, устройство кодирования изображения определяет, должно или нет кодирование без потерь быть выполнено над блоком, который должен быть закодирован. Если должно быть выполнено кодирование без потерь, процесс переходит к этапу S410. Если должно быть выполнено кодирование с потерями, процесс переходит к этапу S405.
[0049] На этапе S405, первый модуль 104 предсказания выполняет интра-предсказание или интер-предсказание, и генерирует первую информацию предсказания и предсказанные данные изображения. Первый модуль 104 предсказания дополнительно вычисляет ошибки предсказания из принятых данных изображения и предсказанных данных изображения. На этапе S406, модуль 105 преобразования/квантования выполняет ортогональное преобразование над ошибками предсказания, вычисленными на этапе S405, с тем, чтобы сгенерировать преобразованные коэффициенты. Модуль 105 преобразования/квантования дополнительно квантует преобразованные коэффициенты с тем, чтобы сгенерировать квантованные коэффициенты. На этапе S407, модуль 106 обратного-квантования/обратного-преобразования выполняет обратное квантование и обратное ортогональное преобразование над квантованными коэффициентами, сгенерированными на этапе S406, с тем, чтобы воспроизвести ошибки предсказания. На этапе S408, первый модуль 107 воспроизведения изображения воспроизводит предсказанное изображение на основе первой информации предсказания, сгенерированной на этапе S405. Первый модуль 107 воспроизведения изображения дополнительно воспроизводит данные изображения из предсказанного изображения, воспроизведенного таким образом, и ошибок предсказания, сгенерированных на этапе S407. На этапе S409, первый модуль 111 кодирования кодирует первую информацию предсказания, сгенерированную на этапе S405, и квантованные коэффициенты, сгенерированные на этапе S406, с тем, чтобы сгенерировать первые кодированные данные. Модуль 113 интегрированного-кодирования генерирует битовый поток, который также включает в себя другие кодированные данные.
[0050] На этапе S410, второй модуль 109 предсказания делает определение на основе информации управления без потерь, сгенерированной на этапе S401. Если информация управления без потерь имеет значение 1, которое указывает на то, что должно быть выполнено интра-предсказание на основе пиксель-за-пикселем, процесс переходит к этапу S411. Если информация управления без потерь имеет значение 0, которое указывает на то, что должно быть выполнено интра-предсказание на основе блок-за-блоком, процесс переходит к этапу S412. На этапе S411, второй модуль 109 предсказания выполняет предсказание на основе пиксель-за-пикселем, и генерирует вторую информацию предсказания и предсказанные данные изображения. Второй модуль 109 предсказания дополнительно вычисляет ошибки предсказания из принятых данных изображения и предсказанных данных изображения. На этапе S412, второй модуль 109 предсказания выполняет предсказание на основе блок-за-блоком, и генерирует вторую информацию предсказания и предсказанные данные изображения. Второй модуль 109 предсказания вычисляет ошибки предсказания из принятых данных изображения и предсказанных данных изображения. На этапе S413, второй модуль 111 кодирования кодирует вторую информацию предсказания и ошибки предсказания, которые сгенерированы на этапе S411 или этапе S412, и генерирует вторые кодированные данные. Модуль 113 интегрированного-кодирования генерирует битовый поток, который также включает в себя другие кодированные данные.
[0051] На этапе S414, устройство кодирования изображения определяет были ли закодированы или нет все из блоков в кадре. Если были закодированы все блоки, процесс переходит к этапу S415. В противном случае, процесс возвращается обратно к этапу S403, чтобы обработать следующий блок. На этапе S415, устройство кодирования изображения определяет, были ли закодированы или нет все из кадров. Если были закодированы все кадры, процесс кодирования заканчивается. В противном случае, процесс возвращается обратно к этапу S402, чтобы обработать следующий кадр.
[0052] Описанная выше конфигурация и операции, в частности операция на этапе S401, которая обеспечивает управление над процессом интра-предсказания, который выполняется над пикселями в блоке кодирования без потерь, обеспечивает возможность при необходимости выбора отдать ли приоритет эффективности сжатия, или совместимости с кодированием с потерями. В частности, когда информация управления без потерь устанавливается в 0 на этапе S401, интра-предсказание выполняется на основе блок-за-блоком на этапе S412, обеспечивая генерирование битового потока, который отдает приоритет совместимости с блоком кодирования с потерями, который должен быть сгенерирован. Когда информация управления без потерь устанавливается в 1 на этапе S401, интра-предсказание выполняется на основе пиксель-за-пикселем на этапе S411, обеспечивая генерирование битового потока, который отдает приоритет эффективности сжатия.
[0053] В первом варианте осуществления, кодирование без потерь и кодирование с потерями выполняются посредством первого модуля 104 предсказания и второго модуля 109 предсказания, которые являются независимыми друг от друга. Один и тот же модуль предсказания может выполнять кодирование без потерь и кодирование с потерями. В дополнение, используются первый модуль 111 кодирования и второй модуль 112 кодирования, которые являются независимыми друг от друга. В качестве альтернативы, один и то же модуль кодирования может выполнять кодирование без потерь и кодирование с потерями. В первом варианте осуществления, предполагается случай, при котором смешиваются блоки кодирования без потерь/с потерями. Когда очевидно, что поток, который должен быть закодирован, имеет только блоки кодирования без потерь, компоненты для кодирования с потерями могут быть опущены. В данном случае, в частности, могут быть опущены первый модуль 104 предсказания, модуль 105 преобразования/квантования, модуль 106 обратного-квантования/обратного-преобразования, первый модуль 107 воспроизведения изображения, и первый модуль 111 кодирования.
[0054] В первом варианте осуществления, Фиг. с 3A по 3E иллюстрируют примерные режимы, используемые, когда блок кодирования без потерь подвергается интра-предсказанию. Режимы интра-предсказания в настоящем изобретения не ограничиваются этими. Т.е., любой режим может быть использован до тех пор, пока режим является поддерживаемым устройством декодирования изображения, которое декодирует битовый поток, который выводится из устройства кодирования изображения.
[0055] Конфигурация битового потока не ограничивается этим. Например, может быть выполнено кодирование, как иллюстрируется на Фиг. 6B. Фиг. 6B иллюстрирует пример, в котором каждый из блоков включает в себя код информации-блока-кодирования-без-потерь, указывающий на то, было ли выполнено кодирование без потерь или кодирование с потерями на основе блок-за-блоком. В данном случае, заголовок картинки, который является заголовком кадра, не включает в себя код информации-кодирования-без-потерь. В данной конфигурации, каждый из блоков включает в себя код информации-блока-кодирования-без-потерь, достигая эффекта простого различения между блоком кодирования без потерь и блоком кодирования с потерями.
[0056] Длина данных кода информации-управления-без-потерь и та, что у кода информации-кодирования-без-потерь этим не ограничиваются. Например, код информации-управления-без-потерь может иметь дополнительные биты, когда дополнительно выполняются другие процессы интра-предсказания.
[0057] В первом варианте осуществления, когда информация управления без потерь имеет значение 1, интра-предсказание выполняется на основе пиксель-за-пикселем безотносительно направления интра-предсказания. Настоящее изобретение этим не ограничивается. Например, в HEVC, как иллюстрируется на Фиг. 7, присутствует 35 режимов предсказания от 0 (плоское предсказание) до 34 (диагональное предсказание вдоль линии снизу слева в верх вправо). В некоторых из режимов предсказания, интра-предсказание может быть выполнено на основе пиксель-за-пикселем. В других режимах, интра-предсказание может быть выполнено на основе блок-за-блоком. Например, интра-предсказание на основе пиксель-за-пикселем может быть применено только к режиму 10 (вертикальное предсказание) и режиму 26 (горизонтальное предсказание). Это минимизирует рост затрат на аппаратное обеспечение, вызываемый вводом интра-предсказания на основе пиксель-за-пикселем.
ВТОРОЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
[0058] Фиг. 2 является структурной схемой, иллюстрирующей конфигурацию устройства декодирования изображения в соответствии со вторым вариантом осуществления настоящего изобретения. Второй вариант осуществления будет описан взяв пример, в котором декодируются кодированные данные, сгенерированные в первом варианте осуществления. Контактный зажим 201 является контактным зажимом для ввода кодированного битового потока.
[0059] Модуль 202 отделения/декодирования отделяет информацию касательно процесса декодирования и кодированные данные касательно коэффициентов из битового потока, и декодирует кодированные данные, которые присутствуют в заголовке битового потока. Во втором варианте осуществления, модуль 202 отделения/декодирования воспроизводит информацию управления без потерь и информацию блока кодирования без потерь и выводит информацию управления без потерь и информацию блока кодирования без потерь на последующий этап. Модуль 202 отделения/декодирования выполняет операцию обратную той, что выполняется посредством модуля 113 интегрированного-кодирования на Фиг. 1.
[0060] Первый модуль 203 декодирования декодирует первые кодированные данные, которые выводятся из модуля 202 отделения/декодирования, и воспроизводит квантованные коэффициенты и первую информацию предсказания. Подобно модулю 106 обратного-квантования/обратного-преобразования на Фиг. 1, модуль 204 обратного-квантования/обратного-преобразования принимает квантованные коэффициенты на основе блок-за-блоком, выполняет обратное квантование с тем, чтобы получить преобразованные коэффициенты, и выполняет обратное ортогональное преобразование с тем, чтобы воспроизвести ошибки предсказания.
[0061] Память 206 кадра хранит данные изображения воспроизведенного кадра. Подобно первому модулю 107 воспроизведения изображения на Фиг. 1, первый модуль 205 воспроизведения изображения генерирует предсказанные данные изображения посредством обращения к памяти 206 кадра при необходимости, на основе принятой первой информации предсказания. Первый модуль 205 воспроизведения изображения генерирует воспроизведенные данные изображения из предсказанных данных изображения и ошибок предсказания, воспроизведенных посредством модуль 204 обратного-квантования/обратного-преобразования, и выводит воспроизведенные данные изображения.
[0062] Второй модуль 207 декодирования декодирует вторые кодированные данные, которые выводятся из модуля 202 отделения/декодирования, и воспроизводит ошибки предсказания и вторую информацию предсказания. Второй модуль 208 воспроизведения изображения генерирует предсказанные данные изображения блока, который был подвергнут кодированию без потерь, посредством обращения к памяти 206 кадра при необходимости, на основе второй информации предсказания и информации управления без потерь, которые принимаются, генерирует воспроизведенные данные изображения из предсказанных данных изображения и принятых ошибок предсказания, и выводит воспроизведенные данные изображения. Контактный зажим 209 является контактным зажимом для вывода данных изображения во вне.
[0063] Ниже будут описаны операции декодирования изображения, выполняемые посредством описанного выше устройства декодирования изображения. Во втором варианте осуществления, декодируется битовый поток, сгенерированный в первом варианте осуществления.
[0064] На Фиг. 2, битовый поток, принятый через контактный зажим 201, вводится в модуль 202 отделения/декодирования. Модуль 202 отделения/декодирования отделяет информацию касательно процесса декодирования и кодированные данные касательно коэффициентов из битового потока, и декодирует кодированные данные, которые присутствуют в заголовке битового потока. В частности, воспроизводятся информация управления без потерь и информация блока кодирования без потерь. Во втором варианте осуществления, декодируется код информации-кодирования-без-потерь, который извлекается из заголовка картинки битового потока, иллюстрируемого на Фиг. 6A. Когда код информации-кодирования-без-потерь имеет значение 1, код информации-блока-кодирования-без-потерь, включенный в каждый из блоков в данных картинки, которые являются кодированными данными для каждого из кадров, используется, чтобы определить, было ли выполнено кодирование без потерь или кодирование с потерями над блоком. Т.е., в случае, когда код информации-кодирования-без-потерь имеет значение 1 и когда код информации-блока-кодирования-без-потерь также имеет значение 1, блок является блоком кодирования без потерь. В противном случае, блок является блоком кодирования с потерями. Данная информация используется в качестве информации блока кодирования без потерь. Модуль 202 отделения/декодирования извлекает код информации-управления-без-потерь из заголовка последовательности, декодирует код, и воспроизводит информацию управления без потерь.
[0065] Затем, кодированные данные каждого из блоков в данных картинки выводятся на последующий этап. Когда информация блока кодирования без потерь указывает на то, что блок является блоком кодирования с потерями, модуль 202 отделения/декодирования извлекает первые кодированные данные, и выводит первые кодированные данные на первый модуль 203 декодирования. Когда блок является блоком кодирования без потерь, модуль 202 отделения/декодирования извлекает вторые кодированные данные, и выводит вторые кодированные данные на второй модуль 207 декодирования. Модуль 202 отделения/декодирования выводит информацию управления без потерь на второй модуль 208 воспроизведения изображения.
[0066] Первый модуль 203 декодирования декодирует первые кодированные данные, и воспроизводит квантованные коэффициенты и первую информацию предсказания. Квантованные коэффициенты, воспроизведенные таким образом, выводятся на модуль 204 обратного-квантования/обратного-преобразования, а воспроизведенная первая информация предсказания выводится на первый модуль 205 воспроизведения изображения.
[0067] Применительно к блоку, который был подвержен кодированию с потерями, модуль 204 обратного-квантования/обратного-преобразования выполняет обратное квантование над квантованными коэффициентами, которые приняты, с тем, чтобы сгенерировать преобразованные коэффициенты, и выполняет обратное ортогональное преобразование над преобразованными коэффициентами с тем, чтобы воспроизвести ошибки предсказания. Воспроизведенные ошибки предсказания вводятся в первый модуль 205 воспроизведения изображения.
[0068] Первый модуль 205 воспроизведения изображения воспроизводит предсказанное изображение, посредством обращения к памяти 206 кадра при необходимости, на основе первой информации предсказания, принятой от первого модуля 203 декодирования. Первый модуль 205 воспроизведения изображения воспроизводит данные изображения из предсказанного изображения и ошибок предсказания, принятых от модуля 204 обратного-квантования/обратного-преобразования, и сохраняет воспроизведенные данные изображения в памяти 206 кадра. Хранящиеся данные изображения используются для обращения, которое выполняется при выполнении предсказания.
[0069] Второй модуль 207 декодирования декодирует вторые кодированные данные, и воспроизводит ошибки предсказания и вторую информацию предсказания. Ошибки предсказания и вторая информация предсказания, воспроизведенные таким образом, выводятся на второй модуль 208 воспроизведения изображения.
[0070] Второй модуль 208 воспроизведения изображения воспроизводит предсказанное изображение посредством обращения к памяти 206 кадра при необходимости, на основе второй информации предсказания, принятой от второго модуля 207 декодирования, и информации управления без потерь, принятой от модуля 202 отделения/декодирования. Подобно первому варианту осуществления, когда информация управления без потерь имеет значение 0, используется предсказание на основе блок-за-блоком. Когда информация управления без потерь имеет значение 1, используется предсказание на основе пиксель-за-пикселем. Второй модуль 208 воспроизведения изображения воспроизводит данные изображения из предсказанного изображения и ошибок предсказания, принятых от второго модуля 207 декодирования, и сохраняет воспроизведенные данные изображения к памяти 206 кадра.
[0071] Изображение, хранящееся в памяти 206 кадра в заключение выводится через контактный зажим 209 во вне.
[0072] Фиг. 5 является блок-схемой процесса декодирования изображения, выполняемого посредством устройства декодирования изображения в соответствии со вторым вариантом осуществления.
[0073] На этапе S501, модуль 202 отделения/декодирования отделяет информацию касательно процесса декодирования и кодированные данные касательно коэффициентов из битового потока, декодирует кодированные данные заголовка, и воспроизводит информацию управления без потерь. На этапе S501, модуль 202 отделения/декодирования дополнительно декодирует кодированные данные заголовка каждого из кадров, и воспроизводит информацию кодирования без потерь.
[0074] На этапе S503, модуль 202 отделения/декодирования дополнительно декодирует кодированные данные каждого из блоков, и воспроизводит информацию блока кодирования без потерь. На этапе S504, устройство декодирования изображения определяет, было ли выполнено кодирование без потерь или кодирование с потерями над блоком, который должен быть декодирован, на основе информации блока кодирования без потерь, воспроизведенной на этапе S503. Если было выполнено кодирование без потерь, процесс переходит к этапу S508. Если было выполнено кодирование с потерями, процесс переходит к этапу S505.
[0075] На этапе S505, модуль 202 отделения/декодирования отделает первые кодированные данные из битового потока. Первый модуль 203 декодирования декодирует отделенные первые кодированные данные, и воспроизводит квантованные коэффициенты и первую информацию предсказания. На этапе S506, модуль 204 обратного-квантования/обратного-преобразования выполняет обратное квантование над квантованными коэффициентами на основе блок-за-блоком с тем, чтобы получить преобразованные коэффициенты, и дополнительно выполняет обратное ортогональное преобразование с тем, чтобы воспроизвести ошибки предсказания. На этапе S507, первый модуль 205 воспроизведения изображения воспроизводит предсказанное изображение на основе первой информации предсказания, сгенерированной на этапе S505. Первый модуль 205 воспроизведения изображения дополнительно воспроизводит данные изображения из предсказанного изображения, воспроизведенного таким образом, и ошибок предсказания, сгенерированных на этапе S506.
[0076] На этапе S508, модуль 202 отделения/декодирования отделяет вторые кодированные данные из битового потока. Второй модуль 207 декодирования декодирует отделенные вторые кодированные данные, и воспроизводит ошибки предсказания и вторую информацию предсказания. На этапе S509, второй модуль воспроизведения изображения делает определение на основе информации управления без потерь, воспроизведенной на этапе S501. Если информация управления без потерь имеет значение 1, которое указывает на то, что интра-предсказание должно быть выполнено на основе пиксель-за-пикселем, процесс переходит к этапу S510. Если информация управления без потерь имеет значение 0, которое указывает на то, что интра-предсказание должно быть выполнено на основе блок-за-блоком, процесс переходит к этапу S511.
[0077] На этапе S510, второй модуль 208 воспроизведения изображения выполняет предсказание на основе пиксель-за-пикселем на основе второй информации предсказания, сгенерированной на этапе S508, и воспроизводит предсказанное изображение. Второй модуль 208 воспроизведения изображения дополнительно воспроизводит данные изображения из предсказанного изображения, воспроизведенного таким образом, и ошибок предсказания, сгенерированных на этапе S508.
[0078] На этапе S511, второй модуль 208 воспроизведения изображения выполняет предсказание на основе блок-за-блоком на основе второй информации предсказания, сгенерированной на этапе S508, и воспроизводит предсказанное изображение. Второй модуль 208 воспроизведения изображения дополнительно воспроизводит данные изображения из предсказанного изображения, воспроизведенного таким образом, и ошибок предсказания, сгенерированных на этапе S508.
[0079] На этапе S512, устройство декодирования изображения определяет, были ли или нет декодированы все из блоков в кадре. Если были декодированы все из блоков, процесс переходит к этапу S513. В противном случае, процесс возвращается обратно к этапу S503, чтобы обработать следующий блок. На этапе S513, устройство декодирования изображения определяет, были ли или нет декодированы все из кадров. Если были декодированы все из кадров, процесс декодирования заканчивается. в противном случае, процесс возвращается обратно к этапу S502, чтобы обработать следующий кадр.
[0080] Описанная выше конфигурация и операции обеспечивают декодирование битового потока, что обеспечивает управление несколькими типами процессов интра-предсказания, которые выполняются над блоком кодирования с потерями, и который сгенерирован в первом варианте осуществления.
[0081] Во втором варианте осуществления, блок кодирования без потерь и блок кодирования с потерями декодируются посредством первого модуля 205 воспроизведения изображения и второго модуля 208 воспроизведения изображения, которые являются независимыми друг от друга. Один и тот же модуль воспроизведения изображения может воспроизводить изображения в блоке кодирования без потерь и блоке кодирования с потерями. Подобно, используются первый модуль 203 декодирования и второй модуль 207 декодирования, которые являются независимыми друг от друга. В качестве альтернативы, один и тот же модуль декодирования может декодировать блок кодирования без потерь и блок кодирования с потерями. Когда очевидно, что все из блоков являются блоком кодирования без потерь, первый модуль 203 декодирования, модуль 204 обратного-квантования/обратного-преобразования, и первый модуль 205 воспроизведения изображения могут быть опущены.
[0082] Во втором варианте осуществления, описывается декодирование битового потока, иллюстрируемого на Фиг. 6A. Конфигурация битового потока, который должен быть декодирован, этим не ограничивается. Например, может быть декодирован битовый поток, иллюстрируемый на Фиг. 6B. На Фиг. 6B, код информации-кодирования-без-потерь каждого из кадров не включается. Фиг. 6B иллюстрирует пример, в котором каждый из блоков включает в себя код информации-блока-кодирования-без-потерь, указывающий на то, было ли или нет кодирование без потерь выполнено на основе блок-за-блоком. Данная конфигурация обеспечивает декодирование битового потока, которое обеспечивает эффект простого различения между блоком кодирования без потерь и блоком кодирования с потерями.
ТРЕТИЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ
[0083] Модули обработки, иллюстрируемые на Фиг. 1 и 2, описываются как те, которые составлены посредством использования аппаратного обеспечения, в описываемых выше вариантах осуществления. В качестве альтернативы, процесс, выполняемый посредством модулей обработки на Фиг. 1 и 2, может быть выполнен посредством использования компьютерных программ.
[0084] Фиг. 8 является структурной схемой, иллюстрирующей примерную конфигурацию аппаратного обеспечения компьютера, которая может быть применена к устройству кодирования изображения и устройству декодирования изображения в соответствии с описанными выше вариантами осуществления.
[0085] Центральный модуль 801 обработки (CPU) управляет всем компьютером посредством использования компьютерных программ и данных, которые хранятся в памяти 802 с произвольным доступом (RAM) и постоянной памяти 803 (ROM), и выполняет процессы, которые описываются как те, что выполняются посредством устройств обработки изображения в соответствии с описанными выше вариантами осуществления. Т.е., CPU 801 функционирует в качестве модулей обработки, иллюстрируемых на Фиг. 1 и 2.
[0086] RAM 802 имеет область для временного хранения компьютерных программ и данных, которые загружаются из внешнего хранилища 806, данных, полученных из вне через интерфейс 807 (I/F), и подобного. RAM 802 дополнительно имеет рабочую область, используемую, когда CPU 801 выполняет обработку различных типов. Т.е., RAM 802, например, выделяет область в качестве памяти кадра, и предоставляет другие типы областей при необходимости.
[0087] ROM 803 хранит данные установки для компьютера, загрузочные программы, и подобное. Операционный модуль 804 составляют, например, клавиатура и мышь. Пользователь компьютера оперирует операционным модулем 804, чтобы выдавать инструкции различных типов CPU 801. Модуль 805 отображения отображает результаты обработки, полученные посредством CPU 801. Модуль 805 отображения составляет, например, жидкокристаллический дисплей.
[0088] Внешнее хранилище 806 является запоминающим устройством массовой информации, типичным представителем которого является накопитель на жестком диске. Внешнее хранилище 806 хранит операционную систему (OS) и компьютерные программы для того, чтобы предоставить CPU 801 возможность достигать функций модулей, иллюстрируемых на Фиг. 1 и 2. Внешнее хранилище 806 может дополнительно хранить фрагменты данных изображения, которые должны быть обработаны.
[0089] Компьютерные программы и данные, которые хранятся на внешнем хранилище 806, загружаются в RAM 802 под управлением CPU 801 при необходимости, и готовы для обработки посредством CPU 801. Сеть, такая как локальная сеть (LAN) или Интернет, и другие устройства, такие как проектор и дисплей, могут быть соединены с I/F 807. Компьютер может получать и передавать информацию различных типов через I/F 807. Шина 808 соединяет описанные выше модули друг с другом.
[0090] Управление операциями, описанными посредством использования описанных выше блок-схем, осуществляется посредством использования описанной выше конфигурации, в которой CPU 801 является основным модулем.
ДРУГИЕ ВАРИАНТЫ ОСУЩЕСТВЛЕНИЯ
[0091] В описанных выше вариантах осуществления, код информации-кодирования-без-потерь со значением 1 указывает на то, что битовый поток вероятно включает в себя блок кодирования без потерь. Код информации-кодирования-без-потерь со значением 0 указывает на то, что битовый поток едва ли включает в себя блок кодирования без потерь. Тем не менее, настоящее изобретение этим не ограничивается, и код информации-кодирования-без-потерь может иметь более одного бита. В качестве альтернативы, код информации-кодирования-без-потерь со значением 0 может указывать на то, что битовый поток вероятно включает в себя блок кодирования без потерь. Код информации-кодирования-без-потерь со значением 1 может указывать на то, что битовый поток едва ли включает в себя блок кодирования без потерь.
[0092] В описанных выше вариантах осуществления, код информации-управления-без-потерь со значением 1 указывает на то, что процесс интра-предсказания выполняется над блоком кодирования без потерь на основе пиксель-за-пикселем. Код информации-управления-без-потерь со значением 0 указывает на то, что процесс интра-предсказания выполняется над блоком кодирования без потерь на основе блок-за-блоком. Тем не менее, настоящее изобретение этим не ограничивается, и код информации-управления-без-потерь может иметь более одного бита. В качестве альтернативы, код информации-управления-без-потерь со значением 0 может указывать на то, что процесс интра-предсказания выполняется над блоком кодирования без потерь на основе пиксель-за-пикселем. Код информации-управления-без-потерь со значением 1 может указывать на то, что процесс интра-предсказания выполняется над блоком кодирования без потерь на основе блок-за-блоком.
[0093] В описанных выше вариантах осуществления, код информации-блока-кодирования-без-потерь со значением 1 указывает на то, что блок подвергается кодированию без потерь. Код информации-блока-кодирования-без-потерь со значением 0 указывает на то, что блок подвергается кодированию с потерями. Настоящее изобретение этим не ограничивается. Т.е., код информации-блока-кодирования-без-потерь может иметь более одного бита. В качестве альтернативы, код информации-блока-кодирования-без-потерь со значением 0 может указывать на то, что блок подвергается кодированию без потерь. Код информации-блока-кодирования-без-потерь со значением 1 может указывать на то, что блок подвергается кодированию с потерями.
[0094] Варианты осуществления настоящего изобретения также могут быть реализованы посредством компьютера системы или устройства, которое считывает и исполняет исполняемые компьютером инструкции, записанные на запоминающем носителе информации (например, на долговременном компьютерно-читаемом запоминающем носителе информации), чтобы выполнять функции одного или более из описанных выше вариантов осуществления настоящего изобретения, и посредством способа, выполняемого посредством компьютера системы или устройства посредством, например, считывания и исполнения исполняемых компьютером инструкций из запоминающего носителя информации, чтобы выполнять функции одного или более из описанных выше вариантов осуществления настоящего изобретения. Компьютер может содержать одно или более из следующего: CPU, микро модуль обработки (MPU), или другую схему, и может включать в себя сеть из отдельных компьютеров или отдельных компьютерных процессоров. Исполняемые компьютером инструкции могут быть предоставлены компьютеру, например, из сети или запоминающего носителя информации. Запоминающий носитель информации может включать в себя, например, одно или более из следующего: жесткий диск, RAM, ROM, хранилище из распределенных вычислительных систем, оптический диск (такой как компакт-диск (CD), цифровой универсальный диск (DVD), Диск Blu-ray (BD)™), устройство флэш-памяти, карту памяти, и подобное.
[0095] Несмотря на то, что настоящее изобретение было описано со ссылкой на примерные варианты осуществления, должно быть понятно, что изобретение не ограничивается раскрытыми примерными вариантами осуществления. Объем нижеследующей формулы изобретения должен соответствовать самому широкому толкованию с тем, чтобы охватывать все такие модификации и эквивалентные структуры и функции.
[0096] По данной заявке испрашивается приоритет Японской Патентной Заявки № 2013-143697, поданной 09 июля 2013 г., которая во всей своей полноте включена в настоящее описание посредством ссылки.
Настоящее изобретение относится к средствам кодирования без потерь. Технический результат заключается в увеличении эффективности сжатия при кодировании изображения за счет выбора режима кодирвоания. Способ кодирования изображения содержит этапы: выполнения первого кодирования, выполняющего ортогональное преобразование и квантование; и выполнения второго кодирования, выполняемого посредством использования любого из режима интра-предсказания для выполнения интра-предсказания с использованием пикселя, находящегося за пределами блока, подлежащего кодированию, и режима DPCM для выполнения обработки дифференциальной импульсно-кодовой модуляции (DPCM) на основе пиксель-за-пикселем, при этом способ кодирования изображения дополнительно содержит этап кодирования информации для указания того, выполняется ли декодирование, соответствующее второму кодированию, с использованием режима интра-предсказания или с использованием режима DPCM. 6 н. и 13 з.п. ф-лы, 14 ил.
1. Устройство кодирования изображения, кодирующее изображение, при этом упомянутое устройство содержит:
первый модуль кодирования, выполненный с возможностью выполнения первого кодирования, причем первое кодирование содержит выполнение ортогонального преобразования и квантования; и
второй модуль кодирования, выполненный с возможностью выполнения второго кодирования, причем второе кодирование не содержит выполнение ортогонального преобразования и квантования,
при этом второй модуль кодирования кодирует блок, подлежащий кодированию, посредством использования любого из режима интра-предсказания для выполнения интра-предсказания с использованием пикселя, находящегося за пределами блока, подлежащего кодированию, и режима дифференциальной импульсно-кодовой модуляции (DPCM) для выполнения обработки DPCM на основе пиксель-за-пикселем,
при этом устройство кодирования изображения дополнительно содержит модуль кодирования информации, выполненный с возможностью кодирования информации для указания того, выполняется ли декодирование, соответствующее второму кодированию, с использованием режима интра-предсказания или с использованием режима DPCM.
2. Устройство кодирования изображения по п. 1,
в котором информация включается в заголовок последовательности битового потока, генерируемого посредством кодирования изображения.
3. Устройство кодирования изображения по п. 1, в котором второй модуль кодирования выполнен с возможностью выполнения второго кодирования с использованием режима DPCM при помощи либо горизонтального режима DPCM на основе пиксель-за-пикселем в отношении смежных пикселей в горизонтальном направлении, либо вертикального режима DPCM на основе пиксель-за-пикселем в отношении смежных пикселей в вертикальном направлении.
4. Устройство кодирования изображения по п. 1,
в котором первый модуль кодирования выполнен с возможностью выполнения первого кодирования блока, подлежащего кодированию, в случае, когда блок, подлежащий кодированию, представляет собой предварительно заданный режим интра-предсказания из множества режимов интра-предсказания, и
в котором второй модуль кодирования выполнен с возможностью выполнения второго кодирования блока, подлежащего кодированию, в случае, когда блок, подлежащий кодированию, представляет собой режим интра-предсказания другой, нежели упомянутый предварительно заданный режим интра-предсказания из множества режимов интра-предсказания.
5. Устройство кодирования изображения по п. 1,
в котором упомянутая информация назначается каждому блоку в битовом потоке, генерируемом посредством кодирования изображения.
6. Устройство кодирования изображения по п. 1,
в котором упомянутая информация назначается каждой картинке в битовом потоке, генерируемом посредством кодирования изображения.
7. Устройство кодирования изображения по п. 1,
в котором упомянутая информация включается в заголовок последовательности битового потока, генерируемого посредством кодирования изображения.
8. Устройство кодирования изображения по п. 1,
в котором интра-предсказание с использованием пикселя, находящегося за пределами блока, подлежащего кодированию, представляет собой интра-предсказание на основе блок-за-блоком.
9. Устройство декодирования изображения, декодирующее битовый поток, генерируемый посредством кодирования изображения, при этом упомянутое устройство содержит:
первый модуль декодирования, выполненный с возможностью выполнения первого декодирования, включающего в себя обратное ортогональное преобразование и обратное квантование; и
второй модуль декодирования, выполненный с возможностью выполнения второго декодирования, не включающего в себя обратное ортогональное преобразование и обратное квантование, и
модуль получения, выполненный с возможностью получения из битового потока информации, чтобы определить то, выполняется ли второе декодирование с использованием режима интра-предсказания или с использованием режима DPCM, причем режим интра-предсказания предназначен для выполнения интра-предсказания с использованием пикселя, находящегося за пределами блока, подлежащего декодированию, и причем режим DPCM предназначен для выполнения обработки DPCM на основе пиксель-за-пикселем, и
при этом второй модуль декодирования декодирует изображение при помощи выполнения второго декодирования с использованием режима, определенного при помощи упомянутой информации, полученной блоком получения.
10. Устройство декодирования изображения по п. 9,
в котором упомянутая информация включается в заголовок последовательности упомянутого битового потока.
11. Устройство декодирования изображения по п. 9,
в котором в случае, когда второе декодирование выполняется с использованием режима DPCM, второй модуль декодирования выполнен с возможностью декодирования изображения при помощи выполнения второго декодирования с использованием либо горизонтального режима DPCM на основе пиксель-за-пикселем в отношении смежных пикселей в горизонтальном направлении, либо вертикального режима DPCM на основе пиксель-за-пикселем в отношении смежных пикселей в вертикальном направлении.
12. Устройство декодирования изображения по п. 9,
в котором упомянутая информация назначается каждому блоку в битовом потоке, генерируемом посредством кодирования изображения.
13. Устройство декодирования изображения по п. 9,
в котором упомянутая информация назначается каждой картинке в битовом потоке, генерируемом посредством кодирования изображения.
14. Устройство декодирования изображения по п. 9,
в котором упомянутая информация включается в заголовок последовательности битового потока, генерируемого посредством кодирования изображения.
15. Устройство декодирования изображения по п. 9,
в котором интра-предсказание с использованием пикселя, находящегося за пределами блока, подлежащего кодированию, представляет собой интра-предсказание на основе блок-за-блоком.
16. Способ кодирования изображения для кодирования изображения, при этом упомянутый способ содержит этапы:
выполнения первого кодирования, причем первое кодирование содержит выполнение ортогонального преобразования и квантования; и
выполнения второго кодирования, причем второе кодирование не содержит выполнение ортогонального преобразования и квантования,
при этом выполнение второго кодирования осуществляется посредством использования любого из режима интра-предсказания для выполнения интра-предсказания с использованием пикселя, находящегося за пределами блока, подлежащего кодированию, и режима DPCM для выполнения обработки DPCM на основе пиксель-за-пикселем,
при этом способ кодирования изображения дополнительно содержит этап кодирования информации для указания того, выполняется ли декодирование, соответствующее второму кодированию, с использованием режима интра-предсказания или с использованием режима DPCM.
17. Способ декодирования изображения для декодирования битового потока, генерируемого посредством кодирования изображения, при этом упомянутый способ содержит этапы:
выполнения первого декодирования, включающего в себя обратное ортогональное преобразование и обратное квантование; и
выполнения второго декодирования, не включающего в себя обратное ортогональное преобразования и обратное квантование,
получения из битового потока информации, чтобы определить то, выполняется ли второе декодирование с использованием режима интра-предсказания или с использованием режима DPCM, причем режим интра-предсказания предназначен для выполнения интра-предсказания с использованием пикселя, находящегося за пределами блока, подлежащего декодированию, и причем режим DPCM предназначен для выполнения обработки DPCM на основе пиксель-за-пикселем, и
при этом выполнение второго декодирования содержит этап выполнения второго декодирования с использованием режима, определенного при помощи упомянутой информации, полученной блоком получения.
18. Долговременный компьютерно-читаемый запоминающий носитель информации, хранящий программу, предписывающую компьютеру исполнять кодирование изображения, при этом программа содержит:
исполняемые компьютером инструкции, которые предписывают выполнение первого кодирования, причем первое кодирование содержит выполнение ортогонального преобразования и квантования; и
исполняемые компьютером инструкции, которые предписывают выполнение второго кодирования, причем второе кодирование не содержит выполнение ортогонального преобразования и квантования,
при этом выполнение второго кодирования осуществляется посредством использования любого из режима интра-предсказания для выполнения интра-предсказания с использованием пикселя, находящегося за пределами блока, подлежащего кодированию, и режима DPCM для выполнения обработки DPCM на основе пиксель-за-пикселем,
при этом программа, предписывающая компьютеру исполнять кодирование изображения, дополнительно содержит исполняемые компьютером инструкции, которые предписывают кодирование информации для указания того, выполняется ли декодирование, соответствующее второму кодированию, с использованием режима интра-предсказания или с использованием режима DPCM.
19. Долговременный компьютерно-читаемый запоминающий носитель информации, хранящий программу, предписывающую компьютеру исполнять декодирование битового потока, генерируемого посредством кодирования изображения, при этом упомянутая программа содержит:
исполняемые компьютером инструкции, которые предписывают выполнение первого декодирования, включающего в себя обратное ортогональное преобразование и обратное квантование;
исполняемые компьютером инструкции, которые предписывают выполнение второго декодирования, не включающего в себя обратное ортогональное преобразование и обратное квантование, и
исполняемые компьютером инструкции, которые предписывают получение из битового потока информации, чтобы определить то, выполняется ли второе декодирование с использованием режима интра-предсказания или с использованием режима DPCM, причем режим интра-предсказания предназначен для выполнения интра-предсказания с использованием пикселя, находящегося за пределами блока, подлежащего декодированию, и причем режим DPCM предназначен для выполнения обработки DPCM на основе пиксель-за-пикселем,
при этом исполняемые компьютером инструкции, которые предписывают выполнение второго декодирования, дополнительно содержат исполняемые компьютером инструкции, которые предписывают выполнение второго декодирования с использованием режима, определенного при помощи упомянутой информации, полученной блоком получения.
Способ приготовления мыла | 1923 |
|
SU2004A1 |
СИГНАЛИЗАЦИЯ О МАКСИМАЛЬНОМ ДИНАМИЧЕСКОМ ДИАПАЗОНЕ ОБРАТНОГО ДИСКРЕТНОГО КОСИНУСНОГО ПРЕОБРАЗОВАНИЯ | 2007 |
|
RU2417547C2 |
ЭФФЕКТИВНЫЕ АППРОКСИМАЦИИ С ФИКСИРОВАННОЙ ЗАПЯТОЙ ПРЯМОГО И ОБРАТНОГО ДИСКРЕТНЫХ КОСИНУСНЫХ ПРЕОБРАЗОВАНИЙ | 2007 |
|
RU2417423C2 |
УМЕНЬШЕНИЕ ОШИБОК ВО ВРЕМЯ ВЫЧИСЛЕНИЯ ОБРАТНОГО ДИСКРЕТНОГО КОСИНУСНОГО ПРЕОБРАЗОВАНИЯ | 2007 |
|
RU2439682C2 |
Авторы
Даты
2018-05-11—Публикация
2014-07-01—Подача