СПОСОБЫ КОДИРОВАНИЯ, ДЕКОДИРОВАНИЯ И ПРЕДСТАВЛЕНИЯ ИЗОБРАЖЕНИЙ ВЫСОКОГО ДИНАМИЧЕСКОГО ДИАПАЗОНА
METHODS FOR ENCODING, DECODING AND DISPLAYING HIGH-DYNAMIC RANGE IMAGES

ПЕРЕКРЕСТНЫЕ ССЫЛКИ НА РОДСТВЕННЫЕ ЗАЯВКИ
[1] Даная заявка заявляет приоритет по предварительной заявке на патент США № 61/924345, поданной 7 января 2014 года, которая включена в данный документ посредством ссылки в полном объеме.
ОБЛАСТЬ ТЕХНИКИ
[2] Настоящее изобретение относится в основном к цифровым изображениям высокого динамического диапазона. В частности, изобретение относится к способам и устройствам кодирования и декодирования изображений высокого динамического диапазона, как статических, так и изменяющихся изображений, и к структурам данных, содержащим цифровые изображения высокого динамического диапазона.
УРОВЕНЬ ТЕХНИКИ
[3] Человеческое зрение способно воспринимать степени контрастности до 1:10000. То есть человек может воспринимать изображения, на которых некоторые части окружающего пространства в 10000 раз ярче, чем другие части окружающего пространства, и различать как наиболее яркие детали, так и наиболее темные детали окружающего пространства. Кроме того, человеческое зрение может адаптировать свою чувствительность к более яркому или более темному окружению более чем на 6 порядков.
[4] Большинство обычных цифровых форматов изображений (так называемых 24-битных форматов) используют до 24 бит для хранения информации о цвете и яркости для каждой точки изображения. Например, каждое из красного, зеленого и синего (RGB) значений для точки может храниться в одном байте (8 бит). Такие форматы способны отображать только около двух порядков различной яркости (каждый байт может хранить одно из 256 возможных значений). Существует множество стандартных форматов отображения цифровых изображений (которые включают как статические, так и видео изображения). Сюда включаются JPEG (Joint Photographic Experts Group), MPEG (Motion Picture Experts Group), AVI (Audio Video Interleave), TIFF (Tagged Image File Format), BMP (Bit Map), PNG (Portable Network Graphics), GIF (Graphical Interchange Format) и другие. Такие форматы можно называть "относительными стандартами вывода", поскольку они не пытаются сохранять информацию изображения сверх той, что может быть воспроизведена наиболее широко распространенными электронными мониторами. До недавнего времени мониторы, такие как компьютерные мониторы, телевизоры, проекторы цифрового видео и подобные, были неспособны воспроизводить изображения, имеющие степени контрастности более чем 1:1000 или около того.
[5] Технологии мониторов, разрабатываемые авторами, и другими, предоставляют возможность воспроизведения изображений, обладающих высоким динамическим диапазоном (HDR). Такие мониторы могут воспроизводить изображения, которые более точно отображают окружение настоящего мира в отличие от обычных мониторов. Существует потребность в форматах хранения изображений HDR для воспроизведения на этих мониторах и других HDR мониторах, которые станут доступны в будущем.
[6] Для хранения изображений HDR в виде цифровых данных было предложено множество форматов. Все эти форматы имеют различные недостатки. Множество этих форматов создают непозволительно большие файлы изображений, которые могут просматриваться только при использовании специализированного программного обеспечения. Некоторые производители цифровых камер предоставляют собственные форматы RAW. Эти форматы привязаны к конкретным камерам и избыточны с точки зрения требований к хранению данных.
[7] Существует необходимость в удобных объектных структурах для хранения, обмена и воспроизведения изображений высокого динамического диапазона. И, в частности, существует необходимость в такой объектной структуре, которая будет обратно совместима с существующей технологией просмотра изображений.
КРАТКОЕ ОПИСАНИЕ ГРАФИЧЕСКИХ МАТЕРИАЛОВ
[8] Настоящее изобретение проиллюстрировано с помощью примера, и никоим образом не в целях ограничения, на фигурах прилагаемых графических материалов, в которых одинаковые номера ссылок относятся к одинаковым элементам и в которых:
[9] Фиг. 1 иллюстрирует примерный процесс декодирования, соответствующий варианту реализации настоящего изобретения;
[10] Фиг. 2 иллюстрирует примерный процесс декодирования, соответствующий другому варианту реализации настоящего изобретения;
[11] Фиг. 3 иллюстрирует примерные данные, содержащиеся в сегменте APP11 заголовка, в соответствии с вариантом реализации настоящего изобретения;
[12] Фиг. 4A-4B иллюстрируют приведенные в качестве примера сегменты для изображения остаточных соотношений;
[10] Фиг. 5 иллюстрирует примерную аппаратную платформу, на которой компьютерное устройство или вычислительное устройство может быть реализовано так, как описано в данном документе.
ОПИСАНИЕ ПРИМЕРНЫХ ВОЗМОЖНЫХ ВАРИАНТОВ РЕАЛИЗАЦИИ ИЗОБРЕТЕНИЯ
[11] В данном документе описаны возможные варианты реализации изобретения, относящиеся к HDR кодированию, декодированию и структурам данных. В последующем описании, в целях пояснения, множество конкретных деталей изложены так, чтобы обеспечить полное понимание настоящего изобретения. Будет очевидно, однако, что настоящее изобретение может использоваться без этих конкретных деталей. В других случаях хорошо известные структуры и устройства не описываются исчерпывающе подробно, чтобы избежать ненужного сокрытия, неясностей или путаницы в настоящем изобретении. Тем не менее, Патент США № 8514934, озаглавленный “Apparatus and methods for encoding, decoding, and representing high dynamic range images”, включен в данный документ посредством ссылки для всех целей.
[12] В соответствии с одним вариантом реализации настоящего изобретения, структура HDR данных выполняется с возможностью чтения существующими средствами отображения изображений. Существующие средства отображения изображений могут читать информацию карты тонов и игнорировать HDR информацию, такую как данные соотношений (как объясняется далее). В некоторых вариантах реализации изобретения структура данных содержит файл JFIF и содержит информацию карты тонов изображения JPEG. В некоторых вариантах реализации изобретения структура данных содержит файл MPEG, а информация карты тонов содержит фрейм видео MPEG.
[13] Другой аспект изобретения предполагает структуру данных для отображения изображения высокого динамического диапазона, обладающего начальным динамическим диапазоном. Структура данных содержит блок карты тонов и блок информации высокого динамического диапазона. Блок карты тонов содержит информацию карты тонов, отображающую изображение и имеет динамический диапазон меньший, чем начальный динамический диапазон. Блок информации высокого динамического диапазона содержит информацию, описывающую значения соотношения (освещенность) значений в блоке карты тонов для значений освещенности изображения высокого динамического диапазона.
ИЗОБРАЖЕНИЕ ОСТАТОЧНЫХ СООТНОШЕНИЙ
[14] Один из аспектов настоящего изобретения обеспечивает способы кодирования данных изображений высокого динамического диапазона. Эти способы включают прием, или генерирование другим способом, информации карты тонов, соответствующей данным изображения высокого динамического диапазона. Информация карты тонов имеет динамический диапазон меньший, чем в данных изображения высокого динамического диапазона. Способ вычисляет данные соотношений, содержащие соотношения значений в данных изображения высокого динамического диапазона, и соответствующие значения в информации карты тонов. Данные соотношений (или выводимая из них информация) и информация карты тонов могут сохраняться и передаваться для декодирования.
[15] Другой аспект этого изобретения предоставляет способы для декодирования кодового потока для реконструкции изображения высокого динамического диапазона. Способы содержат прием или доступ другим образом к информации карты тонов и соответствующих данных соотношений (или производной от них информации). Способы вычисляют изображение высокого динамического диапазона, используя значения, содержащиеся в информации карты тонов и соответствующих данных соотношений.
[16] Данные соотношений, как указано в настоящей заявке во всем ее объеме, могут быть вычислены, без ограничений, (i) как математическое деление значений числителя и знаменателя, включая, без ограничений, дополнительные математические операции – такие как логарифмирование соотношений, или, (ii) альтернативно, как вычитание двух логарифмических значений, включая, без ограничений, дополнительные математические операции. Типично, данные соотношений описывают освещенность, но могут также использоваться для каналов сигнала цветности (например, Cr, Cb). Для ясности, данные соотношений иногда описываются в данном документе как остаточные данные или содержащие остаточные данные.
[17] Фиг. 1 иллюстрируют примерный процесс декодирования в соответствии с вариантом реализации настоящего изобретения. Процесс начинается с помощью существующего блока декодирования, который реконструирует базовое изображение. Это изображение, затем опционально повышающе дискретизируется по каналу цветности, с последующим инверсным блоком декорреляции. Выходом этой трансформации является изображение низкого динамического диапазона, обратно совместимое с восемью битами на выборку, например, в цветовом пространстве RGB-типа.
[18] Компоненты низкого динамического диапазона дополнительно размечаются при помощи базового картографирования и блока конверсии цветового пространства в изображение с плавающей точкой, которое называется первичным изображением. Первичное изображение не обязательно конвертируется в цветовое пространство HDR, и освещенность может рассчитываться. Уровень шума может использоваться во избежание деления на ноль и для уменьшения артефактов сжатия, которые могут усиливаться в последующих блоках.
[19] Канал остаточного устройства декодирования использует остаточные значения, которые содержатся в кодовом потоке в маркерах APP11. Эти данные реконструируются и затем не обязательно повышающе дискретизируются. Затем они обрабатывается с помощью остаточного картографирования и инверсного блока декорреляции. Этот блок размечает остаточные значения в домене с плавающей точкой, который не обязательно инверсно декоррелируется. Это картографирование может использовать яркость, рассчитанную при базовом картографировании и блоком конверсии цветового пространства. Размеченные остаточные значения и первичное изображение обрабатываются блоком HDR реконструкции для создания реконструированного изображения HDR.
[20] Фиг. 2 иллюстрирует примерный процесс декодирования в соответствии с другим вариантом реализации настоящего изобретения. Процесс декодирования основывается на послойном приближении при помощи разбиения изображения HDR на базовый слой и слой HDR остаточных соотношений. Базовым слоем является размеченное тональное изображение, размеченное по тонам из оригинального HDR с плавающей точкой с помощью локального или глобального тонального картографировщика. Этот кодовый поток будет обратно совместим, доступен, с существующим устройством декодирования. Слой соотношения остаточных значений содержит HDR дискретизированную запись соотношений освещенности и цветовое остаточное значение, эти данные берутся вместе и представляются как единое изображение соотношения остаточных значений.
[21] Поскольку остаточные значения спрятаны в маркерах APP11, существующие устройства декодирования могут пропустить эти остаточные изображения и обращаться только к потоку кодов базового изображения, и, таким образом, этот процесс декодирования является обратно совместимым. Однако устройства декодирования, реализующие настоящее изобретение, могут объединять два слоя для реконструкции изображения HDR.
[22] На Фиг. 2 верхний канал, состоящий из блоков B1, B2 и B3, может быть стандартным потоком существующего устройства декодирования и выводить обратно совместимое изображение низкого динамического диапазона (LDR) в обычное sRGB пространство. Эти данные базового изображения затем размечаются в линейное пространство HDR и обрабатываются операцией конверсии цветового пространства в блоке B4. Этот блок конвертирует изображение LDR в цветовое пространство оригинального изображения HDR, и он также размечает изображение до значения с плавающей точкой и называется линейным предварительным RGB2, который также упоминается в данном документе как “LP_RGB2”. Значение уровня шума, указанное в параметре кодового потока, добавляется к компоненту освещенности LP_RGB2 во избежание деления на 0 и во избежание усиления любого шума, который может появляться из-за операций с выходным потоком из этого блока B4 для малых значений.
[23] На Фиг. 2 нижний канал из B5 начинается с остаточных значений изображения с высоким динамическим диапазоном и представлен ISO/IEC 10918-1 форматом кодового потока (который включен в данный документ посредством ссылки для всех целей и отображает желаемые форматы). Этот кодовый поток располагается в APP11 маркере как сегмент остаточных значений, описанный ниже. После декодирования посредством устройства декодирования этап повышающей цветовой дискретизации выполняется B6 для приведения всех компонентов в полное разрешение, например, 4:4:4.
[24] Остаточные данные соотношений затем отделяются B7 в значения линейных соотношений освещенности с плавающей точкой и значения линейных остаточных цветовых отличий. Входящие остаточные значения освещенности инверсно квантуются в соответствии с параметрами в кодовом потоке. Один из конкретных вариантов реализации изобретения это также воплощает с помощью подробной справочной таблицы в сегменте параметров в кодовом потоке. Если эта таблица не представлена, то используются минимум и максимум, упоминаемые как ln1, ln0 в сегменте параметров, и рассчитывается инверсная запись карты. Подобным образом, входящие значения дискретизации остаточного сигнала цветности инверсно квантуются в соответствии с минимальным и максимальным параметрами, сохраненными в сегменте параметров кодового потока как cb0,cb1 и cr0,cr1, если присутствуют.
[25] Значения цветового канала затем обрабатываются B8, YCbCr в RGB2 блок и будут конвертировать линейно деквантованный YCbCr в линейный остаточный RGB2 в цветовое пространство HDR, альтернативно упоминаемое как “LR_RGB2”. В итоге, блоки B9 и B10 создают изображение HDR сначала добавлением линейного предварительного RGB2 к линейному остаточному RGB2 в B9, и затем умножением результата на линейное соотношение освещенности в B10.
APP11 МАРКЕР
[26] Как проиллюстрировано на Фиг. 3, сегмент APP11 маркера разбит на сегмент данных параметров и сегмент данных. Сегмент параметров имеет два или более (например, 3) типов сегментов, таких как сегмент параметров ASCII типа, остаточный сегмент и сегмент параметров бинарного типа. Эта структура для сегмента APP11 маркера может использоваться в связи с любым вариантом реализации изобретения, описанного в данном документе, включая, без ограничений, примерные варианты реализации изобретений, проиллюстрированные на Фиг. 1 и 2.
КОНТРОЛЬНАЯ СУММА ДЛЯ ОБНАРУЖЕНИЯ ВНЕСЕНИЯ ИЗМЕНЕНИЙ
[27] Сегмент данных параметров (PDS) содержит закодированные параметры, в виде ASCII или бинарного текста, как полезные данные. Последний параметр в сегменте является контрольной суммой кодового потока базового слоя. В одном из вариантов реализации изобретения параметр ckb (ASCII) или chksum (бинарный, 16 бит) является контрольной суммой кодового потока базового слоя, вычисленной суммированием всех байтов в кодовом потоке базового слоя. Контрольная сумма содержит первый маркер SOF (например, начало фрейма) после последнего сегмента APP11 маркера и содержит все последующие байты, в том числе маркер EOI (например, конец фрейма). Это может использоваться устройством декодирования для обнаружения наличия изменений базового слоя, что может давать в результате нежелательные артефакты при декодировании изображения высокого динамического диапазона (HDR). В одном из конкретных вариантов реализации изобретения контрольная сумма зависима от положения (или порядка), такая как контрольная сумма Флетчера (например, Fletcher-16, Fletcher-32, Flectcher-64). Смотрите Fletcher, J. G. (январь 1982). "An Arithmetic Checksum for Serial Transmissions", IEEE Transactions on Communications, COM-30 (1): 247–252 для дополнительной информации, которая включена в данный документ посредством ссылки для всех целей.
[28] В альтернативном варианте реализации изобретения PDS может отображать использование более сложного хеш-алгоритма, чем контрольная сумма. Более сложный хеш-алгоритм уменьшает возможности хеш-конфликтов, например, необнаруживаемые изменения данных, если результаты входных данных различаются в одинаковых хеш-значениях. Соответственно, хеш-значение, генерируемое для оригинального базового слоя, вероятностно не должно совпадать, если базовый слой изменился. Примерные хеш-функции могут быть представлены или реализоваться:
(i) нелинейной справочной таблицей;
(ii) криптографической хеш-функцией (например, HAIFA, Merkle-Damgård, уникальное взаимодействие блока, и подобными);
(iii) не криптографической хеш-функцией (исключающая ИЛИ, произведение, суммирование, вращение);
(iv) случайным выбором, который выбирает хеш-функцию из предварительно определенного набора;
(v) циклическим контролем (контролями) избыточности; и
(vi) контрольной суммой (суммами) – например, Fletcher, Adler-32.
[29] В еще одном альтернативном варианте реализации изобретения техники выявления характерных особенностей структуры или медийной скрытой информации могут сигнализироваться с помощью PDS и проверяться во время декодирования или восстановления/воспроизведения изображения.
[30] Контрольная сумма, хеш-функция или другие описанные альтернативы для определения наличия изменений базового слоя могут использоваться в соединении с любым описанным здесь вариантом реализации изобретения, включая без ограничений, примерные варианты реализации изобретения, описанные на Фиг. 1 и 2. Дополнительно, на основании приведенных положений, контрольная сумма, хеш-функция или их альтернативы также могут использоваться для обнаружения изменений слоя соотношения остаточных значений.
ШИФРОВАНИЕ/ДЕШИФРОВАНИЕ ОСТАТОЧНОГО СЛОЯ, РЕАЛИЗУЕМОЕ НА ОСНОВЕ КАЖДОГО СЕГМЕНТА
[31] Другим параметром в PDS, или где-либо еще, может быть параметр шифрования, такой как ключ шифрования. Эта информация может использоваться для дешифрования слоя соотношения остаточных значений, например, на сегментной основе кодового потока. Сегмент может быть независимо дешифруемой последовательностью энтропии зашифрованных байтов данных сжатого изображения. Другими словами, в соответствии с вариантом реализации настоящего изобретения, различные параметры шифрования могут предоставляться и использоваться для каждого сегмента. Параметр шифрования и соответствующая обработка могут использоваться в связи с любым описанным в данном документе вариантом реализации изобретения, включая, без ограничений, примерные варианты, проиллюстрированные на Фиг. 1 и 2.
ИНВЕРСНОЕ КАРТОГРАФИРОВАНИЕ ТОНОВ В СПРАВОЧНОЙ ТАБЛИЦЕ ДИГАММА/СПРАВОЧНОЙ ТАБЛИЦЕ РАЗМЕЧЕНИЯ
[32] Справочная таблица дигамма (LUT), описанная выше (как блок B4 на Фиг. 2), является таблицей на 256 элементов, загружаемой по умолчанию Rec. 601 таблицей (ITU-R Recommendation BT.601, доступной на http://www.itu.int/rec/R-REC-BT.601-7-201103-I/en, которая включена в данный документ посредством ссылки), которая обычно инверсно линейна и является степенной функцией 2.4. Если это выполняется в альтернативном цветовом пространстве, таком как Adobe RGB от Adobe Systems, Inc., справочная таблица может быть отправлена в заголовке информации. Дополнительно, дигамма LUT может содержать инверсную функцию/кривую картографирования тонов, такую как обратная гистограмма коррекции или инверсный картографер тонов Reinhard. В некоторых случаях дигамма LUT с инверсным картографированием тонов может уменьшать память, используемую для слоя соотношения остаточных значений. Для дополнительной информации по картограферу тонов Reinhard смотрите http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf (“Photographic Tone Reproduction for Digital Images”), который включен в данный документ посредством ссылки для всех целей.
СЕГМЕНТ БИНАРНОГО ЗАГОЛОВКА
[33] Сегмент APP11 маркера может содержать бинарные данные параметров, проиллюстрированные как “Type 3” на Фиг. 3. Сегмент Type 3 и его соответствующая обработка может использоваться в связи с любым описанным в данном документе вариантом реализации изобретения, включая, без ограничений, примерные варианты реализации изобретения, проиллюстрированные на Фиг. 1 и 2.
ИНДЕКС СЕГМЕНТА И РАСПОЛОЖЕНИЕ НАЧАЛА ДЛЯ ЭТОГО СЕГМЕНТА
[34] В варианте реализации настоящего изобретения продолжительность и протяженность сегментов для изображения соотношения остаточных значений должны совпадать с изображением базового слоя. Например, изображение соотношения остаточных значений может быть разбито на множество сегментов, непрерывных и фрагментированных. Набор этих сегментов изображения соотношения остаточных значений не должен соответствовать всему изображению, но может определять один или более участков изображения. Эта функциональность разрешает реконструкцию HDR из части изображения базового слоя, но не со всего изображения базового слоя. Например, параметр шифрования может обеспечиваться для одного сегмента (например, левой половины изображения, верхней половины изображения) для реконструкции HDR, в то время как информация соотношения остаточных значений для другого сегмента (например, правой половины изображения, нижней половины изображения) остается зашифрованной для ограниченной репродукции базового слоя.
[35] Каждый сегмент изображения соотношения остаточных значений может быть определен с помощью координатных ссылок (например, координат x и y для одного из четырех углов, если сегмент прямоугольный) и его длины и ширины. Если сегмент имеет отличающуюся геометрическую форму, то он может определяться центральным положением и радиусом/диаметром или подобным. Фиг. 4А-4В иллюстрируют примерные сегменты изображения соотношения остаточных значений, которые могут использоваться в связи с любым вариантом реализации настоящего изобретения, включая, без ограничений, примерные варианты реализации изобретения, проиллюстрированные на Фиг. 1 и 2.
УСТРОЙСТВА РЕАЛИЗАЦИИ – ОБЗОР АППАРАТНЫХ СРЕДСТВ
[100] В соответствии с одним из вариантов реализации изобретения, методы, описанные в данном документе, реализуются одним или более компьютерных устройств специального назначения. Компьютерные устройства специального назначения могут быть специально изготовлены для реализации методов или могут содержать цифровые электронные устройства, такие как одна или более специализированных интегральных схем (ASIC) или программируемые пользователем вентильные матрицы (FPGA), которые перманентно программируются для реализации методов, или могут содержать один или более аппаратных процессоров общего назначения, запрограммированных для выполнения методов, соответствующих программным командам во встроенном программном обеспечении, памяти, других хранилищах или их комбинациях. Такие вычислительные устройства специального назначения могут также объединять специализированную аппаратную логику, ASIC или FPGA со специализированным программированием для выполнения методов. Вычислительные устройства специального назначения могут быть настольными компьютерными системами, портативными компьютерными системами, переносными устройствами, сетевыми устройствами или любым другим устройством, которое содержит аппаратную и/или программную логику для реализации методов.
[101] Например, Фиг. 5 является блок-схемой, иллюстрирующей компьютерную систему 1600, на которой вариант реализации изобретения может быть реализован. Компьютерная система 1600 содержит шину 1602 или другой коммуникационный механизм для передачи информации и аппаратный процессор 1604, соединенный с шиной 1602 для обработки информации. Аппаратный процессор 1604 может быть, например, микропроцессором общего назначения.
[102] Компьютерная система 1600 также содержит основную память 1606, такую как оперативное запоминающее устройство (RAM) или другое динамическое запоминающее устройство, соединенное с шиной 1602 для сохранения информации и инструкций для выполнения процессором 1604. Основная память 1606 также может использоваться для хранения временных переменных или другой промежуточной информации во время выполнения инструкций, предназначенных для выполнения процессором 1604. Такие инструкции, при хранении в энергонезависимом носителе информации, доступны процессору 1604, превращая компьютерную систему 1600 в машину специального назначения, которая модифицируется для выполнения операций, указанных в инструкциях.
[103] Компьютерная система 1600 дополнительно содержит постоянное запоминающее устройство (ROM) 1608 или другое статическое запоминающее устройство, соединенное с шиной 1602 для хранения статической информации и инструкций для процессора 1604. Устройство хранения 1610, такое как магнитный диск или оптический диск, предусмотрено и соединено с шиной 1602 для хранения информации и инструкций.
[104] Компьютерная система 1600 может соединяться с помощью шины 1602 с дисплеем 1612, таким как жидкокристаллический дисплей, для отображения информации пользователю компьютера. Устройство ввода 1614, содержащее алфавитно-цифровые и другие клавиши, соединено с шиной 1602 для передачи информации и выбора команд на процессор 1604. Другим типом пользовательского устройства ввода является контроллер курсора 1616, такой как мышь, трекбол или клавиши направления курсора для передачи информации направления и выбора команд на процессор 1604 и для управления движением курсора по дисплею 1612. Это устройство ввода обычно имеет две степени свободы в двух осях, первой оси (например, x) и второй оси (например, y), которые позволяют устройству выбирать положение на плоскости.
[105] Компьютерная система 1600 может реализовать описанные в данном документе методы, используя специализированную аппаратную логику, одну или более ASIC или FPGA, программно-аппаратные средства и/или программную логику, которая в комбинации с компьютерной системой инициирует или программирует компьютерную систему 1600 в машину специального назначения. В соответствии с одним из вариантов реализации изобретения, описанные в данном документе методы выполняются компьютерной системой 1600 в ответ на выполнение процессором 1604 одной или более последовательностей одной или более инструкций, содержащихся в основной памяти 1606. Такие инструкции могут быть прочитаны в основной памяти 1606 из другого носителя информации, такого как устройство хранения 1610. Выполнение последовательностей инструкций, содержащихся в основной памяти 1606, заставляет процессор 1604 выполнять описанные в данном документе операции обработки. В альтернативных вариантах реализации изобретения аппаратные цепи могут использоваться вместо или совместно с программными инструкциями.
[106] Термин “носитель информации”, используемый в данном документе, относится к любому энергонезависимому носителю, который хранит данные и/или инструкции, которые инициируют машину к работе специальным способом. Такие носители информации могут содержать энергонезависимые носители и/или временные носители. Энергонезависимые носители включают, например, оптические или магнитные диски, такие как устройство хранения 1610. Временные носители включают динамическую память, такую как основная память 1606. Общие формы носителей информации включают, например, дискету, гибкий диск, жесткий диск, твердотельный накопитель, магнитную пленку или любой другой магнитный носитель хранения данных, CD-ROM, любой другой оптический носитель хранения данных, любой физический носитель с шаблонами отверстий, ОЗУ, программируемое постоянное запоминающее устройство (ППЗУ), стираемое программируемое постоянное запоминающее устройство (СППЗУ), флеш-стираемое программируемое постоянное запоминающее устройство (FLASH-EPROM), энергонезависимую память (NVRAM), любой другой чип памяти или картридж.
[107] Носитель информации отличается от передающей среды, но может использоваться совместно с передающей средой. Передающая среда участвует в передаче информации между носителями информации. Например, передающая среда включает коаксиальные кабели, медный провод и оптические кабели, включая провода, содержащие шину 1602. Передающая среда также может принимать форму акустических или световых волн, таких как генерируемые во время передачи данных радио- и инфракрасными волнами.
[108] Различные формы сред могут быть вовлечены в выполнение одной или более последовательностей одной или более инструкций, предназначенных для выполнения процессором 1604. Например, инструкции могут сначала содержаться на магнитном диске или твердотельном приводе удаленного компьютера. Удаленный компьютер может загружать инструкции в свою динамическую память и посылать инструкции по телефонной линии, используя модем. Локальный модем компьютерной системы 1600 может принимать данные по телефонной линии и использовать инфракрасный передатчик для преобразования данных в инфракрасный сигнал. Инфракрасный детектор может принимать данные, содержащиеся в инфракрасном сигнале, и соответствующие схемы могут передавать данные на шину 1602. Шина 1602 передает данные в основную память 1606, из которой процессор 1604 извлекает и выполняет инструкции. Инструкции, принимаемые основной памятью, 1606 могут опционально сохраняться в устройстве хранения 1610 как до, так и после выполнения процессором 1604.
[109] Компьютерная система 1600 также содержит коммуникационный интерфейс 1618, соединенный с шиной 1602. Коммуникационный интерфейс 1618 обеспечивает двунаправленное коммуникационное соединение передачи данных, соединенное с сетевой линией 1620, которая соединена с локальной сетью 1622. Например, коммуникационный интерфейс 1618 может быть картой цифровой сети с комплексными услугами (ISDN), кабельным модемом, спутниковым модемом или модемом для обеспечения соединения передачи данных на соответствующий тип телефонной линии. В качестве другого примера, коммуникационный интерфейс 1618 может быть картой локальной сети (LAN) для обеспечения соединения передачи данных на совместимую LAN. Также могут воплощаться беспроводные соединения. В таком варианте реализации коммуникационный интерфейс 1618 отправляет и принимает электрические, электромагнитные или оптические сигналы, которые переносят цифровые потоки данных, отображающие различные типы информации.
[110] Сетевая линия 1620 обычно предоставляет соединение передачи данных через одну или более сетей на другие устройства данных. Например, сетевая линия 1620 может обеспечивать соединение через локальную сеть 1622 с главным компьютером 1624 или с оборудованием обработки данных, управляемым Интернет-провайдером (ISP) 1626. ISP 1626, в свою очередь, обеспечивает сервисы передачи данных через всемирную коммуникационную сеть передачи пакетов данных, сейчас в общем упоминаемую как “Интернет” 1628. Как локальная сеть 1622, так и Интернет 1628 используют электрические, электромагнитные или оптические сигналы для передачи цифровых потоков данных. Сигналы через различные сети и сигналы по сетевым линиям 1620 и через коммуникационный интерфейс 1618, которые передают цифровые данные на и из компьютерной системы 1600, являются примерными формами передающей среды.
[111] Компьютерная система 1600 может отправлять сообщения и принимать данные, включая программный код, через сеть(и), сетевую линию 1620 и коммуникационный интерфейс 1618. На примере Интернета, сервер 1630 может передавать запрашиваемый код для программы приложения через Интернет 1628, ISP 1626, локальную сеть 1622 и коммуникационный интерфейс 1618.
[112] Принятый код может выполняться процессором 1604 по приему и/или сохраняться в устройстве хранения 1610 или другом энергонезависимом хранилище для более позднего выполнения.
ЭКВИВАЛЕНТЫ, РАСШИРЕНИЯ, АЛЬТЕРНАТИВЫ И ПРОЧЕЕ
[113] В вышеизложенном описании возможные варианты реализации изобретения были описаны со ссылками на множество отдельных деталей, которые могут отличаться в зависимости от варианта реализации изобретения. Таким образом, исключительным и эксклюзивным показателем того, что именно является изобретением, и чему положено быть изобретением по мнению заявителей, является набор пунктов формулы изобретения, выводимой из настоящей заявки в специальной форме, в которой выводится формула изобретения, включая любые последующие корректировки. Любые определения, включенные в данный документе, для терминов, содержащихся в такой формуле изобретения, регулируют значение таких терминов, используемых в формуле изобретения. Следовательно, без ограничений, элемент, свойство, деталь, преимущество или атрибут, который не упомянут в формуле изобретения, будет ограничивать объем формулы изобретения в любом случае. Описание и графические материалы, соответственно, следует расценивать как иллюстративные, а не имеющие ограничивающий характер.
ДОПОЛНИТЕЛЬНЫЕ ССЫЛКИ
[114] Приведенные ниже ссылки, в дополнение к ссылкам, упоминаемым ранее, включены в данный документ посредством ссылок для всех целей:
(i) ITU-T Rec. Т.81 IISO/IEC 10918-1: Information Technology - Digital Compression and Coding of Continuous Tone Still Images - Requirements and Guidelines
(ii) ITU-T Rec. T.86 IISO/IEC 10918-4: Information technology - Digital compression and coding of continuous-tone still images: Registration of JPEG profiles, SPIFF profiles, SPIFF tags, SPIFF colour spaces, APPn markers, SPIFF compression types, and Registration Authorities
(iii) ITU-T Rec. T.871 I ISO/IEC 10918-5: Information technology - Digital compression
and coding of continuous-tone still images: JPEG File Interchange Format
(iv) ITU-T Rec. T.801 I ISO/IEC 15444-1: Information technology - JPEG 2000 Image
Coding System; and
(v) IEC 60559 Binary floating-point arithmetic for microprocessor systems.