Способ, устройство и система для кодирования и декодирования карты значимости для остаточных коэффициентов единицы преобразования

Иллюстрации

Показать все

Изобретение относится к вычислительной технике. Технический результат заключается в улучшении пропускной способности за счет гармонизации верхних и нижних шаблонов сканирования. Способ декодирования остаточных коэффициентов единицы преобразования из потока битов видеоданных, в котором принимают единицу преобразования из потока битов видеоданных, причем единица преобразования имеет квадратные слои верхнего уровня и нижнего уровня, причем квадратный слой верхнего уровня представляет квадратную компоновку из флагов групп значимых коэффициентов, при этом каждый из флагов групп значимых коэффициентов представляет неперекрывающуюся область квадратного слоя нижнего уровня; согласно режиму внутреннего предсказания определяют шаблон сканирования квадратного слоя верхнего и нижнего уровней, который является одним и тем же для упомянутых верхнего и нижнего квадратных слоев; определяют флаги групп значимых коэффициентов квадратного слоя верхнего уровня для принимаемой единицы преобразования согласно определенному шаблону сканирования; и определяют значения остаточных коэффициентов квадратного слоя нижнего уровня согласно определенным флагам групп значимых коэффициентов для декодирования единицы преобразования потока битов видеоданных. 4 н. и 7 з.п. ф-лы, 28 ил.

Реферат

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

[0001] Настоящее изобретение/ в общем, относится к обработке цифровых видеосигналов, и, в частности, к способу, устройству и системе для кодирования и декодирования остаточных коэффициентов единицы преобразования (TU), при этом единица преобразования (TU) может иметь квадратную форму или неквадратную форму.

УРОВЕНЬ ТЕХНИКИ

[0002] В настоящее время предусмотрено множество вариантов применения для кодирования видео, включающих в себя варианты применения для передачи и хранения видеоданных. Также разработано множество стандартов кодирования видео, и другие в данный момент разрабатываются. Новейшие разработки в стандартизации кодирования видео привели к образованию группы, называемой "Объединенной группой для совместной работы над видеостандартами" (JCT-VC). Объединенная группа для совместной работы над видеостандартами (JCT-VC) включает в себя членов Исследовательской группы 16, проблема 6 (SG16/Q6) Сектора стандартизации электросвязи (ITU-T) Международного союза по телекоммуникациям (ITU), известной как Экспертная группа в области кодирования видео (VCEG), и членов Объединенного технического комитета 1/Подкомитета 29/Рабочей группы 1 Международной организации по стандартизации/Международной электротехнической комиссии (ISO/IEC JTC1/SC29/WG11), также известной как Экспертная группа по киноизображению (MPEG).

[0003] Объединенная группа для совместной работы над видеостандартами (JCT-VC) имеет цель создания нового стандарта кодирования видео, который должен существенно превосходить текущий существующий стандарт кодирования видео, известный как "H.264/MPEG-4 AVC". Стандарт H.264/MPEG-4 AVC представляет собой существенное улучшение по сравнению с предыдущими стандартами кодирования видео, такими как ITU-T H.263 и MPEG-4. Новый разрабатываемый стандарт кодирования видео назван "стандартом высокоэффективного кодирования видео (HEVC)". Объединенная группа для совместной работы над видеостандартами (JCT-VC) также рассматривает сложности реализации, возникающие в результате применения технологии, предложенной для стандарта высокоэффективного кодирования видео (HEVC), которые создают трудности при масштабировании реализации стандарта таким образом, чтобы работать при высоких разрешениях или высоких частотах кадров.

[0004] Одна область стандарта кодирования видео H.264/MPEG-4 AVC, которая представляет трудности для достижения высокой эффективности сжатия, представляет собой кодирование остаточных коэффициентов, используемых для того, чтобы представлять видеоданные. Видеоданные формируются посредством последовательности кадров, при этом каждый кадр имеет двумерный массив выборок. Типично, кадры включают в себя один канал сигнала яркости и два канала сигнала цветности. Каждый кадр разлагается на массив наибольших единиц кодирования (LCU). Наибольшие единицы кодирования (LCU) имеют фиксированный размер, при этом краевые размеры составляют степень двух и имеют равную ширину и высоту, к примеру, 64 выборки сигнала яркости. Дерево кодирования предоставляет подразделение каждой наибольшей единицы кодирования (LCU) на четыре единицы кодирования (CU), имеющие половину ширины и высоты родительской наибольшей единицы кодирования (LCU). Каждая из единиц кодирования (CU) дополнительно может подразделяться на четыре единицы кодирования (CU) одинакового размера. Такой процесс подразделения может применяться рекурсивно до тех пор, пока не будет достигнут размер наименьшей единицы кодирования (SCU), обеспечивая возможность задания единиц кодирования (CU) вплоть до минимального поддерживаемого размера. Рекурсивное подразделение наибольшей единицы кодирования на иерархию единиц кодирования упоминается, имеет структуру в виде дерева квадрантов и упоминается в качестве дерева кодирования. Этот процесс подразделения кодируется в потоке битов связи в качестве последовательности флагов, кодированных в качестве ячеек (бинов). Следовательно, единицы кодирования имеют квадратную форму.

[0005] В дереве кодирования предусмотрен набор единиц кодирования, которые дополнительно не подразделяются, занимающих концевые узлы дерева кодирования. Деревья преобразования существуют в этих единицах кодирования. Дерево преобразования дополнительно может разлагать единицу кодирования с использованием структуры в виде дерева квадрантов, используемой для дерева кодирования. В концевых узлах дерева преобразования, остаточные данные кодируются с использованием единиц преобразования (TU). В отличие от дерева кодирования, дерево преобразования может подразделять единицы кодирования на единицы преобразования, имеющие неквадратную форму. Дополнительно, структура дерева преобразования не требует, чтобы единицы преобразования (TU) занимали всю область, предоставленную посредством родительской единицы кодирования.

[0006] Каждая единица кодирования в концевых узлах деревьев кодирования подразделяется на один или более массивов выборок прогнозированных данных, каждый из которых известен как единица прогнозирования (PU). Каждая единица прогнозирования (PU) содержит прогнозирование части входных данных видеокадров, извлекаемых посредством применения процесса внутреннего прогнозирования или внешнего прогнозирования. Несколько способов могут быть использованы для кодирования единиц прогнозирования (PU) в единице кодирования (CU). Одна единица прогнозирования (PU) может занимать всю область единицы кодирования (CU), либо единица кодирования (CU) может разбиваться на две прямоугольных единицы прогнозирования (PU) одинакового размера, горизонтально или вертикально. Дополнительно, единицы кодирования (CU) могут разбиваться на четыре квадратных единицы прогнозирования (PU) одинакового размера.

[0007] Видеокодер сжимает видеоданные в поток битов посредством преобразования видеоданных в последовательность элементов синтаксиса. Схема контекстно-адаптивного двоичного арифметического кодирования (САВАС) задается в разрабатываемом стандарте высокоэффективного кодирования видео (HEVC), с использованием схемы арифметического кодирования, идентичной схеме арифметического кодирования, заданной в стандарте сжатия видео MPEG4-AVC/H.264. В разрабатываемом стандарте высокоэффективного кодирования видео (HEVC), когда используется контекстно-адаптивное двоичное арифметическое кодирование (САВАС), каждый элемент синтаксиса выражается как последовательность ячеек, при этом ячейки выбираются из набора доступных ячеек. Набор доступных ячеек получается из контекстной модели с одним контекстом в расчете на ячейку. Каждый контекст хранит вероятное значение ячейки (valMPS) и вероятностное состояние для операции арифметического кодирования или арифметического декодирования. Следует отметить, что ячейки также могут подвергаться обходному кодированию, если отсутствует ассоциирование с контекстом. Ячейки после обходного кодирования используют один бит в потоке битов и, следовательно, подходят для ячеек с равной вероятностью единичного значения или нулевого значения. Создание такой последовательности ячеек из элемента синтаксиса известно как "формирование ячеек" для элементов синтаксиса.

[0008] В видеокодере или видеодекодере, поскольку отдельная контекстная информация доступна для каждой ячейки, выбор контекста для ячеек предоставляет средство для того, чтобы повышать эффективность кодирования. В частности, эффективность кодирования может быть повышена посредством выбора конкретной ячейки таким образом, что статистические свойства предыдущих экземпляров ячейки, в которых использована ассоциированная контекстная информация, коррелируются со статистическими свойствами текущего экземпляра ячейки. Такой выбор контекста часто использует пространственно локальную информацию для того, чтобы определять оптимальный контекст.

[0009] В разрабатываемом стандарте высокоэффективного кодирования видео (HEVC) и в H.264/MPEG-4 AVC, прогнозирование для текущего блока извлекается на основе данных опорных выборок либо из других кадров, либо из соседних областей в текущем блоке, которые ранее декодированы. Разность между прогнозированием и требуемыми дискретизированными данными известна как остаток. Представление в частотной области остатка представляет собой двумерный массив остаточных коэффициентов. Обычно, верхний левый угол двумерного массива содержит остаточные коэффициенты, представляющие низкочастотную информацию.

[0010] В типичных видеоданных большая часть изменений в выборочных значениях является постепенной, приводя к преобладанию низкочастотной информации в остатке. Это проявляется в качестве больших абсолютных величин для остаточных коэффициентов, расположенных в верхнем левом углу двумерного массива.

[0011] Свойство преобладания низкочастотной информации в верхнем левом углу двумерного массива остаточных коэффициентов может быть использовано посредством выбранной схемы преобразования в двоичную форму для того, чтобы минимизировать размер остаточных коэффициентов в потоке битов.

[0012] НМ 5.0 разделяет единицу преобразования (TU) на определенное число поднаборов и сканирует остаточные коэффициенты в каждом поднаборе в два прохода. Первый проход кодирует флаги, указывающие состояние остаточных коэффициентов, как с ненулевым значением (значимые) или с нулевым значением (незначимые). Эти данные известны как карта значимости. Второй проход кодирует абсолютную величину и знак значимых остаточных коэффициентов, известных как уровни коэффициентов.

[0013] Предоставленный шаблон сканирования обеспечивает сканирование двумерного массива остаточных коэффициентов в одномерный массив. В НМ 5.0, предоставленный шаблон сканирования используется для обработки как карты значимости, так и уровней коэффициентов. Посредством сканирования карты значимости с использованием предоставленного шаблона сканирования может быть определено местоположение последнего значимого коэффициента в двумерной карте значимости. Шаблоны сканирования могут быть горизонтальными, вертикальными или диагональными.

[0014] Тестовая модель на основе стандарта высокоэффективного кодирования видео (HEVC) 5.0 (НМ 5.0) предоставляет поддержку для остаточных блоков, также известных как единицы преобразования (TU), имеющих как квадратную форму, так и неквадратную форму. Каждая единица преобразования (TU) содержит набор остаточных коэффициентов. Остаточные блоки, имеющие одинаковые боковые размеры, известны как квадратные единицы преобразования (TU), и остаточные блоки, имеющие неодинаковые боковые размеры, известны как неквадратные единицы преобразования (TU).

[0015] Размеры единиц преобразования (TU), поддерживаемые в НМ 5.0, составляют 4×4, 8×8, 16×16, 32×32, 4×16, 16×4, 8×32 и 32×8. Размеры единиц преобразования (TU) типично описываются с точки зрения выборок сигнала яркости, тем не менее, когда используется формат сигнала цветности 4:2:0, каждая выборка сигнала цветности занимает область выборок сигнала яркости 2×2. Соответственно, сканирование единиц преобразования (TU), чтобы кодировать остаточные данные сигнала цветности, использует шаблоны сканирования в половину размеров по горизонтали и по вертикали, к примеру, 2×2 для остаточного блока сигнала яркости 4×4. Для сканирования и кодирования остаточных коэффициентов, единицы преобразования (TU) 16×16, 32×32, 4×16, 16×4, 8×32 и 32×8 разделяются на определенное число субблоков, т.е.: нижний слой сканирования единиц преобразования (TU), имеющий размер 4×4, с соответствующей картой, существующей в НМ 5.0. В НМ 5.0, субблоки для этих размеров единиц преобразования (TU) совместно размещаются с поднаборами в единице преобразования (TU). Заданные флаги значимых коэффициентов в части карты значимости, совместно размещаемой в одном субблоке, упоминается в качестве группы значимых коэффициентов. Для единиц преобразования (TU) 16×16, 32×32, 4×16, 16×4, 8×32 и 32×8, кодирование на основе карты значимости использует двухуровневое сканирование. Сканирование верхнего уровня выполняет сканирование, такое как обратное диагональное сканирование вниз и влево, чтобы кодировать или логически выводить флаги, представляющие группы значимых коэффициентов каждого субблока. В субблоках, сканирование, такое как обратное диагональное сканирование вниз и влево, выполняется для того, чтобы кодировать флаги значимых коэффициентов для субблоков, имеющих флаг группы значимых коэффициентов с единичным значением. Для единицы преобразования (TU) 16×16, используется сканирование верхнего уровня 4×4. Для единицы преобразования (TU) 32×32, используется сканирование верхнего уровня 8×8. Для размеров единиц преобразования (TU) 16×4, 4×16, 32×8 и 8×32, используются сканирования верхнего уровня 4×1, 1×4, 8×2 и 2×8, соответственно.

[0016] В каждой единице преобразования (TU) данные остаточных коэффициентов могут быть кодированы в поток битов. Каждый "остаточный коэффициент" является числом, представляющим характеристики изображений в единице преобразования в частотной (DCT) области и занимающим уникальное местоположение в единице преобразования. Единица преобразования представляет собой блок выборок остаточных данных, которые могут быть преобразованы между пространственным и частотными областями. В частотной области единица преобразования (TU) кодирует выборки остаточных данных в качестве данных остаточных коэффициентов. Боковые размеры единиц преобразования имеют размер в степенях двух (2), в пределах от 4 выборок до 32 выборок для канала "сигнала яркости" и от 2 до 16 выборок для канала "сигнала цветности". Концевые узлы дерева единиц преобразования (TU) могут содержать или единицу преобразования (TU), или вообще ничего, в случае если не требуются данные остаточных коэффициентов.

[0017] Поскольку пространственное представление единицы преобразования представляет собой двумерный массив выборок остаточных данных, как подробно поясняется ниже, представление в частотной области, вытекающее из преобразования, такого как модифицированное дискретное косинусное преобразование (DCT), также представляет собой двумерный массив остаточных коэффициентов. Спектральные характеристики типичных дискретизированных данных в единице преобразования (TU) являются такими, что представление в частотной области является более компактным, чем пространственное представление. Дополнительно, преобладание спектральной информации нижних частот, типичной в единице преобразования (TU), приводит к кластеризации остаточных коэффициентов с большим значением в направлении сверху слева от единицы преобразования (TU), в которой представляются низкочастотные остаточные коэффициенты.

[0018] Модифицированные дискретные косинусные преобразования (DCT) или модифицированные дискретные синусные преобразования (DST) могут быть использованы для того, чтобы реализовывать остаточное преобразование. Реализации остаточного преобразования выполнены с возможностью поддерживать каждый требуемый размер единицы преобразования (TU). В видеокодере, остаточные коэффициенты из остаточного преобразования масштабируются и квантуются. Масштабирование и квантование уменьшает абсолютную величину остаточных коэффициентов, уменьшая размер данных, кодированных в поток битов, за счет снижения качества изображения.

[0019] Один аспект сложности разрабатываемого стандарта высокоэффективного кодирования видео (HEVC) заключается в числе таблиц поиска, требуемых для того, чтобы выполнять сканирование. Каждая дополнительная таблица поиска приводит к нежелательному потреблению запоминающего устройства, и, следовательно, уменьшение числа требуемых таблиц поиска является одним аспектом уменьшения сложности.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

[0020] Цель настоящего изобретения заключается в том, чтобы в значительной степени преодолевать или, по меньшей мере, снижать остроту одного или более недостатков существующих компоновок.

[0021] Согласно одному аспекту настоящего раскрытия сущности, предусмотрен способ декодирования остаточных коэффициентов единицы преобразования из потока битов видеоданных, при этом способ содержит:

- прием единицы преобразования из потока битов видеоданных, причем единица преобразования имеет квадратные слои верхнего и нижнего уровня, причем слой верхнего уровня представляет квадратную компоновку самое большее из четырех флагов групп значимых коэффициентов, при этом каждый из флагов групп значимых коэффициентов представляет неперекрывающуюся область слоя нижнего уровня;

- определение флагов групп значимых коэффициентов квадратного слоя верхнего уровня для принимаемой единицы преобразования; и

- определение значений остаточных коэффициентов квадратного нижнего слоя согласно определенным флагам групп значимых коэффициентов, чтобы декодировать единицу преобразования потока битов видеоданных.

[0022] Предпочтительно, каждая из неперекрывающихся областей, представленных посредством самое большее четырех флагов групп значимых коэффициентов, представляет собой квадратную область с шестнадцатью остаточными коэффициентами.

[0023] Предпочтительно, слой верхнего уровня имеет четыре флага значимых коэффициентов, при этом способ содержит дополнительный этап определения шаблона сканирования для каждой из неперекрывающихся областей слоя нижнего уровня посредством применения смещения к предварительно определенному шаблону сканирования.

[0024] Способ также может определять флаги групп значимых коэффициентов квадратного слоя верхнего уровня посредством декодирования флагов значимых коэффициентов, кодированных в потоке битов.

[0025] Предпочтительно, определение флагов групп значимых коэффициентов квадратного слоя верхнего уровня содержит логический вывод по меньшей мере одного из флагов значимых коэффициентов.

[0026] Преимущественно, слой нижнего уровня единицы преобразования формируется в качестве субблоков, и определение значений остаточных коэффициентов квадратного нижнего слоя согласно определенным флагам групп значимых коэффициентов содержит итеративное прохождение по каждому из субблоков единицы преобразования. Предпочтительно, итеративное прохождение формирует линейный массив, представляющий каждый из субблоков, в котором соответствующее значение смещения используется для того, чтобы восстанавливать каждый субблок из линейного массива.

[0027] В конкретной реализации, слой верхнего уровня представляет квадратную компоновку из четырех флагов групп значимых коэффициентов.

[0028] В одной реализации, направление сканирования нижнего слоя единицы преобразования выбирается согласно режиму внутреннего прогнозирования, применяемому к единице преобразования. В другой реализации, направление сканирования верхнего слоя единицы преобразования выбирается согласно режиму внутреннего прогнозирования, применяемому к единице преобразования. Дополнительно, направление сканирования верхнего слоя единицы преобразования является диагональным и независимым от направления сканирования нижнего слоя единицы преобразования.

[0029] Согласно другому аспекту настоящего раскрытия сущности, предусмотрен способ кодирования остаточных коэффициентов единицы преобразования в потоке битов видеоданных, при этом способ содержит:

- прием значений остаточных коэффициентов для квадратного нижнего слоя единицы преобразования;

- определение флагов групп значимых коэффициентов для квадратного слоя верхнего уровня единицы преобразования, причем слой верхнего уровня представляет квадратную компоновку самое большее из четырех флагов групп значимых коэффициентов, при этом каждый из флагов групп значимых коэффициентов представляет неперекрывающуюся область слоя нижнего уровня; и

- кодирование значений остаточных коэффициентов для квадратного нижнего слоя и флагов групп значимых коэффициентов квадратного слоя верхнего уровня, чтобы кодировать единицу преобразования в потоке битов видеоданных.

[0030] Согласно другому аспекту, предусмотрен способ декодирования остаточных коэффициентов единицы преобразования из потока битов видеоданных, при этом способ содержит:

- прием единицы преобразования из потока битов видеоданных, причем единица преобразования имеет квадратные слои верхнего уровня и нижнего уровня, причем квадратный слой верхнего уровня представляет квадратную компоновку из флагов групп значимых коэффициентов, при этом каждый из флагов групп значимых коэффициентов представляет неперекрывающуюся область квадратного слоя нижнего уровня;

- определение шаблона сканирования квадратного слоя верхнего уровня и квадратного слоя нижнего уровня согласно режиму внутреннего прогнозирования, причем шаблон сканирования квадратного слоя верхнего уровня и квадратного слоя нижнего уровня являются идентичными;

- определение флагов групп значимых коэффициентов квадратного слоя верхнего уровня для принимаемой единицы преобразования согласно определенному шаблону сканирования; и

- определение значений остаточных коэффициентов квадратного слоя нижнего уровня согласно определенным флагам групп значимых коэффициентов, чтобы декодировать единицу преобразования потока битов видеоданных.

[0031] Также раскрываются другие аспекты.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0032] Далее описывается по меньшей мере один вариант осуществления настоящего изобретения в отношении следующих чертежей, на которых:

[0033] Фиг. 1 является принципиальной блок-схемой, показывающей функциональные модули видеокодера;

[0034] Фиг. 2 является принципиальной блок-схемой, показывающей функциональные модули видеодекодера;

[0035] Фиг. 3А и 3В формируют принципиальную блок-схему компьютерной системы общего назначения, в которой могут осуществляться на практике кодер и декодер фиг. 1 и 2, соответственно;

[0036] Фиг. 4 является принципиальной блок-схемой, показывающей функциональные модули энтропийного кодера;

[0037] Фиг. 5 является принципиальной блок-схемой, показывающей функциональные модули энтропийного декодера;

[0038] Фиг. 6 является блок-схемой последовательности операций, показывающей традиционный способ для кодирования остаточных коэффициентов единицы преобразования (TU) 8×8;

[0039] Фиг. 7 является блок-схемой последовательности операций, показывающей традиционный способ для декодирования остаточных коэффициентов единицы преобразования (TU) 8×8;

[0040] Фиг. 8 является блок-схемой последовательности операций, показывающей способ согласно настоящему раскрытию сущности для кодирования остаточных коэффициентов единицы преобразования (TU) 8×8 с использованием групп значимых коэффициентов;

[0041] Фиг. 9 является блок-схемой последовательности операций, показывающей способ согласно настоящему раскрытию сущности для декодирования остаточных коэффициентов единицы преобразования (TU) 8×8 с использованием групп значимых коэффициентов;

[0042] Фиг. 10А и 10В иллюстрируют способ согласно настоящему раскрытию сущности для представления групп значимых коэффициентов единицы преобразования (TU) 8×8;

[0043] Фиг. 11 является схемой, показывающей традиционный способ для сканирования остаточных коэффициентов единицы преобразования (TU) 8×8 с использованием обратного диагонального сканирования;

[0044] Фиг. 12 является схемой, показывающей традиционный способ для сканирования остаточных коэффициентов единицы преобразования (TU) 8×8 с использованием обратного горизонтального сканирования;

[0045] Фиг. 13 является схемой, показывающей традиционный способ для сканирования остаточных коэффициентов единицы преобразования (TU) 8×8 с использованием обратного вертикального сканирования;

[0046] Фиг. 14 является схемой, показывающей способ согласно настоящему раскрытию сущности для сканирования остаточных коэффициентов единицы преобразования (TU) 8×8 с использованием двухслойной иерархии;

[0047] Фиг. 15А-15С иллюстрируют способ согласно настоящему раскрытию сущности для сканирования остаточных коэффициентов единицы преобразования (TU) 8×8 с использованием обратного диагонального сканирования;

[0048] Фиг. 16А-16С иллюстрируют способ согласно настоящему раскрытию сущности для сканирования остаточных коэффициентов единицы преобразования (TU) 8×8 с использованием обратного горизонтального сканирования;

[0049] Фиг. 17А-17С иллюстрируют способ согласно настоящему раскрытию сущности для сканирования остаточных коэффициентов единицы преобразования (TU) 8×8 с использованием обратного вертикального сканирования; и

[0050] Фиг. 18А-18С иллюстрируют альтернативный подход для сканирования, который использует смещения.

Подробное описание, включающее в себя оптимальный режим осуществления

[0051] Если на одном или более из прилагаемых чертежей содержится ссылка на этапы и/или признаки, которые имеют идентичные ссылки с номерами, эти этапы и/или признаки для целей этого описания имеют идентичную функцию(и) или операцию(и), если иное намерение не указано.

[0052] Фиг. 1 является принципиальной блок-схемой, показывающей функциональные модули видеокодера 100. Фиг. 2 является принципиальной блок-схемой, показывающей функциональные модули соответствующего видеодекодера 200. Видеокодер 100 и видеодекодер 200 могут быть реализованы с использованием компьютерной системы 300 общего назначения, как показано на фиг. 3А и 3В, при этом различные функциональные модули могут быть реализованы посредством специализированных аппаратных средств в компьютерной системе 300 посредством программного обеспечения, выполняемого в компьютерной системе 300, или альтернативно посредством комбинации специализированных аппаратных средств и программного обеспечения, выполняемого в компьютерной системе 300.

[0053] Как видно на фиг. 3А, компьютерная система 300 включает в себя: компьютерный модуль 301; устройства ввода, такие как клавиатура 302, указательное устройство 303 типа "мышь", сканер 326, камера 327 и микрофон 380; и устройства вывода, включающие в себя принтер 315, устройство 314 отображения и громкоговорители 317. Внешнее приемо-передающее устройство 316 типа "модулятор-демодулятор (модем)" может быть использовано посредством компьютерного модуля 301 для обмена данными с сетью 320 связи через соединение 321. Сеть 320 связи может представлять собой глобальную вычислительную сеть (WAN), такую как Интернет, сеть сотовой связи или частная WAN. Когда соединение 321 представляет собой телефонную линию связи, модем 316 может представлять собой традиционный "коммутируемый" модем. Альтернативно, когда соединение 321 представляет собой соединение с высокой пропускной способностью (например, кабельное), модем 316 может представлять собой широкополосный модем. Беспроводной модем также может быть использован для беспроводного соединения с сетью 320 связи.

[0054] Компьютерный модуль 301 типично включает в себя по меньшей мере один процессор 305 и запоминающее устройство 306. Например, запоминающее устройство 306 может иметь полупроводниковое оперативное запоминающее устройство (RAM) и полупроводниковое постоянное запоминающее устройство (ROM). Компьютерный модуль 301 также включает в себя определенное число интерфейсов ввода-вывода (I/O), включающих в себя: аудио-видеоинтерфейс 307, который соединяется с видеодисплеем 314, громкоговорителями 317 и микрофоном 380; интерфейс 313 ввода-вывода, который соединяется с клавиатурой 302, мышью 303, сканером 326, камерой 327 и необязательно джойстиком или другим устройством с человеко-машинным интерфейсом (не проиллюстрирован); и интерфейс 308 для внешнего модема 316 и принтера 315. В некоторых реализациях, модем 316 может содержаться в компьютерном модуле 301, например, в интерфейсе 308. Компьютерный модуль 301 также имеет локальный сетевой интерфейс 311, который разрешает соединение компьютерной системы 300 через соединение 323 с локальной сетью 322 связи, известной как локальная вычислительная сеть (LAN). Как проиллюстрировано на фиг. 3А, локальная сеть 322 связи также может соединяться с глобальной сетью 320 через соединение 324, которое типично должно включать в себя так называемое устройство "брандмауэра" или устройство с аналогичной функциональностью. Локальный сетевой интерфейс 311 может содержать печатную плату Ethernet™, беспроводное устройство Bluetooth™ или беспроводное устройство IEEE 802.11; тем не менее, множество других типов интерфейсов могут осуществляться на практике для интерфейса 311.

[0055] Интерфейсы 308 и 313 ввода-вывода могут предоставлять одно или оба из последовательного и параллельного подключения, при этом первый типично реализуется согласно стандартам на основе универсальной последовательной шины (USB) и имеет соответствующие USB-разъемы (не проиллюстрированы). Устройства 309 хранения данных предоставляются и типично включают в себя жесткий диск 310 (HDD). Также могут использоваться другие устройства хранения данных, такие как накопитель на гибких дисках и накопитель на магнитной ленте (не проиллюстрированы). Накопитель 312 на оптических дисках типично предоставляется с возможностью выступать в качестве энергонезависимого источника данных. Портативные запоминающие устройства, такие как оптические диски (например, CD-ROM, DVD, Blu-Ray™-диск), USB-RAM, портативные внешние жесткие диски и гибкие диски, например, могут быть использованы в качестве надлежащих источников данных для системы 300. Типично, любое из HDD 310, накопителя 312 на оптических дисках, сетей 320 и 322 или камеры 327 может быть предназначено в качестве источника для видеоданных, которые должны кодироваться, или, касательно дисплея 314, в качестве назначения для декодированных видеоданных, которые должны быть сохранены или воспроизведены.

[0056] Компоненты 305-313 компьютерного модуля 301 типично обмениваются данными через соединительную шину 304 таким способом, который приводит к традиционному режиму работы компьютерной системы 300, известному специалистам в данной области техники. Например, процессор 305 соединяется с системной шиной 304 с использованием соединения 318. Аналогично, запоминающее устройство 306 и накопитель 312 на оптических дисках соединяются с системной шиной 304 посредством соединений 319. Примеры компьютеров, на которых могут осуществляться на практике описанные компоновки, включают в себя IBM PC и совместимые устройства. Sun Sparcstations, Apple Mac™ или аналогичные компьютерные системы.

[0057] При необходимости, кодер 100 и декодер 200, а также способы, описанные ниже, могут быть реализованы с использованием компьютерной системы 300, при этом кодер 100, декодер 200 и процессы фиг. 10 и 11, которые должны быть описаны, могут быть реализованы как одна или более прикладных программ 333, выполняемых в компьютерной системе 300. В частности, кодер 100, декодер 200 и этапы описанных способов осуществляются посредством инструкций 331 (см. фиг. 3В) в программном обеспечении 333, которые выполняются в компьютерной системе 300. Программные инструкции 331 могут формироваться в качестве одного или более кодовых модулей, каждый из которых служит для выполнения одной или более конкретных задач. Программное обеспечение также может быть разделено на две отдельных части, при этом первая часть и соответствующие кодовые модули выполняют описанные способы, а вторая часть и соответствующие кодовые модули управляют пользовательским интерфейсом между первой частью и пользователем.

[0058] Программное обеспечение может быть сохранено на считываемом компьютером носителе, включающем в себя, например, устройства хранения данных, описанные ниже. Программное обеспечение загружается в компьютерную систему 300 из считываемого компьютером носителя и затем выполняется посредством компьютерной системы 300. Считываемый компьютером носитель, имеющий такое программное обеспечение или компьютерную программу, записанную на считываемом компьютером носителе, является компьютерным программным продуктом. Использование компьютерного программного продукта в компьютерной системе 300 предпочтительно осуществляет преимущественное устройство для реализации кодера 100, декодера 200 и описанных способов.

[0059] Программное обеспечение 333 типично сохраняется в HDD 310 или в запоминающем устройстве 306. Программное обеспечение загружается в компьютерную систему 300 из считываемого компьютером носителя и выполняется посредством компьютерной системы 300. Таким образом, например, программное обеспечение 333 может быть сохранено на читаемом оптическим образом дисковом носителе 325 хранения данных (например, CD-ROM), который считывается посредством накопителя 312 на оптических дисках.

[0060] В некоторых случаях, прикладные программы 333 могут предоставляться пользователю, кодироваться на одном или более CD-ROM 325 и считываться через соответствующий накопитель 312, или альтернативно, могут считываться пользователем из сетей 320 или 322. Еще дополнительно, программное обеспечение также может загружаться в компьютерную систему 300 из других считываемых компьютером носителей. Считываемые компьютером носители данных означают любой энергонезависимый материальный носитель данных, который предоставляет записанные инструкции и/или данные в компьютерную систему 300 для выполнения и/или обработки. Примеры таких носителей данных включают в себя гибкие диски, магнитную ленту, CD-ROM, DVD, Blu-Ray-диск, жесткий диск, ROM или интегральную схему, запоминающее USB-устройство, магнитооптический диск или считываемую компьютером карту, такую как PCMCIA-карта и т.п., независимо от того, являются такие устройства внутренними или внешними относительно компьютерного модуля 301. Примеры энергозависимых или нематериальных считываемых компьютером сред передачи, которые также могут участвовать в предоставлении программного обеспечения, прикладных программ, инструкций и/или видеоданных или кодированных видеоданных в компьютерный модуль 301, включают в себя радиочастотные или инфракрасные каналы передачи, а также сетевое соединение с другим компьютером или сетевым устройством, и сети Интернет или intranet, включающие в себя передачи по электронной почте и информацию, записанную на веб-узлах, и т.п.

[0061] Вторая часть прикладных программ 333 и соответствующие вышеупомянутые кодовые модули может быть выполнена, чтобы реализовывать один или более графических пользовательских интерфейсов (GUI), которые должны быть подготовлены посредством рендеринга или иным образом представлены на дисплее 314. Через управление типично с помощью клавиатуры 302 и мыши 303, пользователь компьютерной системы 300 и приложение может управлять интерфейсом функционально адаптируемым способом таким образом, чтобы предоставлять команды управления и/или ввод в приложения, ассоциированные с GUI. Также могут реализовываться другие формы функционально адаптируемых пользовательских интерфейсов, такие как аудиоинтерфейс, использующий речевые подсказки, выводимые через громкоговорители 317, и пользовательские голосовые команды, вводимые через микрофон 380.

[0062] Фиг. 3В является подробной принципиальной блок-схемой процессора 305 и "запоминающего устройства" 334. Запоминающее устройство 334 представляет логическое агрегирование всех модулей запоминающих устройств (включающих в себя HDD 309 и полупроводниковое запоминающее устройство 306), к которым может осуществляться доступ посредством компьютерного модуля 301 на фиг. 3А.

[0063] Когда компьютерный модуль 301 первоначально включается, выполняется программа 350 самотестирования при включении питания (POST). POST-программа 350 типично сохраняется в ROM 349 полупроводникового запоминающего устройства 306 по фиг. 3А. Аппаратное устройство, к примеру, ROM 349, сохраняющее программное обеспечение, иногда упоминается в качестве микропрограммного обеспечения. POST-про грамма 350 обследует аппаратные средства в компьютерном модуле 301, чтобы обеспечивать надлежащее функционирование, и типично проверяет процессор 305, запоминающее устройство 334 (309, 306) и программный модуль 351 базовой системы ввода-вывода (BIOS), также типично сохраняемый в ROM 349, на предмет корректной работы. После того, как POST-программа 350 успешно выполнена, BIOS 351 активирует жесткий диск 310 по фиг. 3А. Активация жесткого диска 310 инструктирует программе 352 начальной загрузки, которая постоянно размещается на жестком диске 310, выполняться через процессор 305. Она загружает операционную систему 353 в оперативное запоминающее устройство 306, после чего операционная система 353 начинает работу. Операционная система 353 представляет собой приложение системного уровня, выполняемое посред