RU2503138C2 - Кодирование встраиваемой графики для изображений с разреженными гистограммами - Google Patents

Кодирование встраиваемой графики для изображений с разреженными гистограммами Download PDF

Info

Publication number
RU2503138C2
RU2503138C2 RU2011141592/07A RU2011141592A RU2503138C2 RU 2503138 C2 RU2503138 C2 RU 2503138C2 RU 2011141592/07 A RU2011141592/07 A RU 2011141592/07A RU 2011141592 A RU2011141592 A RU 2011141592A RU 2503138 C2 RU2503138 C2 RU 2503138C2
Authority
RU
Russia
Prior art keywords
bit
group
value
pixels
current
Prior art date
Application number
RU2011141592/07A
Other languages
English (en)
Other versions
RU2011141592A (ru
Inventor
Вэй Лю
Мохаммад ГАРАВИ-АЛКАНСАРИ
Original Assignee
Сони Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Сони Корпорейшн filed Critical Сони Корпорейшн
Publication of RU2011141592A publication Critical patent/RU2011141592A/ru
Application granted granted Critical
Publication of RU2503138C2 publication Critical patent/RU2503138C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/64Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
    • H04N19/647Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission using significance based coding, e.g. Embedded Zerotrees of Wavelets [EZW] or Set Partitioning in Hierarchical Trees [SPIHT]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Analysis (AREA)

Abstract

Изобретение относится к сжатию данных и, более конкретно, к сжатию данных для изображений с разреженными гистограммами. Техническим результатом является обеспечение частичного восстановления изображения без полного его декодирования. Указанный технический результат достигается тем, что изображение делят на блоки, и для каждого блока выделяется ресурс битов. Пиксели в блоке преобразуют и кодируют в последовательности битовых плоскостей, начиная с самого старшего значащего бита (MSB) и заканчивая младшим значащим битом (LSB). Пиксели блока разбивают на группы. Каждая группа состоит из пикселей, имеющих одинаковое значение. Группы в каждой битовой плоскости обрабатываются от MSB до LSB. При обработке группы кодировщик отправляет значение 0, если все элементы группы имеют одинаковое значение бита в текущей обрабатываемой битовой плоскости, за которым следует значение бита, и в противном случае кодировщик отправляет значение 1, за которым следуют биты детализации для каждого пикселя группы, и кодировщик разделяет группу. 2 н. и 11 з.п. ф-лы, 10 ил.

Description

Область техники
Настоящее изобретение, в целом, относится к сжатию данных, и, более конкретно, к сжатию данных для изображений с разреженными гистограммами.
Уровень техники
Большинство схем сжатия изображений разработаны для “естественных изображений”, то есть, фотографий, полученных цифровой камерой. В случае естественных изображений существует сильная корреляция между соседними пикселями. Поэтому, большинство схем сжатия изображений используют декорреляцию пикселей посредством прогнозирования/преобразования или оба данных метода. В результате получается разреженная гистограмма из остатков после прогнозирования или коэффициентов преобразования. На фиг.1 показана гистограмма 12 изображения 10 после дискретного косинусного преобразования (DCT) 16 8×8. Как показано на фиг.1, гистограмма 12 имеет единственный максимум 14, расположенный близко к 0. Применяется квантование (если необходимо), и выполняется статистическое кодирование (квантованного) остатков после прогнозирования или коэффициентов преобразования. Статистический кодировщик, в целом, рассчитан для распределения, аналогичного показанному на фиг.1. Другими словами, если распределение имеет существенно отличающуюся форму, производительность кодировщика будет низкой.
Однако достаточно большое количество “неестественных” изображений нуждаются в сжатии. Такие изображения часто содержат графику или текст, которые обычно имеют большой динамический диапазон контраста, резкие углы, текстуры с большим увеличением и разреженную гистограмму. На фиг.2 показан пример такого “неестественного” изображения.
Такой тип изображений часто не может быть хорошо обработан обычными алгоритмами сжатия изображений. Межпиксельная корреляция является слабой, и прогнозирование или преобразование не обеспечивают разреженное распределение, так, как для естественных изображений.
Одна из попыток сжатия таких изображений называлась “упаковкой гистограммы”, в ходе которой кодировщик проходил через все изображение, вычислял гистограмму и выполнял нелинейное отображение пиксельных данных перед сжатием изображения. Такое сжатие требует двух проходов, что ведет к увеличению требуемой памяти и большим вычислениям. Поток битов не является масштабируемым, а это означает, что декодеру необходимо все содержание потока битов для декодирования изображения. Частичное восстановление изображения невозможно без полного декодирования.
Раскрытие изобретения
Раскрыты процессы сжатия изображений с разреженными гистограммами. Изображение делят на блоки, и ресурс битов присваивается каждому блоку. Пиксели блока преобразуют и кодируют по битовыми плоскостями, начиная с плоскости самых старших битов (MSB) и заканчивая плоскостью самых младших битов (LSB). Пиксели в блоке расположены группами. Каждая группа содержит пиксели, имеющие одинаковые значения. Группу разбивают на части, если пиксели в группе имеют разные значения в кодируемой битовой плоскости. Обработка производится для каждой битовой плоскости последовательным перемещением от плоскости MSB до плоскости LSB. Кодировщик отправляет значение “0” для группы, если все элементы в группе имеют одинаковое значение битов в текущей обрабатываемой битовой плоскости, за которым следует значение бита. Если элементы группы имеют разные значения, кодировщик разбивает группу и отправляет значение “1”, за которым следуют уточняющие биты для каждого пикселя группы.
Одним объектом настоящего изобретения является способ обработки изображения, содержащий разделение изображения на блоки первым процессором, установку ресурса битов для каждого блока, преобразование пикселей каждого блока в двоичное представление, сканирование и кодирование, начиная с плоскости самых старших битов и заканчивая плоскостью самых младших битов, генерирование файла сжатого изображения с закодированными пикселями и сохранение файла сжатого изображения в памяти, подключенной к первому процессору. Изображение содержит изображение с разреженной гистограммой. Сканирование и кодирование пикселей текущей битовой плоскости содержит обработку всех существующих групп блока, причем для каждой группы, если все пиксели имеют одинаковое значение в текущей битовой плоскости, в поток битов записывают первый бит со значением “0”, а затем записывают значение второго бита, характеризующее значение пикселей в группе, а если значения пикселей не являются одинаковыми, в поток битов записывают значение первого бита, равное “1”, за которым следуют по одному биту для каждого пикселя в текущей группе, характеризующие значение бита для данного пикселя в текущей битовой плоскости, генерируют новую группу и разделяют исходную группу, при этом пиксели со значением “0” оставляют в исходной группе, а пиксели со значением “1” помещают в новую группу. Данный способ дополнительно содержит декодирование сжатого изображения вторым процессором для разуплотнения изображения. Декодирование файла со сжатым изображением содержит обработку каждого блока начиная с MSB и заканчивая LSB, и обработку всех существующих групп для каждой битовой плоскости. Обработка группы текущей битовой плоскости содержит этапы, на которых считывают бит из потока битов, и если бит имеет значение 0, то считывают второй бит из потока битов и устанавливают данное значение в качестве значения бита для всех пикселей в группе текущей битовой плоскости, а если бит имеет значение “1”, то для каждого пикселя группы считывают один бит из потока битов и устанавливают в качестве значения бита для данного пикселя в текущей битовой плоскости, генерируют новую группу и разбивают исходную группу на две, так что пиксели со значением “0” находятся в исходной группе, а пиксели со значением “1” находятся в новой группе. Выделенный ресурс битов для каждого блока совместно используется между блоками. Первый процессор расположен в устройстве, выбранном из группы: персональный компьютер, карманный компьютер, персональный цифровой помощник, портативный персональный компьютер, сотовый/мобильный телефон, интеллектуальное бытовое устройство, игровая консоль, цифровой фотоаппарат, цифровая видеокамера, камерофон, iPod®/iPhone, видеопроигрыватель, устройство воспроизведения/записи DVD, устройство воспроизведения/записи Blu-ray®, телевизор и бытовая аудио-, видео и компьютерная система.
Другим объектом настоящего изобретения является устройство обработки изображения, содержащее первый процессор, выполненный с возможностью обработки пикселей изображения и программный модуль для разбиения изображения на блоки, установки ресурса битов для каждого блока, преобразования пикселей каждого блока в двоичное представление, сканирования и кодирования пикселей, начиная с самой старшей значащей битовой плоскости и заканчивая самой младшей значащей битовой плоскостью, и генерирования файла сжатого изображения с кодированными пикселями. Устройство дополнительно содержит память, соединенную с первым процессором, в которой хранится файл сжатого изображения. Программа выполнена с возможностью последовательного сканирования и кодирования пикселей по битовым плоскостям и для каждой битовой плоскости включает в себя обработку всех существующих групп блока, причем для каждой группы, если все пиксели имеют одинаковое значение в текущей битовой плоскости, в поток битов записывается первый бит со значением 0, а затем записывается значение бита, обозначающее значение всех пикселей в текущей группе, а если значения пикселей не имеют одинаковые значения, в поток битов записывается первый бит со значением 1, за которым следуют биты, по одному для каждого пикселя в текущей группе, обозначающие значение бита для данного пикселя в текущей битовой плоскости, генерирования новой группы и разбиения исходной группы, причем пиксели со значением 0 остаются в исходной группе, а пиксели со значением 1 размещаются в новой группе. Устройство дополнительно содержит второй программный модуль, исполняемый в первом процессоре, или второй процессор и программный модуль, выполненный с возможностью декодирования файла сжатого изображения для разуплотнения изображения. Декодер дополнительно выполнен с возможностью обработки каждого блока, начиная с MSB и заканчивая LSB, и обработки всех имеющихся групп для каждой битовой плоскости. Обработка группы текущей битовой плоскости содержит чтение битов из потока битов, и, если бит имеет значение 0, то считывание второго бита из потока битов и установки данного значения, как значения бита для каждого пикселя группы в текущей битовой плоскости, а если бит имеет значение 1, то считывание для каждого пикселя группы одного бита из потока битов и установки его в качестве значения бита для данного пикселя в текущей битовой плоскости, генерируется новая группа и исходная группа разбивается на две так, что пиксели со значением 0 остаются в исходной группой, а пиксели со значением 1 помещаются в новую группу. Выделенный ресурс битов для каждого блока совместно используется блоками. Данное устройство является одним из группы устройств: персональный компьютер, портативный персональный компьютер, автоматизированное рабочее место, сервер, ЭВМ коллективного пользования, карманный компьютер, персональный цифровой помощник, сотовый/мобильный телефон, игровая приставка, цифровой фотоаппарат, цифровая видеокамера, камерофон, iPod®/iPhone, видеопроигрыватель, устройство воспроизведения/записи DVD, устройство воспроизведения/записи Blu-ray®, телевизор и бытовая аудио-, видео и компьютерная система.
В еще одном объекте настоящего изобретения, устройство обработки изображения с разреженной гистограммой содержит первое средство обработки, выполненное с возможностью обработки пикселей изображения, средство кодирования, исполняемое в первом средстве обработки для разделения изображения на блоки, установки ресурса битов для каждого блока, преобразования пикселей каждого блока в двоичное представление, сканирования и кодирования, начиная с самой старшей значащей битовой плоскости и заканчивая самой младшей битовой плоскостью, и генерации файла сжатого изображения с кодированными пикселями, и средство хранения, соединенное с первым средством обработки, причем файл сжатого изображения хранится в средстве хранения. Средство кодирования выполнено с возможностью сканирования и кодирования пикселей по битовым плоскостям, и для текущей битовой плоскости оно содержит обработку всех существующих групп в блоке, причем для каждой группы, если все пиксели в текущей битовой плоскости имеют одинаковое значение, в поток битов записывается первый бит со значением 0, а затем записывается значение бита, обозначающее значение всех пикселей группы, а если все значения пикселей не имеют одинаковые значения, в поток битов записывается первый бит со значением 1, за которым следуют биты, по одному для каждого пикселя в текущей группе, обозначающие значение бита для данного пикселя в текущей битовой плоскости, генерирование новой группы и разбиение исходной группы, сохранение пикселей со значением 0 в исходной группе и помещение пикселей со значением 1 в новую группу. Устройство дополнительно содержит средство декодирования, выполняемое в первом средстве обработки, или второе средство обработки, соединенное с первым средством обработки, и средство декодирования выполнено с возможностью декодирования файла сжатого изображения для получения несжатого изображения. Средство декодирования содержит декодер, выполненный с возможностью декодирования файла сжатого изображения путем обработки каждого блока, начиная от MSB и заканчивая LSB, и обработки всех существующих групп для каждой битовой плоскости. Обработка группы в текущей битовой плоскости содержит считывание битов из потока битов, если бит имеет значение 0, то считывание второго бита из потока битов и установку данного значения в качестве значения бита для всех пикселей группы в текущей битовой плоскости, если бит имеет значение 1, то для каждого пикселя группы считывание одного бита из потока битов и установки его в качестве значения бита для данного пикселя в текущей битовой плоскости, генерирование новой группы и разбиение исходной группы на две, так что пиксели со значением 0 остаются в исходной группе, а пиксели со значением 1 располагаются в новой группе. Ресурс битов для каждого блока совместно используется блоками. Данное устройство является одним из группы устройств: персональный компьютер, портативный персональный компьютер, автоматизированное рабочее место, сервер, ЭВМ коллективного пользования (суперЭВМ), карманный компьютер, персональный цифровой помощник, сотовый/мобильный телефон, игровая приставка, цифровой фотоаппарат, цифровая видеокамера, камерофон, iPod®/iPhone, видеопроигрыватель, устройство воспроизведения/записи DVD, устройство воспроизведения/записи Blu-ray®, телевизор и бытовая аудио-, видео- и компьютерная система.
В еще одном объекте настоящего изобретения устройство обработки изображения с разреженной гистограммой содержит первый процессор для обработки пикселей изображения, и кодировщик, исполняемый в первом процессоре, для разделения изображения на блоки, установки ресурса битов для каждого блока, преобразования пикселей каждого блока в двоичное представление, сканирования и кодирования пикселей, начиная с самой старшей значащей битовой плоскости и заканчивая самой младшей битовой плоскостью, и генерирования файла сжатого изображения с кодированными пикселями, и запоминающее устройство, соединенное с первым устройством обработки, при этом файл сжатого изображения сохраняется в запоминающем устройстве. Кодировщик выполнен с возможностью сканирования и кодирования пикселей по битовым плоскостям, и для текущей битовой плоскости кодирования содержит обработку всех имеющихся групп в блоке, причем для каждой группы, если все пиксели в текущей битовой плоскости имеют одинаковое значение, в поток битов записывается первый бит со значением 0, а затем записывается значение бита, обозначающего значения всех пикселей группы, а если значения всех пикселей не имеют одинаковые значения, в поток битов записывается первый бит со значением 1, за которым следуют биты, по одному для каждого пикселя в текущей группе, обозначающие значение бита данного пикселя в текущей битовой плоскости, генерирование новой группы и разделение исходной группы на две, сохранение пикселей со значением 0 в исходной группе и помещение пикселей со значением 1 в новую группу. Устройство дополнительно содержит декодер, исполняемый в первом процессоре, или второе средство обработки, соединенное с первым средством обработки, и декодер выполнен с возможностью декодирования файла сжатого изображения для получения несжатого изображения. Декодер выполнен с возможностью декодирования файла сжатого изображения путем обработки каждого блока, начиная с MSB и заканчивая LSB, и обработки всех имеющихся групп для каждой битовой плоскости. Обработка группы в текущей битовой плоскости содержит считывание битов из потока битов, если бит имеет значение 0, считывание второго бита из потока битов и установку данного значения в качестве значения бита для каждого пикселя группы в текущей битовой плоскости, а если бит имеет значение 1, считывание для каждого пикселя группы одного бита из потока битов и установленного в качестве значения бита данного пикселя в текущей битовой плоскости, генерирование новой группы и разбиение исходной группы на две, так что пиксели со значением 0 остаются в исходной группе, а пиксели со значением 1 располагаются в новой группе. Ресурс битов для каждого блока совместно используется блоками. Данное устройство является одним из группы устройств: персональный компьютер, портативный персональный компьютер, автоматизированное рабочее место, сервер, ЭВМ коллективного пользования (суперЭВМ), карманный компьютер, персональный цифровой помощник, сотовый/мобильный телефон, игровая приставка, цифровой фотоаппарат, цифровая видеокамера, камерофон, iPod®/iPhone, видеопроигрыватель, устройство воспроизведения/записи DVD, устройство воспроизведения/записи Blu-ray®, телевизор и бытовая аудио-, видео- и компьютерная система.
Другим объектом настоящего изобретения является сеть устройств, содержащая устройство кодирования изображения, содержащее разделение изображения на блоки, установку ресурса битов для каждого блока, преобразование пикселей каждого блока в двоичное представление, сканирование и кодирование пикселей, начиная с самой старшей значащей битовой плоскости и заканчивая самой младшей значащей битовой плоскостью, и генерирование файла сжатого изображения с кодированными пикселями, и устройство декодирования для декодирования файла сжатого изображения путем обработки от MSB до LSB и обработки всех имеющихся групп для каждой битовой плоскости. Обработка группы текущей битовой плоскости содержит считывание битов из потока битов, и, если бит имеет значение 0, то считывание второго бита из потока битов и установку данного значения в качестве значения бита для каждого пикселя группы в текущей битовой плоскости, а если бит имеет значение 1, то считывание для каждого пикселя группы одного бита из потока битов и установки его в качестве значения бита для данного пикселя в текущей битовой плоскости, генерирование новой группы и разбиение исходной группы на две, так что пиксели со значением 0 остаются в исходной группе, а пиксели со значением 1 помещаются в новой группе. Устройство кодирования выполнено с возможностью сканирования и кодирования пикселей по битовым плоскостям, и кодирование текущей битовой плоскости содержит обработку всех имеющихся групп блока, при этом для каждой группы, если все пиксели в текущей битовой плоскости имеют одинаковое значение, в поток битов записывается первый бит со значением 0, а затем записывается значение бита, обозначающего значения всех пикселей группы, а если значения всех пикселей не имеют одинаковые значения, в поток битов записывается первый бит со значением 1, за которым следуют биты, по одному для каждого пикселя в текущей группе, обозначающие значение бита данного пикселя в текущей битовой плоскости, генерирование новой группы и разделение исходной группы на две, при этом пиксели со значением 0 остаются в исходной группе, а пиксели со значением 1 помещаются в новую группу. Ресурс битов для каждого блока совместно используется блоками.
В некоторых вариантах осуществления множество блоков могут совместно друг с другом использовать ресурс битов, так что большее количество битов может быть выделено для блоков, которые трудно закодировать. Это позволяет улучшить общую эффективность кодирования. В одном из крайних случаев, один ресурс битов может совместно использоваться всеми блоками в изображении. В другом крайнем случае, каждый блок имеет собственный ресурс битов. Возможен любой из вариантов ресурса битов, начиная от одного ресурса битов для всех блоков, и заканчивая вариантом, когда каждый блок имеет свой ресурс битов.
Краткое описание чертежей
Фиг.1 иллюстрирует схематическую диаграмму дискретного косинусного преобразования изображения и соответствующую гистограмму согласно предыдущему уровню техники.
Фиг.2 иллюстрирует типичное графическое изображение.
Фиг.3 иллюстрирует блок-схему способа кодирования изображения в соответствии с некоторыми вариантами осуществления.
Фиг.4 иллюстрирует блок-схему EGC-кодирования для битовой плоскости в блоке в соответствии с некоторыми вариантами осуществления.
Фиг.5 иллюстрирует блок-схему EGC-кодирования для блока в соответствии с некоторыми вариантами осуществления.
Фиг.6 иллюстрирует блок-схему EGC-кодирования для нескольких блоков, совместно использующих ресурс битов, в соответствии с некоторыми вариантами осуществления.
Фиг.7 иллюстрирует блок-схему EGC-декодирования для битовой плоскости в блоке в соответствии с некоторыми вариантами осуществления.
Фиг.8 иллюстрирует блок-схему EGC-декодирования одного блока в соответствии с некоторыми вариантами осуществления.
Фиг.9 иллюстрирует блок-схему EGC-декодирования для нескольких блоков, совместно использующих ресурс битов, в соответствии с некоторыми вариантами осуществления.
Фиг.10 иллюстрирует схематический чертеж системы для кодирования и декодирования графического изображения с использованием EGC в соответствии с некоторыми вариантами осуществления.
Подробное описание предпочтительного варианта осуществления
Что касается чертежей, для иллюстративных целей кодирование встраиваемой графики для изображений с разреженной гистограммой реализовано в устройстве, в общем виде показанного на фигурах, не относящихся к предыдущему уровню техники. Стоит оценить по достоинству, что устройство может быть изменено как в конфигурации, так и особенностях деталей, и что способ может быть изменен в отдельных шагах или их последовательности, без отклонения от раскрытых далее основных идей.
Кодирование встраиваемой графики для изображений с разреженной гистограммой включает в себя алгоритм кодирования, системы и способы для кодирования изображений с разреженной гистограммой, т.е. типичных для (но не ограниченных ими) графических или текстовых изображений.
Алгоритм, системы и способы используют новый процесс обработки, называемый Embedded Graphics Coding (EGC - Кодирование Встраиваемой Графики), который обеспечивает сжатие с потерями или без потерь, когда даже если декодирование остановится в середине потока битов, декодер сможет создать приемлемый декодированный блок на основе принятых битов. Если был отправлен весь поток битов, изображение может быть восстановлено без потерь.
Алгоритм, системы и способы, описанные здесь, просты и имеют высокую производительность кодирования.
На фиг.3 показана блок-схема процесса 30 кодирования изображения с разреженной гистограммой. Сначала на шаге 32 изображение разделяют на блоки. Затем на шаге 34 устанавливают ресурс битов для каждого блока. Ресурс обычно согласовывается между кодировщиком и декодером. Кодировщик и декодер могут быть выполнены с возможностью динамического изменения ресурса битов, если ширина полосы пропускания меняется со временем. Закодированный поток битов является полностью встроенным, так что ресурс битов может быть изменен произвольно.
Для каждого блока на шаге 36 пиксели изображения преобразуются в двоичное представление. Следует отметить, что кодировщику нет необходимости выполнять прогнозирование или трансформацию, поскольку предполагается, что пиксели уже имеют разреженную гистограмму. Отсутствие прогнозирования и трансформации сокращает количество вычислений и требуемую мощность обработки.
Затем, на шаге 38, пиксели каждого блока сканируются и кодируются в последовательности расположения битовых плоскостей. Битовая плоскость в цифровом изображении является набором битов, имеющих одинаковую позицию в соответствующем двоичном числе. Например, в случае 8-битового представления данных существует 8 битовых плоскостей. Первая битовая плоскость содержит набор самого старшего значащего бита, а 8-я битовая плоскость содержит самый младший значащий бит.Сначала сканируется и кодируется самая старшая значащая битовая плоскость (MSB), далее процесс переходит к следующей менее значащей битовой плоскости и т.д., пока не будет отсканирована самая младшая значащая битовая плоскость (LSB). Процесс кодирования каждой битовой плоскости подробно описан далее.
На шаге 40 кодирование останавливается. Кодирование останавливается в одном из двух случаев: 1) ресурс битов для текущего блока исчерпан, или 2) если реконструируемый блок достиг конца LSB. В этом случае, декодер также определяет конец блока.
На фиг.4 показана блок-схема кодирования битовой плоскости в блоке согласно некоторым вариантам осуществления. На шаге 50 получают количество (N) существующих групп. На шаге 52 текущая группа устанавливается как группа 1. На шаге 54 алгоритм вычисляет, имеют ли пиксели текущей группы одинаковое значение бита в текущей битовой плоскости.
Если все пиксели в группе имеют одинаковое значение бита, на шаге 56 в битовый поток записывают 0, за которым следует 0 или 1, обозначающие значение бита для всех пикселей в текущей группе.
Если пиксели группы не имеют одинакового значения, на шаге 58 в битовый поток записывают значение 1, за которым следуют значения битов каждого пикселя в текущей группе. На шаге 60 генерируется новая группа без увеличения N. На шаге 62 группа разбивается на две, и пиксели со значением 0 остаются в той же группе, а пиксели со значением 1 помещаются в новую группу.
На шаге 64 кодировщик вычисляет, является ли текущая группа группой N. Если текущая группа не является группой N, то на шаге 66 процесс переходит к следующей группе и процесс возобновляется с шага 54. Если текущей группой является группа N, то кодирование текущей битовой плоскости завершается.
На фиг.5 показана блок-схема EGC-кодирования для блока согласно некоторым вариантам осуществления. На шаге 68 все пиксели блока помещаются в группу 1. На шаге 70 текущая битовая плоскость устанавливается как MSB. На шаге 72 текущая битовая плоскость кодируется с использованием способа, приведенного на фиг.4. На шаге 74 определяют, является ли текущая битовая плоскость LSB. Если текущая битовая плоскость не является LSB, то на шаге 76 процесс переходит к следующей битовой плоскости и процесс возобновляется с шага 72. Если текущей битовой плоскостью является LSB, то кодирование текущего блока завершается.
На фиг.6 показана блок-схема EGC-кодирования для нескольких блоков, которые совместно используют ресурс битов, согласно некоторым вариантам осуществления. На шаге 78 пиксели каждого блока располагают в одной и той же группе для каждого блока (пиксели разных блоков располагаются в разных группах). На шаге 80 текущая битовая плоскость устанавливается как MSB. На шаге 82 текущий блок устанавливается как первый блок. На шаге 84 текущая битовая плоскость текущего блока кодируется с использованием способа, показанного на фиг.4. На шаге 86 определяют, является ли текущий блок последним блоком. Если текущий блок не является последним блоком, то на шаге 88 процесс переходит к следующему блоку и процесс возобновляется с шага 84. Если текущий блок является последним блоком, то на шаге 90 определяют, является ли текущая битовая плоскость LSB. Если текущая битовая плоскость не является LSB, то на шаге 92 процесс переходит к следующей битовой плоскости и возобновляется с шага 82.
На фиг.7 показана блок-схема EGC-декодирования битовой плоскости в блоке согласно некоторым вариантам осуществления. На шаге 100 получают число (N) существующих битовых плоскостей. На шаге 102 текущая группа устанавливается как группа 1. На шаге 104 бит считывается из потока битов. На 106 определяют, содержит ли бит значение 0. Если его значение равно 0, то на шаге 108 считывают следующий бит из потока битов и устанавливают его значение в качестве значения всех пикселей в группе для текущей битовой плоскости. Например, если второй считанный бит равен 1, то все биты устанавливаются равными 1. Если значение бита не равно 0, то на шаге 110 биты считываются из потока битов для всех пикселей группы, и данное значение бита устанавливается как значение бита данного пикселя в текущей битовой плоскости. На шаге 112 генерируется новая группа без увеличения N. На шаге 114 группа разбивается, и пиксели со значением 0 остаются в той же группе, а пиксели со значением 1 помещаются в новую группу. На шаге 116 определяют, является ли текущая группа группой N. Если текущая группа не является группой N, то на шаге 118 процесс переходит к следующей группе. Если текущая группа является группой N, то декодирование текущей битовой плоскости завершается.
На фиг, 8 показана блок-схема EGC-декодирования одного блока в соответствии с некоторыми вариантами осуществления. На шаге 120 все пиксели блока располагают в группе 1. На шаге 122 текущая битовая плоскость устанавливается как MSB. На шаге 124 текущая битовая плоскость декодируется с использованием способа, показанного на фиг.7. На шаге 126 определяют, является текущая битовая плоскость LSB. Если текущая битовая плоскость не является LSB, то на шаге 128 процесс переходит к следующей битовой плоскости, и процесс возобновляется с шага 124. Если текущая битовая плоскость является LSB, то декодирование текущего блока завершается.
На фиг.9 показана блок-схема EGC-декодирования нескольких блоков, совместно использующих ресурс битов, согласно некоторым вариантам осуществления. На шаге 130 пиксели каждого блока помещаются в одну группу для каждого блока (пиксели разных блоков помещаются в разные группы). На шаге 132 текущая битовая плоскость устанавливается как MSB. На шаге 134 текущий блок устанавливается как первый блок. На шаге 136 текущая битовая плоскость текущего блока декодируется с использованием способа, показанного на фиг.7. На шаге 138 определяют, является ли текущий блок последним блоком. Если текущий блок не является последним блоком, то на шаге 140 процесс переходит к следующему блоку и возобновляется с шага 136. Если текущий блок является последним блоком, то на шаге 142 определяют, является ли текущая битовая плоскость LSB. Если текущая битовая плоскость является LSB, то декодирование завершается. Если текущая битовая плоскость не является LSB, то на шаге 144 процесс переходит к следующей битовой плоскости и процесс возобновляется с шага 134.
В некоторых вариантах осуществления несколько блоков могут совместно друг с другом использовать ресурс битов, так что большее количество битов может быть выделено для блоков, которые трудно закодировать. Это позволяет улучшить общую производительность кодирования. В одном из крайних случаев, один ресурс битов может совместно использоваться всеми блоками в изображении. В другом крайнем случае, каждый блок имеет собственный ресурс битов. Возможен любой из вариантов ресурса битов, начиная от одного ресурса битов для всех блоков, и заканчивая вариантом, когда каждый блок имеет свой ресурс битов.
В некоторых случаях, алгоритм выполняет реконструкцию пикселей частично восстановленного изображения. Если пиксель был декодирован до LSB, то декодер знает истинное значение пикселя. Если декодирование пикселя остановилось где-то посередине, то декодер знает только диапазон значений, в котором находится значение пикселя.
Например, если первые пять битовых плоскости были декодированы как 10110 и другие 3 битовых плоскости остались неизвестными декодеру, то истинное значение пикселя лежит в диапазоне 10110000~10110111 (в двоичном представлении). В этом случае декодер выбирает для реконструкции среднее значение и устанавливает неизвестные биты в значение 100…0. В вышеприведенном примере реконструированным значением будет 10110100.
На фиг.10 показана примерная система 200 для кодирования и декодирования графического изображения с разреженной гистограммой согласно некоторым вариантам осуществления. Необработанное изображение 202 обрабатывается первым устройством 204, содержащим процессор 206 и кодировщик 208 согласно некоторым вариантам осуществления. Устройства 204 и 214 могут быть персональным компьютером, автоматизированным рабочим местом, сервером, ЭВМ коллективного пользования (суперЭВМ), карманным компьютером, персональным цифровым помощников, сотовым/мобильным телефоном, игровой приставкой, цифровым фотоаппаратом, цифровой видеокамерой, камерофоном, iPod®/iPhone, видеопроигрывателем, устройством воспроизведения/записи DVD, устройством воспроизведения/записи Blu-ray®, телевизором, аудио-, видео и компьютерная системой или другим устройством, содержащим процессор 206 и память или другое средство 209 хранения для хранения модуля 208 кодирования. Необработанное изображение может быть впоследствии закодировано с использованием модуля 208 кодирования, содержащего средство программирования/кодирования (т.е. с помощью алгоритмов/процессов, описанных выше) для формирования файла 210 сжатого изображения. Данный файл может быть отправлен через Интернет 212 или подобную сеть на второе устройство 214. Второе устройство 214 содержит процессор 216, память или устройство 219 хранения и модуль 218 декодирования, который содержит средство программирования/декодирования, выполненные с возможностью чтения данных файла 210 сжатого изображения и его декодирования в соответствии со способами, описанными в данном документе (т.е. алгоритмами/процессами, описанными выше) для генерирования несжатого изображения 220. Необходимо понимать, что оба устройства могут включать в себя модуль 208 кодирования и модуль 218 декодирования, и наоборот, и могут выполнять как операции кодирования,так и декодирования.
Пример 1
В случае типичного 8-битового изображения половина пикселей имеет нулевое значение, а другие пиксели имеют значение 255. Расположение пикселей со значением 0 и 255 является случайным. Теоретически, по меньшей мере, 1 бит на пиксель является необходимым для выполнения сжатия без потерь. Обычные алгоритмы кодирования изображений не могут обеспечить сжатие без потерь, близкое к 1 биту на пиксель (за исключением упаковки гистограмм).
В алгоритме кодирования встраиваемой графики (т.е. в алгоритме 38 кодирования), 1 отправляется в MSB для указания того, что исходная группа была разбита на две группы, и по 1 биту на пиксель отправляются как значения битов каждого пикселя в MSB. В противном случае, отправляется 0 для указания того, что все пиксели группы одинаковые.
Для следующих битовых плоскостей посылается 00 для группы со значением 0 и 01 посылается для группы со значением 255.
Общее количество битов для блока при сжатии без потерь равно
1+n+4×7=n+29
где n соответствует количеству пикселей в блоке.
Средняя скорость передачи битов составляет (1+29/n) битов на пиксель, что близко к теоретическому пределу для рационального размера блока (т.е. когда n=8×8=64).
Алгоритм кодирования также может быть выполнен так, что если группа имеет только 1 или 2 элемента, то 1-битовый сигнал “разделен-или-нет” не отсылается, и биты детализации отсылаются напрямую.
Также, порядок в битовом потоке может быть реорганизован для лучшей встраиваемости. Если группа разбита, отправка ее битов детализации задерживается и алгоритм переходит далее к обработке следующей группы. Существует возможность, что следующая группа не разбита, и, таким образом, один бит может быть использован для представления нескольких битов. Также, если передача потока битов была остановлена на середине битовой плоскости, такой подход обеспечивает лучшее качество реконструкции.
Возможны некоторые видимые паразитные эффекты, если детализация группы остановилась в середине группы. Для избежания данной проблемы декодер может быть выполнен с возможностью отказа от детализации группы, если некоторые из битов детализации текущей группы не были получены.
В качестве альтернативного варианта осуществления, вместо отправки бита “разделен-или-нет” и обработанных битов как необработанных битов, биты могут также быть закодированы с использованием группового кодирования или двоичного арифметического кодирования для дополнительного улучшения эффективности кодирования.
Способы кодирования встраиваемой графики также пригодны в качестве дополнения к обычному кодированию изображений. Кодирование встраиваемой графики может быть совмещено с любым алгоритмом кодирования изображения на основе блоков. В этом случае, 1 бит в потоке битов поможет указать декодеру, что используется EGC-кодирование.
Варианты осуществления были описаны со ссылками на блок-схемы, иллюстрирующие способы и системы согласно некоторым вариантам осуществления. Данные способы и системы также могут быть реализованы как компьютерные программы. В этом случае, каждый блок или шаг блок-схемы, и комбинации блоков (и/или шагов) блок-схемы могут быть выполнены с помощью различных средств: аппаратных, встроенного ПО и/или ПО, включающего в себя одну или более программных команд, находящихся на доступным для чтения компьютером носителе. Должно быть понятно, что любые такие компьютерные программные команды могут быть загружены в компьютер, который может быть, без ограничений, универсальным компьютером, специализированным компьютером или другим программируемым устройством обработки, и такие программные команды, выполняемые компьютером или другим программируемым устройством, создают средство для реализации функций, приведенных в блоке (блоках) блок-схемы (блок-схем).
Соответственно, блоки в блок-схемах поддерживают комбинацию средств для выполнения конкретных функций, комбинацию шагов для выполнения конкретных функций и компьютерные команды, которые содержаться в компьютерном средстве, для выполнения конкретных функций. Также необходимо понимать, что каждый блок в блок-схемах, и комбинация блоков в блок схемах, могут быть реализованы специализированной аппаратной компьютерной системой, которая выполняет указанные функции или шаги, или комбинацией специальной аппаратуры и компьютерных команд.
Кроме того, данные компьютерные команды, встроенные в компьютерный программный код, могут храниться в компьютерной памяти и управляют компьютером или другим программируемым устройством для его функционирования необходимым образом, так что команды, хранящиеся в компьютерной памяти, образуют продукт, включающий в себя программное средство выполнения инструкций, который реализует функции, определенные в блоке (блоках) блок-схемы (блок-схем). Компьютерные программные команды также могут быть загружены на компьютер или другое программируемое устройство, позволяя компьютеру или другому программируемому устройству выполнять последовательность операционных шагов для выполнения компьютерного процесса так, что данные команды, выполняемые компьютером или другим программируемым устройством, являются шагами для реализации функций, определенных в блоке (блоках) блок-схемы (блок-схем).
Для использования EGC для изображений с разреженной гистограммой, пользователь получает видео/изображение, например, цифровой камерой, и в процессе получения видео или после него, или во время отправки видео на другое устройство, например, компьютер, EGC-способ автоматически кодирует каждое изображение видео, так что видео кодируется надлежащим образом для поддержки высокого качества видео. Способ EGC используется автоматически без вмешательства пользователя. Видео также может быть декодировано с использованием аналогичного способа для своего отображения.
При работе способ EGC используют для кодирования и передачи видеоизображений. Каждый блок изображения обрабатывается от MSB до LSB, поэтому результирующая битовая плоскость по-прежнему встроена. Улучшенный способ кодирования может быть использован в любой реализации, включающей в себя, но этим не ограниченной, беспроводным HDMI (WiHD).
Способ для изображений с разреженной гистограммой, описанный здесь, может быть использован для видео и/или изображений, включающих видео высокой четкости.
Видео высокой четкости может быть в любом формате, включающим в себя, но этим не ограниченным, HDCAM, HDCAM-SR, DVCPRO HD, D5 HD, XDCAM HD, HDV и AVCHD.
Некоторые варианты осуществления кодирования встраиваемой графики для изображений с разреженной гистограммой
1. Способ обработки изображения, содержащий этапы, на которых:
разделяют изображение на блоки при помощи первого процессора;
устанавливают ресурс битов для каждого блока;
преобразуют пиксели каждого блока в двоичное представление;
сканируют и кодируют пиксели от самой старшей значащей битовой плоскости до самой младшей значащей битовой плоскости;
генерируют файл сжатого изображения с кодированными пикселями и сохраняют файл сжатого изображения в памяти, соединенной с первым процессором.
2. Способ по п.1, в котором изображение содержит изображение с разреженной гистограммой.
3. Способ по п.1, в котором сканирование и кодирование пикселей каждой битовой плоскости содержит обработку каждой имеющейся группы в битовой плоскости, дополнительно содержащей этапы, на которых:
если все значения пикселей в группе имеют одинаковое значение в текущей битовой плоскости, то в поток битов записывают первый бит со значением 0; и
в поток битов записывают второй бит со значением, обозначающим значение всех пикселей в текущей группе.
4. Способ по п.3, дополнительно содержащий этапы, на которых:
если не все значения пикселей группы в текущей битовой плоскости имеют одинаковое значение, записывают в поток битов первый бит со значением 1, за которым следуют по одному биту для каждого пикселя в текущей битовой плоскости, обозначающему битовое значение данного пикселя в текущей битовой плоскости;
генерируют новую группу; и
разбивают исходную группу на две, оставляя пиксели со значением 0 в исходной группе и помещая пиксели со значением 1 в новую группу.
5. Способ по п.4, дополнительно содержащий этап, на котором декодируют файл сжатого изображения при помощи второго процессора для разуплотнения изображения.
6. Способ по п.5, в котором декодирование файла сжатого изображения содержит этапы, на которых сканируют и декодируют пиксели, начиная от самой старшей значащей битовой плоскости и заканчивая самой младшей значащей битовой плоскостью, и для каждой битовой плоскости:
а. получают количество имеющихся групп;
b. устанавливают текущую группу как первую группу;
с. считывают бит из потока битов;
d. если бит имеет значение 0, то считывают второй бит из потока битов и устанавливают его значение в качестве битового значения всех пикселей группы в текущей битовой плоскости;
е. если бит имеет значение 1, то для каждого пикселя в группе считывают один бит из потока битов и его значение устанавливают как значение бита данного пикселя в текущей битовой плоскости, генерируют новую группу и разбивают новую группу на первую группу и вторую группу, так что пиксели со значением 0 попадают в первую группу, а пиксели со значением 1 попадают во вторую группу; и
f. повторяют этапы с-е до достижения конца текущей битовой плоскости.
7. Способ по п.1, в котором битовый ресурс каждого блока совместно используется блоками.
8. Способ по п.1, в котором первый процессор расположен в устройстве из следующей группы устройств: персональный компьютер, переносной компьютер, автоматизированное рабочее место, сервер, ЭВМ коллективного пользования, карманный компьютер, персональный цифровой помощник, сотовый/мобильный телефон, смартфон, игровая консоль, цифровая камера, цифровая видеокамера, камерофон, iPod®/iPhone, видеопроигрыватель, устройство записи/воспроизведения DVD, устройство записи/воспроизведения Blu-ray®, телевизор и бытовая развлекательная система.
9. Устройство обработки изображения, содержащее;
первый процессор, выполненный с возможностью обработки пикселей изображения; и
программу, используемую в первом процессоре для
разделения изображения на блоки;
установки ресурса битов для каждого блока;
преобразования пикселей каждого блока в двоичное представление;
сканирования и кодирования пикселей от самой старшей значащей битовой плоскости до самой младшей значащей битовой плоскости; и
генерирования файла сжатого изображения с кодированными пикселями.
10. Устройство по п.9, дополнительно содержащее память, соединенную с первым процессором, причем файл сжатого изображения хранится в памяти.
11. Устройство по п.9, в котором программа выполнена с возможностью сканирования и кодирования пикселей в каждой битовой плоскости, содержащего обработку каждой имеющейся группы в битовой плоскости, дополнительно содержащую:
если все значения пикселей в группе имеют одинаковое значение в текущей битовой плоскости, запись в поток битов первого бита со значением 0; и
запись в поток битов второго бита со значением, обозначающим значение всех пикселей в текущей группе.
12. Устройство по п.11, в котором программа дополнительно выполнена с возможностью сканирования и кодирования пикселей, содержащего:
если не все значения пикселей группы в текущей битовой плоскости имеют одинаковое значение, запись в поток битов первого бита со значением 1, за которым следуют по одному биту для каждого пикселя в текущей группе, обозначающему значение бита данного пикселя в текущей битовой плоскости;
генерирование новой группы; и
разбиение исходной группы на две, при этом пиксели со значением 0 остаются в исходной группе, а пиксели со значением 1 помещаются в новую группу.
13. Устройство по п.12, дополнительно содержащее:
вторую программу, выполняемую первым процессором или вторым процессором;
причем вторая программа выполнена с возможностью декодирования файла сжатого изображения в несжатое изображение.
14. Устройство по п.13, в котором декодер дополнительно выполнен с возможностью сканирования и декодирования пикселей от самой старшей значащей битовой плоскости до самой младшей значащей битовой плоскости и с возможностью для каждой битовой плоскости:
а. получения количества имеющихся групп;
b. установки текущей группы как первой группы;
с. считывания бита из потока битов;
d. если бит имеет значение 0, считывания второго бита из потока битов и установки его значения в качестве битового значения всех пикселей группы в текущей битовой плоскости;
е. если бит имеет значение 1, считывания для каждого пикселя в группе одного бита из потока битов и установки его в качестве битового значения данного пикселя в текущей битовой группе, генерирования новой группы и разбиения новой группы на первую группу и вторую группу, так что пиксели со значением 0 попадают в первую группу, а пиксели со значением 1 попадают во вторую группу; и
f. повторение этапов с-е до достижения конца текущей битовой плоскости.
15. Устройство по п.9, в котором ресурс битов каждого блока совместно используется блоками.
16. Устройство по п.9, в котором первый процессор расположен в устройстве, выбираемом из группы устройств: персональный компьютер, переносной компьютер, автоматизированное рабочее место, сервер, ЭВМ коллективного пользования, карманный компьютер, персональный цифровой помощник, сотовый/мобильный телефон, смартфон, игровая консоль, цифровая камера, цифровая видеокамера, камерофон, iPod®/iPhone, видеопроигрыватель, устройство записи/воспроизведения DVD, устройство записи/воспроизведения Blu-ray®, телевизор и бытовая развлекательная система.
17. Устройство для обработки изображения с разреженной гистограммой, содержащее:
первое обрабатывающее средство для обработки пикселей изображения;
кодирующее средство, исполняемое первым обрабатывающим средством для,
разделения изображения на блоки;
установки ресурса битов для каждого блока;
преобразования пикселей каждого блока в двоичное представление;
сканирования и кодирования пикселей от самой значащей битовой плоскости и до самой младшей битовой плоскости; и
генерирования файла сжатого изображения с закодированными пикселями.
18. Устройство по п.17, в котором кодирующее средство выполнено с возможностью сканирования и кодирования пикселей каждой битовой плоскости, которое содержит обработку каждой существующей группы в битовой плоскости, и которое дополнительно содержит:
если все значения пикселей в группе имеют одинаковое значение в текущей битовой плоскости, то запись в поток битов первого бита со значением 0; и
запись в поток битов второго бита со значением, обозначающим значение всех пикселей в текущей группе.
19. Устройство по п.18, в котором кодирующее средство выполнено возможностью сканирования и кодирования пикселей посредством:
если не все значения пикселей группы для текущей битовой плоскости имеют одинаковое значение, записи в поток битов первого бита со значением 1, за которым следом записывают по одному биту для каждого пикселя в текущей битовой плоскости, обозначающего битовое значение данного пикселя в текущей битовой плоскости;
генерирования новой группы; и
разбиения исходной группы на две, и пиксели со значением 0 остаются в исходной группе, а пиксели со значением 1 помещаются в новой группе.
20. Устройство по п.19, дополнительно содержащее:
средство декодирования, выполняемое первым обрабатывающим средством, или вторым обрабатывающим средством, подключенным к первому обрабатывающему средству; и
средство декодирования выполнено с возможностью декодирования файла сжатого изображения в несжатое изображение.
21. Устройство по п.20, в котором средство декодирования содержит декодер, выполненный с возможностью декодирования файла сжатого изображения сканированием и декодированием пикселей от самой значащей битовой плоскости и заканчивая самой младшей битовой плоскостью, и для каждой битовой плоскости:
а. получают количество существующих групп;
b. устанавливают текущую группу как первую группу;
с. считывают бит из потока битов;
d. если бит имеет значение 0, то считывают второй бит из потока битов и используют его значение для установки значения всех битов группы в текущей битовой плоскости;
е. если бит имеет значение 1, то для каждого пикселя в группе последовательно считывают один бит из потока битов и устанавливают его как значение бита данного пикселя в текущей битовой группе, генерируют новую группу и новую группу разбивают на первую группу и вторую группу, так что пиксели со значением 0 попадают в первую группу, а пиксели со значением 1 попадают во вторую группу; и
f. повторение этапов с-е до достижения конца текущей битовой плоскости.
22. Устройство по п.17, в котором ресурс битов каждого блока совместно используется блоками.
23. Устройство по п.17, в котором первый процессор расположен в устройстве, выбираемом из группы устройств: персональный компьютер, переносной компьютер, автоматизированное рабочее место, сервер, ЭВМ коллективного пользования, карманный компьютер, персональный цифровой помощник, сотовый/мобильный телефон, смартфон, игровая консоль, цифровая камера, цифровая видеокамера, камерофон, IPod®/iPhone, видеопроигрыватель, устройство записи/воспроизведения DVD, устройство записи/воспроизведения Blu-ray®, телевизор и бытовая развлекательная система.
24. Устройство обработки изображения с разреженной гистограммой, содержащее:
первый процессор для обработки пикселей изображения; и
программу, выполняемую первым процессором для,
разделения изображения на блоки;
установки ресурса битов для каждого блока;
преобразования пикселей каждого блока в двоичное представление;
сканирования и кодирования пикселей от самой значащей битовой плоскости и до самой младшей битовой плоскости; и
генерирования файла сжатого изображения с закодированными пикселями.
25. Устройство по п.24, в котором кодировщик выполнен с возможностью сканирования и кодирования пикселей, включающего в себя:
запись в поток битов значения первого бита, обозначающего, что все биты имеют одинаковые значения, если все значения пикселей имеют одинаковое значение; и
запись в поток битов второго бита со значением, обозначающим значение всех пикселей в текущей группе.
26. Устройство по п.25, в котором кодировщик выполнен с возможностью сканирования и кодирования пикселей каждой битовой плоскости, содержащий обработку существующей группы в битовой плоскости, дополнительно содержит:
если значения пикселей в группе все имеют одинаковое значение в текущей битовой плоскости, то в поток битов записывают значение 0;
второй бит, записываемый в поток битов, имеет значение, обозначающее значение всех пикселей в текущей группе;
если не все значения пикселей в группе имеют одинаковое значение в текущей битовой плоскости, то в битовый поток записывают значение 1, за которым следует последовательность битов, состоящая из одного бита для каждого пикселя текущей группы, обозначающая значение бита данного пикселя в текущей битовой плоскости;
генерирование новой группы; и
разбиение исходной группы на две, где пиксели со значением 0 расположены в исходной группе и пиксели со значением 1 расположены в новой группе.
27. Устройство по п.26, дополнительно содержащее:
декодер, исполняемый первым средством обработки или вторым средством обработки, подключенным к первому средству обработки; и
данный декодер выполнен с возможностью декодирования файла сжатого изображения в несжатое изображение.
28. Устройство по п.27, в котором декодер выполнен с возможностью декодирования файла сжатого изображения сканированием и декодированием пикселей от самой значащей битовой плоскости и заканчивая самой младшей битовой плоскостью, и для каждой битовой плоскости:
а. получают количество существующих групп;
b. устанавливают текущую группу как первую группу;
с. считывают бит из потока битов;
d. если бит имеет значение 0, то считывает второй бит из потока битов и используют его значение для установки значения всех битов группы в текущей битовой плоскости;
е. если бит имеет значение 1, то для каждого пикселя в группе считывают один бит из потока битов и устанавливают его как битовое значение данного пикселя в текущей битовой группе, генерируют новую группу и новую группу разбивают на первую группу и вторую группу, так что пиксели со значением 0 попадают в первую группу, а пиксели со значением 1 попадают во вторую группу; и
f. повторение этапов с-е до достижения конца текущей битовой плоскости.
29. Устройство по п.24, в котором ресурс битов каждого блока совместно используется блоками.
30. Устройство по п.24, в котором устройство является одним из следующей группы устройств: персональным компьютером, переносным компьютером, автоматизированным рабочим местом, серверов, ЭВМ коллективного пользования, карманным компьютером, персональным цифровым помощником, сотовым/мобильным телефоном, смартфоном, игровой консолью, цифровой камерой, цифровой видеокамерой, камерофоном, iPod®/iPhone, видеопроигрывателем, устройством записи/воспроизведения DVD, устройством записи/воспроизведения Blu-ray®, телевизором и бытовой развлекательной системой.
31. Сеть устройств, содержащая:
а. устройство кодирования для кодирования изображения, содержащее:
i. разделение изображения на блоки;
ii. установку ресурса битов для каждого блока;
iii. преобразование пикселей каждого блока в двоичное представление;
iv. сканирование и кодирование пикселей от самой значащей битовой плоскости и до самой младшей битовой плоскости; и
v. генерирования файла сжатого изображения с закодированными пикселями; и
b. устройство декодирования для декодирования файла сжатого изображения, содержащее сканирование и декодирование пикселей, начиная с самой значащей битовой плоскости и заканчивая самой младшей битовой плоскостью, и для каждой плоскости выполняются шаги по:
i. получению числа существующих групп;
ii. установки текущей группы как первой группы;
iii. чтения бита из потока битов;
iv. если бит имеет значение 0, то считывают второй бит из потока битов и его значение используют для установки значения всех битов группы в текущей битовой плоскости;
v. если бит имеет значение 1, то для каждого пикселя в группе считывают один бит из потока битов и устанавливает его как значение бита данного пикселя в текущей битовой группе, генерируют новую группу и новую группу разбивают на первую группу и вторую группу, так что пиксели со значением 0 попадают в первую группу, а пиксели со значением 1 попадают во вторую группу; и
vi. повторение шагов iii-v до достижения конца текущей битовой плоскости.
32. Устройство по п.31, в котором устройство кодирования выполнено с возможностью сканирования и кодирования пикселей каждой битовой плоскости, содержащее обработку каждой существующей группы в битовой плоскости, которое дополнительно содержит:
если значения пикселей в группе все имеют одинаковое значение в текущей битовой плоскости, то в битовый поток записывают значение 0;
второй бит, записываемый в битовый поток, имеет значение, обозначающее значение всех пикселей в текущей группе;
33. Устройство по п.32, в котором устройство кодирования, выполненное с возможностью сканирования и кодирования пикселей, содержит:
если значения пикселей в группе не все имеют одинаковое значение в текущей битовой плоскости, то в поток битов записывают значение 1, за которым следует последовательность битов, состоящая из одного бита для каждого пикселя текущей группы, обозначающая значение бита данного пикселя в текущей битовой плоскости;
генерирование новой группы; и
разбиение исходной группы на две, где пиксели со значением 0 расположены в исходной группе и пиксели со значением 1 расположены в новой группе.
34. Устройство по п.33, в котором ресурс битов каждого блока совместно используется блоками.
Настоящее изобретение было описано на основе конкретных вариантов осуществления, включающих подробности для облегчения понимания принципов работы и структуры изобретения. Такая ссылка на приведенные здесь конкретные варианты осуществления не означает ограничение объема приложенной к этому документу формулы изобретения. Специалистам в данной области техники должно быть очевидно, что возможны различные модификации вариантов осуществления, выбранных для иллюстрации, без отклонения от идеи и объема изобретения, определяемого формулой изобретения.

Claims (13)

1. Способ обработки изображения, содержащий этапы, на которых: разделяют изображение на блоки;
устанавливают ресурс битов для каждого блока;
преобразуют пиксели каждого блока в двоичное представление;
сканируют и кодируют пиксели от самой старшей значащей битовой плоскости до самой младшей значащей битовой плоскости, при этом
если все значения пикселей в группе имеют одинаковое значение в текущей битовой плоскости, то в поток битов записывают первый бит со значением 0 и в поток битов записывают второй бит со значением, обозначающим значение всех пикселей в текущей группе; и
генерируют файл сжатого изображения с кодированными пикселями и сохраняют файл сжатого изображения в памяти.
2. Способ по п.1, в котором изображение содержит изображение с разреженной гистограммой.
3. Способ по п.1, дополнительно содержащий этапы, на которых:
если не все значения пикселей в группе имеют одинаковое значение в текущей битовой плоскости, записывают в поток битов первый бит со значением 1, за которым следуют по одному биту для каждого пикселя в текущей битовой плоскости, обозначающему битовое значение данного пикселя в текущей битовой плоскости;
генерируют новую группу; и
разбивают исходную группу на две, оставляя пиксели со значением 0 в исходной группе и помещая пиксели со значением 1 в новую группу.
4. Способ по п.3, дополнительно содержащий этап, на котором декодируют файл сжатого изображения для разуплотнения изображения.
5. Способ по п.4, в котором декодирование файла сжатого изображения содержит этапы, на которых сканируют и декодируют пиксели, начиная от самой старшей значащей битовой плоскости и заканчивая самой младшей значащей битовой плоскостью, и для каждой битовой плоскости:
a. получают количество имеющихся групп;
b. устанавливают текущую группу как первую группу;
c. считывают бит из потока битов;
d. если бит имеет значение 0, то считывают второй бит из потока битов и устанавливают его значение в качестве битового значения всех пикселей группы в текущей битовой плоскости;
e. если бит имеет значение 1, то для каждого пикселя в группе считывают один бит из потока битов и его значение устанавливают как значение бита данного пикселя в текущей битовой плоскости, генерируют новую группу и разбивают новую группу на первую группу и вторую группу, так что пиксели со значением 0 попадают в первую группу, а пиксели со значением 1 попадают во вторую группу; и
f. повторяют этапы с-е до достижения конца текущей битовой плоскости.
6. Способ по п.1, в котором битовый ресурс каждого блока совместно используется блоками.
7. Устройство обработки изображения, содержащее:
первый процессор, выполненный с возможностью обработки пикселей изображения; и
программу, используемую в первом процессоре для
разделения изображения на блоки;
установки ресурса битов для каждого блока;
преобразования пикселей каждого блока в двоичное представление;
сканирования и кодирования пикселей от самой старшей значащей битовой плоскости до самой младшей значащей битовой плоскости, при этом если все значения пикселей в группе имеют одинаковое значение в текущей битовой плоскости, то в поток битов осуществляется запись первого бита со значением 0 и
в поток битов осуществляется запись второго бита со значением, обозначающим значение всех пикселей в текущей группе; и
генерирования файла сжатого изображения с кодированными пикселями.
8. Устройство по п.7, дополнительно содержащее память, соединенную с первым процессором, причем файл сжатого изображения хранится в памяти.
9. Устройство по п.7, в котором программа выполнена с возможностью сканирования и кодирования пикселей, причем сканирование и кодирование пикселей дополнительно содержит:
если не все значения пикселей группы в текущей битовой плоскости имеют одинаковое значение, запись в поток битов первого бита со значением 1, за которым следуют по одному биту для каждого пикселя в текущей группе, обозначающему значение бита данного пикселя в текущей битовой плоскости;
генерирование новой группы; и
разбиение исходной группы на две, при этом пиксели со значением 0 остаются в исходной группе, а пиксели со значением 1 помещаются в новую группу.
10. Устройство по п.9, дополнительно содержащее:
вторую программу, выполняемую первым процессором или вторым процессором;
причем вторая программа выполнена с возможностью декодирования файла сжатого изображения в несжатое изображение.
11. Устройство по п.10, в котором декодер дополнительно выполнен с возможностью сканирования и декодирования пикселей от самой старшей значащей битовой плоскости до самой младшей значащей битовой плоскости и с возможностью для каждой битовой плоскости:
a. получения количества имеющихся групп;
b. установки текущей группы как первой группы;
c. считывания бита из потока битов;
d. если бит имеет значение 0, считывания второго бита из потока битов и установки его значения в качестве битового значения всех пикселей группы в текущей битовой плоскости;
e. если бит имеет значение 1, считывания для каждого пикселя в группе одного бита из потока битов и установки его в качестве битового значения данного пикселя в текущей битовой группе, генерирования новой группы и разбиения новой группы на первую группу и вторую группу, так что пиксели со значением 0 попадают в первую группу, а пиксели со значением 1 попадают во вторую группу; и
f. повторение этапов с-е до достижения конца текущей битовой плоскости.
12. Устройство по п.7, в котором ресурс битов каждого блока совместно используется блоками.
13. Устройство по п.7, в котором программа выполнена с возможностью сканирования и кодирования пикселей, при этом сканирование и кодирование пикселей дополнительно содержит:
a. запись в поток битов значения первого бита, обозначающего, что все биты имеют одинаковые значения, если все значения пикселей имеют одинаковое значение; и
b. запись в поток битов значения второго бита, обозначающего значение всех пикселей в текущей группе.
при этом программа выполнена с возможностью сканирования и кодирования пикселей каждой битовой плоскости, содержащих обработку каждой имеющейся группы в битовой плоскости, дополнительно содержащую:
c. если все значения пикселей в группе имеют одинаковое значение в текущей битовой плоскости, запись в поток битов первого бита со значением 0; и
d. запись в поток битов второго бита со значением, обозначающим значение всех пикселей в текущей группе;
e. если не все значения пикселей группы в текущей битовой плоскости имеют одинаковое значение, запись в поток битов первого бита со значением 1, за которым следуют по одному биту для каждого пикселя в текущей битовой плоскости, обозначающему битовое значение данного пикселя в текущей битовой плоскости;
f. генерирование новой группы;
g. разбиение исходной группы на две, так что пиксели со значением 0 остаются в исходной группе, а пиксели со значением 1 помещаются в новую группу;
при этом программа дополнительно содержит:
h. декодер, исполняемый в первом средстве обработки или втором средстве обработки, соединенным с первым средством обработки; причем
i. декодер выполнен с возможностью декодирования файла сжатого изображения для разуплотнения изображения,
при этом декодер выполнен с возможностью декодирования файла сжатого изображения посредством сканирования и декодирования пикселей от самой старшей значащей битовой плоскости до самой младшей значащей битовой плоскости и с возможностью для каждой битовой плоскости:
j. получения количества имеющихся групп;
k. установки текущей группы как первой группы;
l. считывания бита из потока битов;
m. если бит имеет значение 0, считывания второго бита из потока битов и установки его значения в качестве битового значения всех пикселей группы в текущей битовой плоскости;
n. если бит имеет значение 1, считывания для каждого пикселя в группе одного бита из потока битов и установки его в качестве битового значения данного пикселя в текущей битовой группе, генерирования новой группы и разбиения новой группы на первую группу и вторую группу, так что пиксели со значением 0 попадают в первую группу, а пиксели со значением 1 попадают во вторую группу; и
o. повторения этапов 1-n до достижения конца текущей битовой плоскости.
RU2011141592/07A 2009-06-09 2010-06-08 Кодирование встраиваемой графики для изображений с разреженными гистограммами RU2503138C2 (ru)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US18555709P 2009-06-09 2009-06-09
US61/185,557 2009-06-09
US12/795,210 US8457425B2 (en) 2009-06-09 2010-06-07 Embedded graphics coding for images with sparse histograms
US12/795,210 2010-06-07
PCT/US2010/037827 WO2010144491A2 (en) 2009-06-09 2010-06-08 Embedded graphics coding for images with sparse histograms

Publications (2)

Publication Number Publication Date
RU2011141592A RU2011141592A (ru) 2013-04-20
RU2503138C2 true RU2503138C2 (ru) 2013-12-27

Family

ID=43300798

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2011141592/07A RU2503138C2 (ru) 2009-06-09 2010-06-08 Кодирование встраиваемой графики для изображений с разреженными гистограммами

Country Status (6)

Country Link
US (2) US8457425B2 (ru)
KR (1) KR101266577B1 (ru)
CN (1) CN102396219B (ru)
BR (1) BRPI1014218B1 (ru)
RU (1) RU2503138C2 (ru)
WO (1) WO2010144491A2 (ru)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101346942B1 (ko) * 2009-09-02 2014-01-03 소니 주식회사 벡터 임베디드 그래픽 코딩
CN102474565B (zh) * 2009-09-09 2016-03-30 索尼公司 在无线hd1.1中用于图形模式压缩的比特流语法
CN104093027B (zh) * 2009-10-14 2017-10-13 索尼公司 用于彩色图像的联合标量嵌入式图形编码
US8526745B2 (en) * 2009-12-03 2013-09-03 Sony Corporation Embedded graphics coding: reordered bitstream for parallel decoding
JP5429057B2 (ja) * 2010-06-03 2014-02-26 セイコーエプソン株式会社 噴射用液体乾燥抑制装置、液体噴射装置、および噴射用液体乾燥抑制方法
GB2483502B (en) 2010-09-10 2014-05-07 Imagination Tech Ltd Random accessible lossless parameter data compression for title based 3D computer graphics system
CN103428485A (zh) * 2012-05-24 2013-12-04 富士通株式会社 图像编码方法及图像解码方法
WO2014111136A1 (en) * 2013-01-16 2014-07-24 Huawei Technologies Co., Ltd. Context based histogram map coding for visual search
US9307248B2 (en) 2013-03-08 2016-04-05 Mediatek Inc. Image encoding method and apparatus for performing bit-plane scanning coding upon pixel data and related image decoding method and apparatus
US9767529B1 (en) * 2013-12-18 2017-09-19 Mediatek Inc. Method and apparatus for accessing compressed data and/or uncompressed data of image frame in frame buffer
WO2015192779A1 (en) * 2014-06-20 2015-12-23 Mediatek Inc. Method and apparatus of binarization and context-adaptive coding for syntax in video coding
CN107211136B (zh) * 2015-01-30 2019-10-29 联发科技股份有限公司 具有大字母表的源样本的熵编码与熵解码的方法
CN106027545B (zh) * 2016-06-27 2019-02-19 西安空间无线电技术研究所 一种基于虚拟数据的鲁棒信息隐藏方法
GB2568038B (en) 2017-10-30 2020-12-02 Imagination Tech Ltd Systems and methods for processing a stream of data values
GB2567881B (en) 2017-10-30 2021-02-10 Imagination Tech Ltd Systems and methods for processing a stream of data values
GB2568039B (en) * 2017-10-30 2020-10-28 Imagination Tech Ltd Systems and methods for processing a stream of data values
WO2019119295A1 (zh) * 2017-12-20 2019-06-27 深圳市大疆创新科技有限公司 图像融合的方法、装置与无人机
CN110324615A (zh) * 2018-03-30 2019-10-11 华为技术有限公司 一种码率分配方法及装置
US10939107B2 (en) 2019-03-01 2021-03-02 Sony Corporation Embedded codec circuitry for sub-block based allocation of refinement bits
CN110943744B (zh) * 2019-12-03 2022-12-02 嘉楠明芯(北京)科技有限公司 数据压缩、解压缩以及基于数据压缩和解压缩的处理方法及装置
CN116402571B (zh) * 2023-03-14 2024-04-26 上海峰沄网络科技有限公司 预算数据的处理方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0618727A1 (en) * 1992-10-15 1994-10-05 Sony Corporation Encoder and decoder
RU2119727C1 (ru) * 1993-03-01 1998-09-27 Сони Корпорейшн Способы и устройства обработки набора коэффициентов преобразования, способы и устройства обратного ортогонального преобразования набора коэффициентов преобразования, способы и устройства для уплотнения и расширения сигнала движущегося изображения, носитель записи уплотненного сигнала, представляющего движущееся изображение
US20050074062A1 (en) * 2003-10-06 2005-04-07 Sung Chih-Ta Star Fast DCT method and apparatus for digital video compression
US6909811B1 (en) * 1998-03-06 2005-06-21 Canon Kabushiki Kaisha Image processing apparatus and method and storage medium storing steps realizing such method
US20070110151A1 (en) * 2005-11-14 2007-05-17 Ess Technology, Inc. System and method for video frame buffer compression
US20080101464A1 (en) * 2006-10-27 2008-05-01 Shawmin Lei Methods and Systems for Low-Complexity Data Compression
WO2008111511A1 (ja) * 2007-03-14 2008-09-18 Nippon Telegraph And Telephone Corporation 符号量推定方法、装置、そのプログラムおよび記録媒体
RU2354073C2 (ru) * 2002-01-22 2009-04-27 Нокиа Корпорейшн Кодирование коэффициентов преобразования в кодерах и/или декодерах изображения и видеоданных

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4546385A (en) 1983-06-30 1985-10-08 International Business Machines Corporation Data compression method for graphics images
US5850261A (en) 1992-10-15 1998-12-15 Sony Corporation Efficient variable length encoder and decoder
GB9422738D0 (en) 1994-11-10 1995-01-04 Univ Western Ontario Context-based, adaptive, progressive, lossless compression of still continuous -tone images
KR960036647A (ko) * 1995-03-20 1996-10-28 배순훈 스캐닝을 이용한 비트플랜 압축전송장치
US6052205A (en) * 1997-02-14 2000-04-18 Ricoh Company, Ltd. Image data encoding/decoding method and apparatus configured to compress both natural gray scale images and binary images
JP3284932B2 (ja) * 1997-08-05 2002-05-27 松下電器産業株式会社 画像処理装置
US6091777A (en) 1997-09-18 2000-07-18 Cubic Video Technologies, Inc. Continuously adaptive digital video compression system and method for a web streamer
US6272180B1 (en) 1997-11-21 2001-08-07 Sharp Laboratories Of America, Inc. Compression and decompression of reference frames in a video decoder
US6256415B1 (en) 1998-06-10 2001-07-03 Seiko Epson Corporation Two row buffer image compression (TROBIC)
CA2261833A1 (en) 1999-02-15 2000-08-15 Xue Dong Yang Method and system of region-based image coding with dynamic streaming of code blocks
FI116819B (fi) 2000-01-21 2006-02-28 Nokia Corp Menetelmä kuvien lähettämiseksi ja kuvakooderi
US6567081B1 (en) 2000-01-21 2003-05-20 Microsoft Corporation Methods and arrangements for compressing image-based rendering (IBR) data using alignment and 3D wavelet transform techniques
US6549674B1 (en) * 2000-10-12 2003-04-15 Picsurf, Inc. Image compression based on tiled wavelet-like transform using edge and non-edge filters
US6985632B2 (en) * 2000-04-17 2006-01-10 Canon Kabushiki Kaisha Image processing system, image processing apparatus, and image processing method
US6654503B1 (en) 2000-04-28 2003-11-25 Sun Microsystems, Inc. Block-based, adaptive, lossless image coder
US6501397B1 (en) 2000-05-25 2002-12-31 Koninklijke Philips Electronics N.V. Bit-plane dependent signal compression
US7085424B2 (en) 2000-06-06 2006-08-01 Kobushiki Kaisha Office Noa Method and system for compressing motion image information
US6898323B2 (en) 2001-02-15 2005-05-24 Ricoh Company, Ltd. Memory usage scheme for performing wavelet processing
KR100322485B1 (ko) 2001-07-05 2002-02-07 이동욱 다중채널 영상신호 부호화 장치 및 그 방법
JP2003032496A (ja) * 2001-07-12 2003-01-31 Sanyo Electric Co Ltd 画像符号化装置および方法
US7194140B2 (en) 2001-11-05 2007-03-20 Canon Kabushiki Kaisha Image processing apparatus and method which compresses image data of each region using a selected encoding method
JP4033836B2 (ja) * 2002-02-01 2008-01-16 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 可変長カラー・コードを用いる、パレット化されたカラー画像の圧縮
US7117423B2 (en) 2002-04-24 2006-10-03 Georgia Tech Research Corp. Methods and systems for multiple substream unequal error protection and error concealment
WO2003092296A1 (en) 2002-04-26 2003-11-06 Nec Corporation Moving picture data code conversion/transmission method and device, code conversion/reception method and device
JP4003628B2 (ja) 2002-12-02 2007-11-07 ソニー株式会社 画像符号化装置及び方法、並びにプログラム
JP2004248152A (ja) * 2003-02-17 2004-09-02 Ricoh Co Ltd 画像圧縮装置、画像伸張装置、画像圧縮方法、画像伸張方法、プログラム、及び記録媒体
WO2004092888A2 (en) 2003-04-07 2004-10-28 Modulus Video, Inc. Scalable array encoding system and method
JP4081758B2 (ja) 2003-05-08 2008-04-30 ソニー株式会社 処理ビットモデルブロック、処理ビットモデル化方法、符号化装置、シンボルモデルブロック、シンボルモデル化方法、復号化装置、及び画像処理装置
US20080159640A1 (en) * 2003-11-06 2008-07-03 Chaoqiang Liu Document Image Encoding Decoding
DE602004017689D1 (de) 2003-11-21 2008-12-24 Samsung Electronics Co Ltd Vorrichtung und Methode zur Erzeugung von kodierten Blockanordnungen für ein Alpha-Kanalbild sowie Alpha-Kanalkodierungs und -dekodierungsvorrichtung und -methode.
KR100654431B1 (ko) 2004-03-08 2006-12-06 삼성전자주식회사 가변 gop 사이즈를 갖는 스케일러블 비디오 코딩방법및 이를 위한 스케일러블 비디오 인코더
US20060044576A1 (en) * 2004-07-30 2006-03-02 Kabushiki Kaisha Toshiba Apparatus for image processing
US7689051B2 (en) 2004-04-15 2010-03-30 Microsoft Corporation Predictive lossless coding of images and video
US20050276493A1 (en) 2004-06-01 2005-12-15 Jun Xin Selecting macroblock coding modes for video encoding
US20050265459A1 (en) 2004-06-01 2005-12-01 Bhattacharjya Anoop K Fixed budget frame buffer compression using block-adaptive spatio-temporal dispersed dither
US20060133494A1 (en) 2004-12-17 2006-06-22 Rahul Saxena Image decoder with context-based parameter buffer
EP1872590B1 (en) 2005-04-19 2014-10-22 Telecom Italia S.p.A. Method and apparatus for digital image coding
US7505624B2 (en) 2005-05-27 2009-03-17 Ati Technologies Ulc Block-based image compression method and apparatus
JP2007020010A (ja) 2005-07-08 2007-01-25 Fuji Xerox Co Ltd 画像符号化装置及び画像復号化装置、画像符号化方法及び画像復号化方法
JP4745865B2 (ja) 2006-02-28 2011-08-10 富士通セミコンダクター株式会社 符号化装置および方法
JP2008048240A (ja) 2006-08-18 2008-02-28 Nec Electronics Corp ビットプレーン復号装置およびビットプレーン復号方法
US8107743B2 (en) * 2007-03-30 2012-01-31 Sharp Kabushiki Kaisha Image processing device, image processing method, and storage medium
EP1978749B1 (en) 2007-04-06 2017-08-30 Canon Kabushiki Kaisha Compression of multidimensional look-up tables for colour space conversion
US7920741B2 (en) * 2007-05-31 2011-04-05 Adobe Systems Incorporated System and method for image processing using integral histogram convolution
US8698917B2 (en) 2007-06-04 2014-04-15 Nvidia Corporation Reducing computational complexity in determining an illuminant of a scene
EP2081155B1 (en) 2008-01-21 2011-11-16 Telefonaktiebolaget LM Ericsson (publ) Prediction-based image processing
US8031959B2 (en) * 2008-02-22 2011-10-04 Himax Technologies Limited Compression system for a bit-plane
JP5359302B2 (ja) 2008-03-18 2013-12-04 ソニー株式会社 情報処理装置および方法、並びにプログラム
US8275208B2 (en) * 2008-07-02 2012-09-25 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image using image separation based on bit location
US8285062B2 (en) * 2009-08-05 2012-10-09 Sony Corporation Method for improving the performance of embedded graphics coding

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0618727A1 (en) * 1992-10-15 1994-10-05 Sony Corporation Encoder and decoder
RU2119727C1 (ru) * 1993-03-01 1998-09-27 Сони Корпорейшн Способы и устройства обработки набора коэффициентов преобразования, способы и устройства обратного ортогонального преобразования набора коэффициентов преобразования, способы и устройства для уплотнения и расширения сигнала движущегося изображения, носитель записи уплотненного сигнала, представляющего движущееся изображение
US6909811B1 (en) * 1998-03-06 2005-06-21 Canon Kabushiki Kaisha Image processing apparatus and method and storage medium storing steps realizing such method
RU2354073C2 (ru) * 2002-01-22 2009-04-27 Нокиа Корпорейшн Кодирование коэффициентов преобразования в кодерах и/или декодерах изображения и видеоданных
US20050074062A1 (en) * 2003-10-06 2005-04-07 Sung Chih-Ta Star Fast DCT method and apparatus for digital video compression
US20070110151A1 (en) * 2005-11-14 2007-05-17 Ess Technology, Inc. System and method for video frame buffer compression
US20080101464A1 (en) * 2006-10-27 2008-05-01 Shawmin Lei Methods and Systems for Low-Complexity Data Compression
WO2008111511A1 (ja) * 2007-03-14 2008-09-18 Nippon Telegraph And Telephone Corporation 符号量推定方法、装置、そのプログラムおよび記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHIMA M., Modified VLC for refinement pass, JOINT VIDEO TEAM (JVT) OF ISO/IEC MPEG & ITU-T VCEG, JVT-S031, 19th Meeting: Geneva, 31 March - 7 April 2006. *

Also Published As

Publication number Publication date
US20130236097A1 (en) 2013-09-12
BRPI1014218B1 (pt) 2021-04-13
KR20120013324A (ko) 2012-02-14
US8457425B2 (en) 2013-06-04
KR101266577B1 (ko) 2013-05-23
CN102396219A (zh) 2012-03-28
BRPI1014218A2 (pt) 2016-04-12
CN102396219B (zh) 2015-04-08
US20100310169A1 (en) 2010-12-09
RU2011141592A (ru) 2013-04-20
WO2010144491A2 (en) 2010-12-16
WO2010144491A3 (en) 2011-02-24

Similar Documents

Publication Publication Date Title
RU2503138C2 (ru) Кодирование встраиваемой графики для изображений с разреженными гистограммами
US11140401B2 (en) Coded-block-flag coding and derivation
US8285062B2 (en) Method for improving the performance of embedded graphics coding
US11451827B2 (en) Non-transform coding
TWI590662B (zh) 解碼器及解碼方法
US8254700B1 (en) Optimized method and system for entropy coding
US8989275B2 (en) Video processing architecture
US10595033B2 (en) Variable length coding of header data for image compression
US10536697B2 (en) Method for re-encoding image and apparatus therefor
CN107172425B (zh) 缩略图生成方法、装置及终端设备
KR20200107745A (ko) 임베디드 이미지 코덱을 위한 서브-블록 기반 엔트로피 코딩
US8260070B1 (en) Method and system to generate a compressed image utilizing custom probability tables