УПРАВЛЕНИЕ СКОРОСТЬЮ МАСШТАБИРУЕМО КОДИРОВАННЫХ ИЗОБРАЖЕНИЙ
CONTROLLING SPEED OF SCALABLE CODED IMAGES

Область техники, к которой относится изобретение
Изобретение в целом относится к способу управления скоростью для масштабируемо кодированных изображений и, более конкретно, к управлению скоростью, которое удовлетворяет заданным требованиям для подмножеств данных изображения.
Описание предшествующего уровня техники
За последние несколько десятилетий кодирование по частотным диапазонам или вейвлет-кодирование подтвердило, что является эффективным способом сжатия изображений. Конкретную важность представляет новый стандарт сжатия изображения JPEG2000, описанный в рекомендациях сектора телекоммуникаций Международного союза (ITU-T) электросвязи ITU-T Rec. T.800/ISO/IEC 15444-1:2004 JPEG 2000 Image Coding System (Система кодирования изображений JPEG 2000), которые тем самым полностью включены в настоящий документ путем ссылки. Подобно другим стандартам сжатия, стандарт JPEG2000 определяет декодер и ассоциированный синтаксис кодового потока. Стандарт не предписывает действия кодера, поскольку генерируемый кодовый поток подчиняется заданному синтаксису кодового потока и может быть декодирован посредством соответствующего декодера. Это дает возможность разработки приспосабливаемого кодера. См. публикации "JPEG2000 Image Coding System," 2004 и D.S. Taubman и M.W. Marcellin, JPEG2000: Image Compression Fundamentals, Practice and Standards (JPEG2000: основные принципы, практика и стандарты сжатия изображений), изданные в Kluwer Academic Publishers,Boston, 2002", которые тем самым являются полностью включенными в настоящий документ путем ссылки.
На фиг.1 иллюстрируется типичный JPEG2000-кодер 10, используемый для кодирования изображения 11. Каждое изображение (в необязательном порядке) разбивается на неперекрывающиеся прямоугольные области-клетки 12. Области-клетки дают возможность произвольного доступа в пространстве и ограничивают требования к запоминающему устройству при реализации. Затем может использоваться необязательное преобразование 14 компонент, чтобы повышать эффективность сжатия. Например, если изображение состоит из цветовых компонент «красная», «зеленая» и «синяя», применение преобразования цветов может улучшить рабочие характеристики сжатия. Каждая (преобразованная) цветовая компонента области-клетки далее именуется как компонента-область. Применение вейвлет-преобразования 16 к каждой компоненте-области формирует множество коэффициентов преобразования, организованных в частотных диапазонах для каждой компоненты-области. Коэффициенты преобразования для каждого частотного диапазона затем разделяются на прямоугольные блоки, именуемые подлежащими кодированию блоками 18 коэффициентов. Каждый подлежащий кодированию блок коэффициентов затем кодируется независимо посредством кодера 19 блоков коэффициентов.
Для данного блока коэффициентов осуществление его кодирования начинается путем квантования его коэффициентов, чтобы получить индексы квантования. Эти индексы квантования могут рассматриваться в виде массива целых чисел со знаком. Когда применяют обратимые вейвлет-преобразования, квантование не является строго требуемым, поскольку вейвлет-коэффициенты уже являются целыми числами. Такой массив целых чисел со знаком может быть представлен с использованием массива знаков и массива величин. Массив знаков можно рассматривать в виде двоичного массива, где значение массива в каждой точке указывает, является ли индекс квантования положительным или отрицательным. Массив величин может быть разделен на ряд двоичных массивов с одним битом из индекса показателя квантования. Первый из этих массивов соответствует старшим значащим битам (MSB) показателей квантования, и последний соответствует младшим значащим битам (LSB). Каждый такой массив называют битовой плоскостью. Каждую битовую плоскость блока коэффициентов затем энтропийно кодируют с использованием кодера битовой плоскости. Используемый в JPEG2000 кодер битовой плоскости является контекстно-зависимым, двоичным, арифметическим кодером. Кодер битовой плоскости выполняет три прохода по каждой битовой плоскости блока коэффициентов. Эти проходы называют кодовыми проходами. Каждый бит в битовой плоскости кодируется в одном из этих кодовых проходов. Результирующие сжатые данные называют сжатыми кодовыми проходами.
Кодер блока коэффициентов вычисляет также величину уменьшения искажения (среднеквадратическую ошибку), обеспечиваемую каждым сжатым кодовым проходом, вместе с длиной сжатого кодового прохода. С наличием этой информации является возможным задать отношение уменьшения искажения по длине сжатого кодового прохода в виде показателя наклона, соответствующего интенсивности искажений, сжатого кодового прохода. Показатель наклона, соответствующего интенсивности искажений, и для сжатого кодового прохода является приходящейся на один байт величиной уменьшения искажения, обеспечиваемой сжатым кодовым проходом. Таким образом, сжатый кодовый проход с более высоким показателем наклона, соответствующего интенсивности искажений может рассматриваться более важным, чем таковой с меньшим показателем наклона, соответствующего интенсивности искажений. Кодер 19 блоков коэффициентов подает сжатые кодовые проходы 20, их длины 22 и показатели 21 наклона, соответствующего интенсивности искажений, на блок 23 генерации кодового потока, который принимает решение, какой из сжатых кодовых проходов 20 из каждого блока 18 коэффициентов будет включен в состав кодового потока. Блок генерации кодового потока включает в состав кодового потока сжатые кодовые проходы с наибольшими показателями наклона, соответствующего интенсивности искажений, пока не исчерпан бюджет (ресурс) байтов.
Если JPEG2000 используется для сжатия последовательности изображений, то имеются только несколько известных в настоящее время способов для определения того, какую скорость использовать для каждого изображения из этой последовательности. Одна возможность состоит в выборе фиксированной скорости (то есть, фиксированного числа байтов), чтобы кодировать каждое изображение из последовательности. Хотя этот способ является простым и допускает простую реализацию, он не дает адекватных рабочих характеристик в некоторых применениях. Во многих последовательностях изображений характеристики изображений в последовательности изменяются значительно. Поскольку данный способ задает фиксированное число байтов для каждого изображения, для результирующей последовательности декомпрессированных изображений характерны большие изменения в качестве между изображениями.
Этот недостаток был выявлен Tzannes и др. в заявке на патент США 2004/0047511 A1. Для достижения некоторого улучшения рабочих характеристик Tzannes и др. делают возможным адаптивный выбор параметров сжатия, когда изображения кодируются последовательно. Адаптация выполняется для текущего изображения с использованием информации, собранной только исходя из предыдущих изображений в последовательности: последующие изображения не рассматриваются при выделении скорости для текущего изображения. Кроме того, если два следующих друг за другом изображения в последовательности не являются высококоррелированными (например, как в случае в ходе смены сцены), адаптация становится неустойчивой. Другая альтернатива по отношению к кодированию с фиксированной скоростью была представлена Dagher и др. в материалах Института инженеров по электротехнике и радиоэлектронике (IEEE) Resource-Constrained Rate Control for Motion JPEG2000 (управление скоростью передачи движущихся изображений при ограниченных ресурсах), Transactions on Image Processing, декабрь 2003. В этом способе сжатые изображения помещают в буфер. Сжатые данные извлекают из буфера с постоянной скоростью. Новые сжатые изображения добавляют в буфер, когда они становятся доступными. Если буфер полон, когда должно добавляться новое сжатое изображение, то это новое сжатое изображение, а также другие изображения, уже находящиеся в буфере, усекают с тем, чтобы все сжатые данные поместились в буфер. Результирующие изображения имеют относительно низкое изменение по качеству в пределах "временного окна переменной длительности", соответствующего длине используемого буфера. Однако качество может изменяться значительно во временных кадрах, более длительных, чем окно переменной длительности.
Кроме того, ни один из вышеуказанных способов не обеспечивает способность устанавливать требования к размеру или качеству для подмножеств данных изображения, таких как отдельные изображения, отдельные компоненты и т.д.
Краткое описание сущности изобретения
Настоящее изобретение обеспечивает способ управления скоростью для последовательности масштабируемо кодированных изображений, который удовлетворяет требованиям, применяемым к подмножествам данных изображения.
Способ управления скоростью является применимым к классу кодеров, в которых изображения в последовательности преобразуются, для получения коэффициентов преобразования. Эти коэффициенты разбиваются на блоки кодирования. Коэффициенты каждого блока кодирования кодируются, для получения множества приращений качества. В системе сжатия по стандарту JPEG2000 блоками кодирования являются подлежащие кодированию блоки коэффициентов и приращениями качества являются сжатые кодовые проходы.
Управление скоростью выполняется посредством сбора блоков кодирования в одно или более подмножеств. Связанные с изображением подмножества составлены из блоков кодирования из отдельного изображения. Для заданного изображения подмножества, связанные с изображением, могут задавать различные уровни разрешения, области пространства, области-клетки, цветовые компоненты или любые их комбинации, включая полное изображение. Связанные с последовательностью подмножества, составлены из подлежащих кодированию блоков коэффициентов от каждого изображения в последовательности. Они могут задавать для полной последовательности различные уровни разрешения, области в пространстве, области-клетки или цветовые компоненты, или любые их комбинации. Одиночное связанное с последовательностью подмножество может включать в состав все блоки кодирования для всех изображений в последовательности, определяя вследствие этого последовательность полного изображения.
Перечень требований (LOR) создают так, чтобы каждое подмножество имело в перечне, по меньшей мере, один ассоциированный элемент. Требования, относящиеся к подмножествам, связанным с изображением, называют связанными с изображением требованиями. Требования, относящиеся к подмножествам, связанным с последовательностью, называют связанными с последовательностью требованиями.
Величины значимости вычисляются для каждого приращения качества для каждого блока кодирования. Величины значимости используются, чтобы определить, какие кодовые проходы сохранять, чтобы удовлетворять требованиям соответствующих подмножеств при попытке достичь высокого качества восстановленного или низких размеров сжатого изображения. Кодовый поток, который удовлетворяет LOR для всех подмножеств, создают для последовательности изображений на основании сохраненных приращений качества. Такой кодовый поток называется "допустимым кодовым потоком". Способ определения того, какие приращения качества сохранять для каждого блока кодирования, и создания допустимого кодового потока будет зависеть от таких аспектов, как LOR, вычислительная сложность, ресурсов памяти и т.д.
Изобретение кратко описывается для случая попытки достичь высокого качества, согласно заданным требованиям к размерам. Достижение низких размеров, как допускается согласно заданным требованиям к качеству, является сходным. Для каждого изображения в однопроходном подходе выбираются приращения качества, имеющие наибольшие величины значимости в пределах каждого связанного с изображением подмножества, так что общий размер выбранных приращений качества удовлетворяет связанным с изображением требованиям к размеру для этого подмножества. Выбранные приращения качества, величины значимости и длины сохраняются. Остаток отбрасывают. Как только все изображения обработаны подобным образом, остающиеся приращения качества для каждого связанного с последовательностью подмножества, имеющие наибольшие величины значимости, выбирают так, чтобы общий размер выбранных приращений качества удовлетворял связанным с последовательностью требованиям к размеру для этого подмножества. Выбранные приращения качества формируют допустимый кодовый поток, и остаток отбрасывается.
Каждый способ прилагает усилия достичь высокого качества восстановленного изображения в рамках подмножеств, как допускается согласно требованиям. Конкретно, способы прилагают усилия достичь высокого качества в рамках каждого связанного с изображением подмножества для каждого отдельного изображения, а также высокого среднего качества (усредненного по всем изображениям или последовательности) в рамках каждого связанного с последовательностью подмножества. Проблема достижения компромисса между высоким качеством от изображения к изображению и высоким средним качеством может иметь место вследствие относительной строгости требований к размеру, связанных с изображением, против таковых, связанных с последовательностью. Когда над выбором приращения качества доминируют какие-либо связанные с последовательностью требования к размеру, каждый из способов будет также достигать приблизительно постоянного качества восстановленного изображения от изображения к изображению в рамках соответствующих подмножеств. Эти и другие признаки и преимущества изобретения будут очевидны специалистам в данной области техники из нижеследующего подробного описания предпочтительных вариантов осуществления, рассматриваемых вместе с сопроводительными чертежами, на которых:
Фиг.1 - блок-схема типичного JPEG2000-кодера, как описано выше;
Фиг.2 - блок-схема последовательности операций, иллюстрирующая выделение скорости для последовательности изображений в соответствии с настоящим изобретением;
Фиг.3 - иллюстрация выбора приращений качества из подмножества;
Фиг.4 - иллюстрация примерной организации кодового потока, когда имеются многокомпонентные изображения;
Фиг.5 - иллюстрация вейвлет-поддиапазонов, которые вносят вклад на различных разрешениях для многокомпонентного изображения;
Фиг.6 - диаграмма последовательности действий, иллюстрирующая интеграцию управления скоростью в процессе поточной обработки цифрового изображения (DI); и
Фиг.7 - принципиальная схема системы кодера, рабочей станции DI и контроллера скорости.
Подробное описание изобретения
Изобретение в целом относится к способу кодирования изображений с использованием класса масштабируемых кодеров, показанных на примере JPEG2000, и, более конкретно, к способу управления скоростью для последовательности масштабируемо кодированных изображений. Способ управления скоростью определяет сжатые данные, подлежащие включению в допустимый кодовый поток для последовательности изображений так, чтобы заранее установленный набор требований был удовлетворен для заранее установленных определений подмножества. Согласно способу, предпринимается попытка достичь высокого качества восстановленного изображения в рамках соответствующих подмножеств, в соответствии с допущением согласно требованиям к размеру для подмножеств. Для некоторых требований способ также будет достигать приблизительно постоянного качества восстановленного изображения от изображения к изображению в рамках соответствующих подмножеств. Конечно, ограниченное небольшим размером подмножество будет иметь низкое качество по сравнению с таковым, если бы было ограничено более большим размером. Таким образом, "высокое качество" следует интерпретировать относительно требований. В качестве альтернативы, согласно способу может предприниматься попытка достичь малых сжатых размеров для подмножеств при удовлетворении указанных требований к качеству для подмножеств.
Описанные способы управления скоростью применимы к любой последовательности цифровых изображений, включая кинофильмы, видео, данные временного ряда, трехмерные объемные изображения (такие как многоспектральные и гиперспектральные данные дистанционных изображений), или наборы данных более высокой размерности, а также отдельные статические изображения. Тогда как варианты осуществления описаны относительно сжатия по стандарту JPEG2000, они являются применимыми к другим способам сжатия с функциональными возможностями, подобными таковым в JPEG2000.
Хотя некоторые варианты осуществления данного изобретения описаны относительно одиночной последовательности изображений, они также применимы для случаев, когда последовательность изображений состоит из множества групп. В качестве примера такие группы могут быть получены посредством временного разделения последовательности. В этом случае каждая группа могла бы быть сходной с "частью" кинофильма. В качестве другого примера различные группы могут быть заданы в виде представления характеристик, концевой части 1, концевой части 2, рекламного ролика и т.д. В случае последовательности изображения "3D"(стерео) могут быть две группы, состоящие из изображений, предназначенных для просмотра левым и правым глазами, соответственно. "Левые" и "правые" группы могут быть дополнительно подразделены на «части». В каждом случае выделение скорости передачи может быть выполнено отдельно относительно каждой группы, рассматривая каждую в виде последовательности. С другой стороны, все группы могут быть агрегированы и с целью выделения скорости рассматриваться в виде одиночной последовательности.
Управление скоростью для масштабируемо кодированных изображений
Как показано на фиг.2, управление скоростью выполняют посредством определения подмножеств блоков кодирования (этап 29). Предпочтительно блоками кодирования являются подлежащие кодировке блоки коэффициентов в стандарте JPEG2000, но в качестве альтернативы, частотные диапазоны, блоки коэффициентов дискретного косинусного преобразования (DCT), преобразованные компоненты, полные преобразованные изображения или другие структуры данных. Эти подмножества определяют с использованием сведений о процессе кодирования, который будет использоваться на этапе 31.
Подмножество, определенное в отношении отдельного изображения, называют связанным с изображением подмножеством. Эти связанные с изображением подмножества могут задавать различные уровни разрешения, например 2Кб и 4Кб, различные области в пространстве, например передний план и задний план, различные цветовые компоненты, например R, G, B, либо любые их комбинации, включая полное изображение. Являются возможными другие подмножества в рамках существа и объема способа. Связанное с изображением подмножество является полезным в определении требований относительно отдельного изображения. Например, в многокомпонентном применении требования к размеру сжатого изображения могут налагаться на каждую компоненту изображения, а также на полное изображение, для трехкомпонентного изображения блоки кодирования изображения затем будут сгруппированы в три подмножества, соответствующие трем компонентам изображения, например R, G, B. Четвертое подмножество будет составлено из всех блоков кодирования в изображении. Тогда очевидно, что для связанных с изображением подмножеств не требуется быть непересекающимися.
Подмножество, определенное для полной последовательности изображений, называют связанным с последовательностью подмножеством. Связанные с последовательностью подмножества могут задавать различные уровни разрешения, например 2Кб и 4Кб, различные области в пространстве, например передний план и задний план, или различные цветовые компоненты, например R, G, B, либо любые их комбинации, включая полную последовательность. Другие связанные с последовательностью подмножества являются возможными в рамках сущности и объема способа. Связанные с последовательностью подмножества являются полезными в определении агрегатных требований для полной последовательности. Например, в многокомпонентном применении требования могут налагаться на общий сжатый размер (агрегированный по всем изображениям в последовательности) для каждой компоненты, а также как совокупного размера сжатого для всех изображений в последовательности. Для последовательности изображений, имеющих каждое три компоненты, блоки кодирования всех изображений в последовательности будут сгруппированы в три подмножества, соответствующие R («красная»), G («зеленая»), B («синяя»). Четвертое подмножество будет составлено из всех блоков кодирования всех изображений в последовательности. Ясно тогда, что связанные с последовательностью подмножества также не должны быть непересекающимися.
Связанные с изображением подмножества для одного изображения могут отличаться от таковых для другого изображения. Например, одно изображение может иметь три подмножества, соответствующие R, G, B, тогда как другое изображение имеет одиночное подмножество, соответствующее полному изображению. Еще одно изображение может не иметь каких-либо заданных подмножеств. Точно так же последовательность может не иметь каких-либо связанных с последовательностью заданных подмножеств. По меньшей мере, одно изображение должно вносить один или несколько блоков кодирования в состав двух или нескольких подмножеств. Одно изображение может вносить одинаковые блоки кодирования в два подмножества или оно может вносить различные блоки кодирования в два подмножества. Два подмножества могут быть оба относящимися к изображению, или оба связанными с последовательностью, или одним из каждого.
Перечень требований (LOR) устанавливается для подмножеств (этап 30), так что каждое подмножество имеет, по меньшей мере, одно требование. LOR обычно может включать в состав требования к качеству (требуемое, минимальное, максимальное) и/или требования к размеру (требуемый, минимальный, максимальный) для каждого из подмножеств. Другие требования являются возможными в рамках сущности и объема способа.
Управление скоростью применяется к каждому изображению, а также к последовательности изображений. С этой целью каждое изображение кодируется с использованием кодера, такого как JPEG2000 (этап 31). Хотя процесс кодирования влечет за собой ряд этапов, которые хорошо понятны специалистам в данной области техники, основными и существенные этапами для целей управления скоростью являются: (1) преобразование каждого изображения в коэффициенты преобразования с использованием вейвлет-преобразования, DCT или другого подходящего преобразования; (2) разделение преобразованных коэффициентов на блоки кодирования и (3) кодирование коэффициентов каждого блока кодирования, чтобы выдавать множество приращений качества для каждого блока кодирования. JPEG2000 использует вейвлет-преобразование, разделяет коэффициенты на блоки коэффициентов, которые кодируются, чтобы выдать сжатые кодовые проходы для каждого блока коэффициентов.
В JPEG2000 процесс кодирования блоков кодирования применяет квантование, за которым следует кодирование битовой плоскости, чтобы выдавать приращения качества. Эта точка зрения рассматривает квантование в качестве части процесса кодирования блоков кодирования. В качестве альтернативы квантование может рассматриваться в качестве части процесса преобразования. В действительности конкретная реализация может включать квантование в преобразование посредством использования соответствующего масштабирования и округления и/или обратимого преобразования. Обычно размеры шагов квантования устанавливают относительно малыми, и все битовые плоскости кодируются, чтобы обеспечивать высокое базовое качество прежде выделения скорости. В качестве альтернативы, более умеренный размер шага квантования может использоваться, чтобы уменьшить количество начальных битовых плоскостей, которые подлежат кодированию, приводя к более низкому начальному уровню качества. В качестве альтернативы может кодироваться уменьшенное количество (предпочтительнее, чем все) наиболее значимых битовых плоскостей, чтобы достигать сходного эффекта. Мотивировкой в поддержку этих альтернатив является экономия на сложности и/или оперативной/внешней памяти. Однако должно быть обращено внимание, чтобы не слишком сильно снизить начальное качество. В качестве альтернативы размеры шага квантования могут быть выбраны в соответствии с требуемым качеством.
Вычисляют (этап 32) величины значимости для каждого приращения качества. Это может быть выполнено одновременно с этапом 31. Подходящими величинами значимости могут быть показатели наклона, соответствующего интенсивности искажений. Такие показатели наклона представляют соотношение выгод/затрат для включения приращения качества в кодовый поток. Конкретно, показателем наклона для конкретного приращения качества является уменьшение в искажениях (обычно среднеквадратическая ошибка (MSE) или некоторый другой показатель качества, представляемый значением приращения качества, разделенным на длину приращения качества (обычно в байтах). Приращения качества с более большими показателями наклона, соответствующего интенсивности искажений, и затем могут рассматриваться более важными, чем таковые с меньшими показателями наклона. В указанном выше, вычисления MSE могут быть модифицированы, чтобы включать в рассмотрение визуальное взвешивание и/или визуальное маскирование (см. например, Taubman и Marcellin, Раздел 16.1). В качестве альтернативы, MSE может быть заменена "только значимыми разностями" или другими визуально мотивированными мерами искажения.
Являются возможными дополнительные варианты выбора для величин значимости. Например, можно полагать, что блоки кодирования для подмножества имеют каждый K битовых плоскостей, пронумерованных от K-1 до 0 (от MSB к LSB). Эти номера битовых плоскостей могут использоваться в качестве величин значимости. Сходный эффект может быть получен путем использования номеров приращений качества (предпочтительнее, чем номеров битовых плоскостей) в качестве величин значимости. Другая разновидность будет назначать диапазон величин значимости для всех приращений качества, имеющих одинаковый номер битовой плоскости. Диапазоны для различных номеров битовых плоскостей будут отличными, и величины значимости в рамках диапазона могут быть упорядоченными в соответствии с показателем наклона, соответствующего интенсивности искажений. Например, пусть b будет номером битовой плоскости для приращения качества и пусть s будет ее показателем наклона, соответствующего интенсивности искажений. Дополнительно пусть ms будет максимальным показателем наклона. Тогда одним вариантом выбора для величины значимости приращения качества может быть b+s/ms.
Величины значимости могут быть весовыми, чтобы выделить или снять выделение одну или несколько областей в пространстве (возможно целое изображение) одного или нескольких изображений.
Как является очевидным из Раздела 8.2 Taubman и Marcellin, иногда желательно запрещать завершение кодового потока блока кодирования между некоторыми приращениями качества. Эквивалентно, может требоваться "группировать" два или несколько приращений качества и обрабатывать их по существу как одиночное составное приращение качества с целью выделения скорости. Такое составное приращение качества имеет одиночный показатель наклона, соответствующего интенсивности искажений, вычисленный в виде общего уменьшения искажения для группы приращений качества, разделенного на общую длину группы приращений качества. Чтобы упростить обсуждение, следует полагать во всех отношениях, что это группирование выполняют, когда надлежит, и что затем термин "приращение качества" может относиться к составному приращению качества.
Величины значимости используются, чтобы определять, какие приращения качества сохранять, если необходимо удовлетворять некоторым требованиям к подмножеству (этап 34). Этапы 31, 32 и 34 выполняются для каждого изображения в последовательности (этап 35).
Может казаться, что чертеж указывает последовательную обработку изображений, но параллельная обработка также является возможной, поскольку нет зависимостей между изображениями на этапах 31, 32 и 34. В этой точке допустимый кодовый поток для полной последовательности создается с учетом любых остающихся требований для соответствующих подмножеств (этап 36).
В примерном варианте осуществления любые связанные с изображением требования удовлетворяют на этапе 34, тогда как любые связанные с последовательностью требования удовлетворяют на этапе 36. В качестве альтернативы является возможным сохранять все приращения качества на этапе 34 и отсрочить все принятия решений до этапа 36. Это увеличит необходимую оперативную/внешнюю память, но может иметь преимущества в некоторых применениях, таких как редактирование и создание архивов.
Способ определения того, какие приращения качества сохранять для каждого кодируемого изображения (этап 34), и создания допустимого кодового потока для последовательности изображений (этап 36) будет зависеть от перечня требований и каких-либо дополнительных вопросов, таких как требования к вычислительной сложности, оперативной памяти, дополнительному декодеру и т.д.
Сначала описываются варианты осуществления, в которых предпринимается попытка по достижению высокого качества, в соответствии с допущениями согласно требованиям к размеру. Впоследствии будут описаны варианты осуществления, в которых прилагают усилия достичь малых размеров, допускаемых согласно требованиям к качеству.
Однопроходной подход
Однопроходной подход выбирает из каждого связанного с изображением подмножества приращения качества, имеющие наибольшие величины значимости, так, чтобы общий размер выбранных приращений качества из этого подмножества удовлетворял любому относящемуся к изображению требованию к размеру для этого подмножества (этап 34).
Выбранные приращения качества, величины значимости и длины сохраняют для каждого изображения. Невыбранные приращения качества отвергают. Как только все изображения обработаны таким образом, способ выбирает приращения качества (из всех изображений), имеющие наибольшие величины значимости, из таковых, остающихся в каждом связанном с изображением подмножестве, так, чтобы общий размер выбранных приращений качества из этого подмножества (в совокупности по всем изображениям) удовлетворял любому связанному с последовательностью требованию к размеру для подмножества (этап 41). Выбранные приращения качества используются, чтобы формировать допустимый кодовый поток (этап 42). Остаток (невыбранные приращения качества) отбрасывается и допустимый кодовый поток записывается на носитель информации, такой как накопитель на диске, диск или лента, либо он передается по каналу.
Двухпроходной подход
Однопроходной подход может требовать временного хранения сжатых данных, которых в конечном счете больше, чем необходимо в допустимом кодовом потоке. Для некоторых применений это может быть нежелательным. Двухпроходной подход модифицирует однопроходной подход тем, что поддерживает только величины значимости и длины, и отбрасывает все приращения качества помере кодирования каждого изображения, и затем, как только состав допустимого кодового потока определен (этап 41), повторно кодирует все изображения (этап 43), чтобы сгенерировать приращения качества, которые используются для формирования допустимого кодового потока (этап 42). В течение этого второго прохода является возможным сгенерировать только требуемые приращения качества, чтобы избегать ненужных вычислений и/или ненужного хранения данных.
Итеративный подход
Итеративный подход действует, как изложено ниже: для каждого изображения из каждого связанного с изображением подмножества выбираются приращения качества, имеющие наибольшие величины значимости, с тем чтобы общий размер выбранных приращений качества из этого подмножества удовлетворял любому связанному с изображением требованию к размеру для этого подмножества (этап 34). Невыбранные приращения качества отвергаются. Кроме того, выбирают все остающиеся приращения качества из этого изображения, принадлежащие каждому связанному с последовательностью подмножеству, имеющие величины значимости выше порога значимости для этого подмножества (также этап 34). Невыбранные приращения качества отвергаются. Для этой последней операции пороговая величина для каждого связанного с последовательностью подмножества поддерживается фиксированной, пока не будут обработаны таким образом все изображения. Операции этапа 34 могут выполняться одновременно или могут быть упорядоченными иным образом в зависимости от определений подмножества. Как только все изображения обработаны таким образом, способ определяет, удовлетворяет ли общий размер выбранных приращений качества связанным с последовательностью требованиям к размеру для соответствующих связанных с последовательностью подмножеств (этап 37). Если не удовлетворяет, процесс повторяется с изменением порогов значимости для соответствующих связанных с последовательностью подмножеств (этап 38) и возвращается на этап 31, пока не будут удовлетворены связанные с последовательностью требования к размеру, и затем выводит допустимый кодовый поток (этап 39).
Повышение порога значимости имеет результатом меньший кодовый поток, и понижение порога значимости имеет результатом более большой. Зачастую требования для различных подмножеств являются независимыми, и поиски подходящих порогов значимости могут выполняться независимо. В этом случае порог значимости может быть изменен на этапе 38 с использованием ряда способов, включая в них метод проб и ошибок, деление пополам, градиентный спуск или любой другой способ одномерного (1-D) числового поиска. Если поиски не могут проводиться независимо, может использоваться любой способ многомерного числового поиска. Когда показатели наклона, соответствующего интенсивности искажений, используются в качестве величин значимости, они могут использоваться, чтобы содействовать способам поиска на основе производной/градиента.
Выбор приращения качества
Все варианты осуществления выше используют процесс выбора приращений качества, имеющих наибольшие величины значимости в рамках подмножества. Этот процесс может выполняться многими способами. Один способ приводит перечень приращений качества в порядке убывания их величин значимости и затем выбирает из вершины перечня. В другом способе, только величины значимости приведены в порядке убывания, поскольку их соответствие приращениям качества является известным. В следующем способе порог значимости установлен для подмножества с мыслью, что будут выбраны все приращения качества с величинами значимости выше пороговой величины. Это может рассматриваться в качестве эквивалента выбору ряда приращений качества из вершины упорядоченного перечня подмножества при рассмотрении фиг.3.
На фиг.3 каждая сплошная горизонтальная линия представляет приращение 50 качества, и каждый блок горизонтальных линий представляет блок 52 кодирования. Набор блоков кодирования представляет подмножество 54. На чертеже величины 56 значимости обозначены рядом с каждым приращением качества. Ясно, что выбор всех приращений качества каждого блока кодирования, имеющих величину значимости выше порога 58, установленного в девятнадцать (как указано посредством подчеркнутых штриховых горизонтальных линий), является эквивалентным сортировке всех приращений качества в подмножестве и затем выбору пятнадцати приращений качества из вершины перечня. Если общая длина выбранных таким образом приращений качества не является требуемой, пороговая величина может быть скорректирована и процесс повторяется, пока общая длина не будет требуемой (в рамках некоторого допуска). Это является сходным с итеративным процессом управления скоростью, описанным выше, но в этом случае не требуется осуществление записи данных. Итерация выполняется в рамках этапа 34 или этапа 41 с использованием предварительно вычисленных величины значимости и длины. Этот подход может иметь преимущества в объеме вычислений и хранении данных, фактически сортируя и приводя перечень величин значимости или приращений качества. Повышение порога значимости имеет результатом меньший общий размер выбранных приращений качества, и понижение порога значимости имеет результатом больший размер. Порог значимости может быть изменен в рамках этапа 34 и/или этапа 41 с использованием ряда способов, включая в них метод проб и ошибок, деление пополам, градиентный спуск или любой другой способ одномерного (1-D) числового поиска. Предпочтительнее, чем осуществлять итерацию, также является возможным проверять многие пороговые величины параллельно.
Параллельная обработка
Как указано выше, является возможным выполнять этапы 31, 32 и 34 параллельно для множества изображений. Также является возможным выполнять большую часть из работы на этапах 41 и/или 42 параллельно. Можно принять, что каждый процессор имеет приращения качества, величины значимости и размеры для одного или нескольких изображений. Управляющий процессор может пересылать на все процессоры величину порога значимости для каждого подмножества. Каждый процессор может возвращать общий размер для каждого подмножества его изображений в соответствии с пересланными величинами порогов. Управляющий процессор может суммировать эти размеры и пересылать новые пороговые величины, осуществляя итерирование до достижения требуемых общих размеров (суммарных). При управлении затем каждый процессор может быть запрошен создать и вывести допустимый кодовый поток для своих изображений на основании приращений качества, имеющих величины значимости выше окончательных пороговых величин.
Высокое качество
Каждый подход прилагает усилия достичь высокого качества восстановленного изображения в рамках соответствующих подмножеств (как выполнимо в рамках требований LOR). Конкретно, варианты осуществления на этапе 34 прилагают усилия достичь высокого качества для отдельных изображений. Варианты осуществления на этапе 36 прилагают усилия достичь высокого среднего качества для полной последовательности. В каждом из этапов 34 и 36 варианты осуществления прилагают усилия достичь высокого качества посредством включения приращений качества, имеющих наибольшие величины значимости. В некоторых случаях варианты осуществления достигают приблизительно постоянного качества от изображения к изображению в рамках соответствующих подмножеств. Из раздела выше, озаглавленного "Выбор приращения качества", может быть видно, что однопроходной, двухпроходной и итеративный способы удовлетворяют любому связанному с последовательностью требованию для заданного связанного с последовательностью подмножества посредством (в некотором роде эквивалентного) установки пороговой величины для этого подмножества и включения (из всех изображений) всех приращений качества в подмножество с наличием величин значимости выше этой пороговой величины.
Таким образом, допустимый кодовый поток затем содержит все приращения качества для всех изображений в рамках связанного с последовательностью подмножества с наличием величин значимости выше порога значимости, меньше такового, отвергнутого на этапе 34 вследствие какого-либо соответствующего связанного с изображением требования. Таким образом, если не действует связанное с изображением требование, качество будет (приблизительно) постоянным от изображения к изображению в рамках связанного с последовательностью подмножества. Когда действуют и связанные с последовательностью, и связанные с изображением требования, могут происходить значимые изменения в качестве, когда конкретное изображение является очень трудным для кодирования по сравнению с другими в последовательности. Для такого изображения приращения качества отвергаются в соответствии с любым связанным с изображением требованием, и качество может снижаться для этого изображения. Способность достигать постоянного качества, таким образом, является управляемой согласно относительной строгости требований, связанных с последовательностью, против связанных с изображением требований. В частности, эта способность уменьшается, когда связанные с изображением требования являются более строгими по сравнению со связанными с последовательностью требованиями. В предельном случае, если не действует связанное с последовательностью требование, может считаться, чтобы требуемый связанный с последовательностью размер был "как можно больше". В этом случае, связанное с изображением требование вступает в действие для каждого изображения, и качество будет изменяться значительно.
Должно также быть отмечено, что, когда изображение является очень простым для кодирования по сравнению с другими в последовательности, качество может быть значительно выше такового для других изображений, даже хотя его сжатый размер может быть весьма низким.
Малый размер
Как описано выше, в однопроходном, двухпроходном и итеративном вариантах осуществления прилагают усилия достичь высокого качества согласно допускаемым требованиям к размеру в LOR. Напротив, дополнительные варианты осуществления прилагают усилия достичь малых размеров согласно допускаемым требованиям к качеству (искажению) в LOR. Если для подмножества имеется связанное с изображением требование к качеству, этап 34 выбирает из подмножества приращения качества, имеющие наибольшие величины значимости так, чтобы для подмножества удовлетворялись любые требования к качеству. Если для связанного с последовательностью подмножества имеется связанное с последовательностью требование к качеству, то однопроходной и двухпроходной способы должны рассматриваться отдельно от итеративного способа. Для однопроходного и двухпроходного способов этап 41 выбирает приращение качества из связанного с последовательностью подмножества по всем изображениям так, чтобы среднее качество подмножества (усредненное по всем изображениям) удовлетворяло требованию к качеству. Для итеративного способа этап 38 изменяет пороговую величину, пока среднее качество не удовлетворит требованию к качеству.
Нелишне отметить, что при удовлетворении требования к качеству, уменьшения искажения, связанные с каждым приращением качества, могут быть полезными в этом отношении (предпочтительнее длин приращения качества). Нелишне отметить также, что типы требований могут быть смешанными. Например, требование к размеру и требование к качеству могут оба присутствовать в LOR для одиночной последовательности.
Использование слоев для уменьшения используемой оперативной/внешней памяти
Предоставляемый JPEG2000 механизм разбиения на слои может быть включен в состав однопроходного или двухпроходного вариантов осуществления, чтобы экономить оперативную/внешнюю память, используемую для хранения величин значимости и длин, или упростить некоторые реализации. В этом варианте осуществления приращения качества группируются, чтобы сформировать два или несколько уровней. Приращения качества, которые являются более значимыми, помещаются на более ранние слои, и приращения качества, которые являются менее значимыми, помещаются на более поздние слои. Слои могут быть сформированы так, что каждый слой имеет требуемый размер. Альтернативно, слои могут быть сформированы так, что каждый слой соответствует заданному порогу значимости, например постоянному качеству. В варианте осуществления с одним проходом приращения качества также сохраняют. В варианте осуществления с двумя проходами приращения качества отвергаются. Слои затем выбирают для каждого подмножества, чтобы удовлетворять требованиям к подмножеству. Является возможным объединять слои или разбивать выбранные слои на новые слои, чтобы достигать требуемой структуры иерархического представления в допустимом кодовом потоке.
Слои для удовлетворения многих LOR
Во многих случаях будет возможным создавать один кодовый поток, содержащий многие вложенные кодовые потоки, использующиеся каждый для различной цели. Например, файл с очень высоким качеством может включать в состав архивную версию последовательности изображений. Из этого файла может быть возможным извлекать один или несколько различных кодовых потоков, предназначенных каждый для различного применения. Например, одна версия может быть предназначена для распространения имеющего высокое разрешение кинофильма, тогда как другая версия может быть предназначена для распространения имеющей более низкое разрешение телепередачи. Это может быть выполнено без какого-либо "выделения скорости" во время извлечения. Выделение скорости может выполняться заранее. Извлечение просто требует доступа к соответствующим данным в формате JPEG2000. В качестве других примеров для различных версий является возможным соответствовать различным размерам сжатого изображения, переднему плану/заднему плану и т.д., либо их комбинациям.
Эту функциональность можно достичь посредством создания кодового потока с наличием двух или нескольких слоев. Определяются подмножества, и устанавливается LOR, по меньшей мере, для одного из двух или из нескольких слоев. Изложенные в документе способы выделения скорости могут использоваться, чтобы удовлетворять LOR для каждого такого слоя. Нелишне отметить, что не требуется, чтобы подмножества были идентичными для каждого такого слоя. Подмножества и LOR могут устанавливаться иным образом для каждого слоя согласно назначению этого слоя.
В некоторых случаях может требоваться разделить кодовый поток с наличием множества слоев на множество файлов, каждый файл содержит данные для одного или несколько слоев. Например, в случае двух слоев может быть полезным иметь данные для первого и второго слоев в отдельных файлах. Это упростит загрузку только первого слоя на устройство хранения данных (например, сервер), имеющее ограниченный объем или быстродействие, при загрузке обоих слоев на устройство хранения данных, имеющее более высокий объем и/или быстродействие. Сходное обсуждение поддерживается для множества разрешающих способностей.
Примеры управления скоростью
В нижеследующих примерах с использованием однопроходных алгоритмов иллюстрируются различные комбинации связанных с изображением и связанных с последовательностью подмножеств и требований. В примерах описаны только требования к размеру, но требования к качеству могут быть удовлетворены с использованием вышеописанных модификаций.
Кроме того, нижеследующие примеры для простоты обсуждения обращаются только к размеру данных приращений качества. На практике является требуемым принимать во внимание размер необходимой служебной информации, такой как основные заголовки, заголовки области/части области и заголовки пакета. Это обычно может быть выполнено путем соответственного уменьшения бюджета битов для данных приращения качества.
В заключение должно быть отмечено, что примеры не обращаются к подробной структуре кодовых потоков JPEG2000 исходя из выбранных приращений качества. Выбранные приращения качества могут быть организованы любым образом, допускаемым согласно стандарту JPEG2000, включая в него любой порядок последовательности и т.д.
Пример 1: Многокомпонентное изображение
Можно рассмотреть пример, где каждое изображение в последовательности имеет цветовые компоненты «красная», «зеленая» и «синяя».
Пусть ,  и  обозначает наборы блоков кодирования для компонент «красная», «зеленая» и «синяя» изображения  соответственно. Пусть,  и .
Также пусть  и .
Подмножествами для этого примера являются
Связанные с изображением
: , , ,
Связанные с последовательностью
:
Все другие множества выше предназначены только для удобства обозначений.
Перечнем требований является
Связанный с изображением
: , , ,
Связанный с последовательностью
:  (в пределах допуска)
где  является максимальным общим размером любого изображения, ,  и  является максимальным общим размером компонент R, G и B любого изображения, и  является требуемым общим связанным с последовательностью размером полного сжатого кодового потока. В дополнение к требованию общего размера, отдельные изображения и/или компоненты каждого изображения не должны требовать чрезмерного числа байтов. Эти требования могут быть полезными, чтобы избегать переполнения/опустошения буфера или ограничивать объем вычислений, выполняемых в декодере для декомпрессии каждого изображения и/или компоненты. Пример предназначен, чтобы охватить случай, когда опускаются один или несколько связанных с изображением подмножеств и их требования к размеру. Способ также охватывает случай, когда опускаются связанное с последовательностью подмножество и его требование к размеру. Модификации для поддержки этих опущений включены в описание ниже. Способ является применимым к другим цветовым пространствам, таким как XYZ. Он также применим, когда используется преобразование цвета. В этом случае, требования применяются к (цветовым) преобразованным компонентам.
В однопроходном подходе из  выбираются приращения качества, имеющие наибольшие величины значимости, так, чтобы . Невыбранные из  приращения качества отвергаются (этап 34). Этот процесс также выполняется для  и . Приращения качества выбираются из тех остающихся в , что имеют наибольшие величины значимости, так чтобы общий размер выбранных приращений качества  был меньше или равен  (этап 34). Невыбранные приращения качества отвергаются. Являются возможными другие упорядоченности для вышеуказанных выборок.
Когда отсутствует одно или несколько требований для , ,  и , соответствующая часть этапа 34 опускается. Как только этот процесс завершен для всех изображений в последовательности, приращения качества выбирают из  с наличием наибольших величин значимости так, чтобы  в пределах допуска (этап 41). Если связанное с последовательностью требование не присутствует, этап 41 можно опустить.
Когда не имеется связанного с последовательностью требования, является возможным заменить  на  (в пределах допуска). Вариант осуществления выше является измененным только в том, что  может быть позволено проходить несколько над  на этапе 34. Если требуется точное равенство, может использоваться требование неравенства, за которым следует заполнение незначащими битами. Если не имеется связанного с последовательностью требования и нет требований на , то является возможным установить на ,  и  требования равенства. Снова вариант осуществления является почти неизмененным. Из этого обсуждения специалисты в данной области техники будут способны выполнить связанные с изображением требования равенства и неравенства для других вариантов осуществления.
Пример 2: Многокомпонентное изображение с переменным разрешением
Можно рассмотреть пример, где каждое изображение в последовательности имеет цветовые компоненты «красная», «зеленая» и «синяя» и кодовый поток сформирован, чтобы позволять отображение декодированных изображений на двух различных разрешениях, например 2Кб и 4Кб. Примерная структура 130 кодового потока для этого сценария проиллюстрирована на фиг.4, и соответствующее разбиение 140 на частотные диапазоны проиллюстрировано на фиг.5. На фиг.4 кодовый поток сегментирован на шесть сегментов. Сегменты 1 и 4 содержат сжатые данные из компоненты «красная», сегменты 2 и 5 содержат сжатые данные из компоненты «зеленая», и сегменты 3 и 6 содержат сжатые данные из компоненты «синяя». Первые три сегмента дают возможность восстановления изображения на разрешении 2Кб. Последние три сегмента дают возможность восстановления изображения на разрешении 4Кб, когда используется вместе с первыми тремя сегментами. Структура кодового потока предназначена для иллюстративных целей. Сжатые данные, полученные на основании алгоритма, могут впоследствии быть выполнены в виде какого-либо действительного кодового потока по стандарту JPEG2000.
Пусть ,  и  обозначают наборы блоков кодирования для компонент «красная», «зеленая» и «синяя», соответственно, которые соответствуют частотным диапазонам 141, 142 и 143, соответственно, вносящим вклад в восстановление изображения на разрешениях и 2Кб, и 4Кб. Пусть ,  и  обозначает наборы блоков кодирования для компонент «красная», «зеленая» и «синяя», соответственно, которые соответствуют частотным диапазонам 144, 145 и 146, соответственно, вносящим вклад в восстановление изображения только на разрешении 4Кб. Пусть =, = и = обозначают наборы всех блоков кодирования, соответственно, для компонент «красная», «зеленая» и «синяя» в изображении. Пусть =, = и = обозначают наборы всех блоков кодирования, которые в изображение вносят вклад и на 2Кб, и 4Кб, только на 4Кб и полном 4Кб, соответственно. Пусть =, = и = обозначают наборы всех блоков кодирования для компонент «красная», «зеленая» и «синяя», соответственно, которые вносят вклад на разрешающую способность и 2Кб, и 4Кб для полной последовательности. Пусть =, = и = обозначают наборы всех блоков кодирования для компонент «красная», «зеленая» и «синяя», соответственно, которые вносят вклад в разрешение 4Кб только для полной последовательности. Пусть =, = и = обозначают наборы всех блоков кодирования для компонентов «красная», «зеленая» и «синяя», соответственно, которые вносят вклад в полную разрешающую способность 4Кб для полной последовательности. Пусть =, =, = обозначают наборы всех блоков кодирования, которые вносят вклад и на 2Кб, и на 4Кб, только на 4Кб и на полный 4Кб, соответственно, для полной последовательности.
Подмножества для этого примера,
Связанные с изображением
: , , ,
Связанные с последовательностью
:
Все остальные наборы выше предназначены только для удобства обозначений
Перечень требований,
Связанные с изображением
:
, , S (общий размер R, G, B 2Кб)
(общий размер полного 4Кб)
Связанные с последовательностью
:
(общий размер полного 4Кб) в пределах допуска
В дополнение к общему связанному с последовательностью требованию к размеру на полном 4Кб отдельные изображения, и порция в 2Кб отдельных цветовых компонент не должны требовать чрезмерного количества байтов. Эти требования могут быть полезными, чтобы избегать переполнения/опустошения буфера или ограничения объема вычислений, выполненных для декомпрессии в декодере. Способ применим к другим цветовым пространствам, таким как XYZ. Он также применим, когда используется преобразование цветов. В этом случае, требования применяются к (цветовым) преобразованным компонентам. Наконец, способ является применимым, когда не присутствует одно или более связанных с изображением требований. В этом случае могут пропускаться соответствующие части этапа 34. Подобным образом алгоритм также является применимым, когда не присутствует связанное с последовательностью требование. В этом случае могут пропускаться соответствующие части этапов 34, 41, 37 и/или 38.
В однопроходном подходе из  выбирают приращения качества, имеющие наибольшие величины значимости, так что . Все невыбранные в  приращения качества отвергают. Такую же операцию выполняют для  и . Затем, приращения качества выбирают из тех остающихся в , имеющих наибольших величины значимости, так чтобы . Невыбранные приращения качества отвергают.
После того, как все изображения обработаны таким образом, из  выбирают приращения качества, имеющие наибольшие величины значимости, так что  в пределах допуска (этап 41). Невыбранные приращения качества отвергают. Выбранные приращения качества затем используют, чтобы формировать кодовый поток. Если не присутствует связанное с последовательностью требование, этап 41 можно опустить.
Представляет интерес рассмотреть формирование кодового потока из этого примера в двух слоях. Один способ удовлетворяет вышеуказанные требования для этих двух слоев вместе путем выбора приращений качества, как описано выше. В нем эти приращения качества разделяются на два слоя. Простой случай может требовать  и  для первого слоя, причем < и <. Другие случаи являются сходными. Для этого случая, приращения качества для первого слоя могут выбираться, как изложено ниже. Для каждого изображения приращения качества, выбранные как описано выше, и имеющие наибольшие величины значимости, выбираются так, чтобы . Затем, среди всех выбранных таким образом выбирают приращения качества так, чтобы . Этот последний процесс выбора так, чтобы , можно пропускать, если на первом уровне не имеется связанного с последовательностью требования. Приращения качества, выбранные таким образом, наполняют первый уровень, причем остаток переходит на второй уровень. Специалисты в данной области техники будут способны без труда расширить этот вариант осуществления для включения многих слоев.
Другой подход к включению двух слоев состоит в том, чтобы описанную выше ситуацию изменить на противоположную. Эти два слоя вместе удовлетворяют  и (возможно) , причем > и >. Затем выбирают первый слой, чтобы удовлетворять требованиям, как первоначально изложено в примере 6. Однопроходной способ для удовлетворения этим требованиям изложен ниже. Сначала выбирают приращения качества, чтобы удовлетворять требованиям для этих двух слоев вместе. Конкретно, для каждого изображения, приращения качества, имеющие наибольшие величины значимости, выбирают так, чтобы , отбрасывая все остальные.
Способ, затем, из всех остающихся в  приращений качества выбирает имеющие наибольшие величины значимости с тем, чтобы . (Выбор, чтобы удовлетворять  можно пропустить, если это требование не присутствует.) Все приращения качества, выбранные таким образом, входят в допустимый кодовый поток. Остаток отбрасывается. Приращения качества в допустимом кодовом потоке, которые принадлежат первому слою, могут выбираться с использованием изложенного выше варианта осуществления по примеру 2 для удовлетворения первоначальных требований. Расширение на количество слоев более двух следует непосредственно.
Пример 3: Альтернативные величины значимости
p
p
p-1
size
Общим способом выполнения управления скоростью в схемах немасштабируемого сжатия является квантование с начальным шагом квантования и кодирование данных всех коэффициентов, затем итерирование квантования и кодирование для других шагов квантования, пока не будут удовлетворены требования. Это обычно используется только для одного подмножества (содержащего полное изображение). «Однопроходной» вариант осуществления настоящего изобретения может достигать такого же эффекта для многих подмножеств и/или многих требований посредством использования количеств битовых плоскостей в качестве величин значимости. Выделение результирующей скорости прилагает усилие максимизировать количество битовых плоскостей, включенных из соответствующих подмножеств, с учетом LOR. Результат будет эквивалентен использованию фиксированного шага квантования квантователя для каждого коэффициента в подмножестве. Эффективным размером шага квантования является тогда 2Δ, где Δ является фактическим размером шага квантования, используемым на этапе 31, и p является количеством битовых плоскостей, отвергнутых в рамках подмножества. Этот подход может требовать большого допуска на требуемые связанные с последовательностью размеры. Если это является неприемлемым, тогда может выполняться итерация. Вероятно, что является необходимым только один дополнительный проход. Это происходит потому, что гарантируется, что требуемое окончательное значение Δ будет лежать между 2Δ и 2Δ, где p является минимальным количеством битовых плоскостей, которые если отвергаются (этап 41), дают связанный с последовательностью размер меньше требуемого. Затем может использоваться интерполяция этих двух значений с тем, чтобы следующий проход, вероятно, выдавал связанный с последовательностью размер в рамках надлежащего для требуемого размера допуска. Интерполяция может быть линейной или нелинейной. В этом отношении может быть полезной зависимость, что значение Δ является зачастую пропорциональным C для некоторой константы C.
Другие примеры
Подробно описанные выше примеры представляют только некоторые из возможных конструктивных решений для управления скоростью и некоторые из возможных требований. Например, каждое изображение в последовательности может быть пространственно сегментировано на две области, называемыми передним планом и задним планом, от которых не требуется быть соединенными, и не требуется являться статическими между изображениями, и которые имеют различные уровни качества после декомпрессии. В этом случае блоки кодирования, соответствующие переднему плану и заднему плану, разделяют на различные подмножества и обрабатывают с использованием однопроходного, двухпроходного либо итеративного алгоритма. Одним возможным требованием может быть, чтобы общий размер сжатых данных, вносимый блоками кодирования в данное подмножество, находился между верхним предельным значением и нижним предельным значением. Также, требования могут изменяться для групп (мини-последовательностей) изображений. Это может быть полезным для приложений редактирования или передачи по изменяющимся во времени каналам связи.
Иллюстративные применения управления скоростью
Имеется много других возможных применений описанных в документе способов управления скоростью для создания кодовых потоков, которые являют высокое среднее качество восстановленного изображения или малые размеры сжатого при удовлетворении LOR для подмножеств изображений. Ниже рассмотрены несколько иллюстративных применений.
Управление скоростью для модификаций после выпуска версии
Предположим, после кодирования последовательности требуется заменить одно или более изображений. Каждое изображение замены может быть отдельно кодировано, чтобы иметь такое же количество байтов в каждом подмножестве, как таковое для изображения, которое оно заменяет, с использованием указаний настоящего изобретения. В качестве альтернативы, изображения замены могут быть кодированы в виде последовательности, даже если они могут быть из различных во времени местоположений внутри полной последовательности. Связанные с последовательностью требуемые размеры для "последовательности" замены могут быть выбраны, чтобы соответствовать таковым для заменяемых изображений.
Управление скоростью для поточной обработки создания архива и/или сжатого изображения
В находящейся в процессе одновременного рассмотрения заявке на патент США с порядковым номером № 11/051771, поданной 4 февраля 2005, именуемой в дальнейшем "DI Workflow" (поточная обработка цифровых изображений), которая тем самым является полностью включенной в настоящий документ путем ссылки, описывается поточная обработка сжатого JPEG2000. Описанные в документе способы управления скоростью могут использоваться в этой среде. Любое редактирование последовательности изображений и/или изображений в последовательности может быть выполнено с использованием несжатых данных прежде какого-либо выделения скорости кодирования/передачи. Но предпочтительно, как показано на фиг.6 и 7, JPEG2000-кодер 150, или более обобщенно масштабируемый кодер, кодирует каждое изображение 152 (этап 154) (предпочтительно для очень высокого качества, возможно без потерь) и сохраняет величины значимости и длины (этап 158) для всех приращений качества в соответствии с этапами 31 и 32 по фиг.2. Приращения качества сжатого изображения также сохраняют (предпочтительно в виде кодовых потоков JPEG2000, но являются возможными другие структуры данных) (этап 160).
Хранимые данные могут использоваться в качестве высококачественного сжатого архива для последующего выделения скорости и/или редактирования. Если требуется редактирование, изображения могут быть декомпрессированы, отредактированы, затем сжаты повторно, или операции редактирования (этап 162) могут выполняться посредством рабочей станции 164 DI с использованием сжатых кодовых потоков, как описано в DI Workflow. Величины значимости и длины сохраняют (этап 166) для каких-либо заново сформированных (замен) приращения качества. Как только редактирование закончено, хранимые данные могут снова использоваться в качестве высококачественного архива. Когда требуется выполнить выделение скорости, контроллер 168 скорости применяет способы (этап 170) управления скоростью к отредактированному (или архивированному) кодовому потоку с учетом определений 172 и LOR 174 для подмножества и формирует допустимый кодовый поток 176 (этап 178), который может быть архивирован или записан на носитель информации или передан по каналу (связи).
Для выполнения управления скоростью является возможным осуществлять декомпрессию и затем повторное сжатие с использованием способов, как изложено в соответствии с настоящим изобретением. Предпочтительно, не выполняется декомпрессия/повторное сжатие. Однопроходной алгоритм может просто действовать, выполняя этап 34 в отношении всех сжатых изображений, затем переходить на этап 36. В качестве альтернативы, поскольку все изображения уже сжаты и сохранены, этапы 34 и 36 могут выполняться одновременно. Ясно, что таким образом не может быть создано более одного допустимого кодового потока при каждой версии, соответствующей другому LOR. Может поддерживаться запись для каждого кодового потока, сгенерированного таким образом, без сохранения сгенерированных самих кодовых потоков. Один такой способ хранит соответствующие пороги значимости, используемые, чтобы удовлетворять каждому требованию, связанному с изображением и связанному с последовательностью. Как показано в конфигурации на фиг.6 и 7, операции сжатия и редактирования и управления скоростью выполняются посредством JPEG2000-кодера 150, рабочей станции 164 DI и контроллера 168 скорости. Однако эти операции могут быть встроены в единую рабочую станцию.
Вариант осуществления выше описывает сохранение приращений качества вместе с их величинами значимости и длинами. Эти длины являются полезными в удовлетворении требований к размеру. Если вместо этого (или дополнительно) удовлетворению подлежат требования к качеству, могут сохраняться значения уменьшения искажения для приращения качества вместо (или в дополнение к) длин приращения качества.
Дополнительное управление скоростью для создания архива
Как описано выше, архив может содержать все приращения качества вместе с их величинами значимости и длинами. Это предоставляет большую гибкость, чтобы создавать позднее различные допустимые кодовые потоки для другого подмножества и определений LOR (возможно, неизвестных во время выполнения этапов 31 и 32). С другой стороны, как только все представляющие интерес подмножества и определения LOR являются известными, можно создавать и хранить допустимый кодовый поток очень высокого качества, возможно без потерь, в качестве дополнительного архива. При использовании описанных в документе (с помощью одного простого случая, приведенного в примере 2) способов управления скоростью может быть создан архив, содержащий различные слои, удовлетворяющие различным LOR для различных определений подмножества. Различные допустимые кодовые потоки, удовлетворяющие различным LOR, тогда могут извлекаться в дальнейшем без необходимости какого-либо дополнительного выделения скорости.
Тогда как были показаны и описаны несколько иллюстративных вариантов осуществления изобретения, многочисленные разновидности и альтернативные варианты осуществления будут понятны специалистам в данной области техники. Например, является возможным применять варианты осуществления этого изобретения к подмножеству изображений в последовательности, чтобы уменьшить вычисления. Начальный набор параметров, вычисленный с использованием подмножества всех изображений, затем может применяться к полной последовательности изображения. Эта методика может иметь результатом значимую экономию вычислений. Кроме того, некоторые варианты осуществления могут применяться к отдельному изображению. Дополнительно, варианты осуществления являются применимыми, когда используются временное прогнозирование или временное преобразование. В этих случаях способы применяются к изображениям с ошибкой прогнозирования или преобразованным во времени изображениям. В случае временного преобразования подмножества могут определяться в отношении групп преобразованных во времени изображений. Например, можно рассмотреть трехуровневое временное вейвлет-преобразование. В этом случае восемь преобразованных во времени изображений соответствуют номинально восьми первоначальным изображениям. Таким образом, может быть полезным определить подмножества, применимые к восьми преобразованным во времени изображениям. Такие разновидности и дополнительные варианты осуществления предполагаются, и они могут быть выполнены без выхода за рамки сущности и объема изобретения, определенного в прилагаемой формуле изобретения.