ЭНТРОПИЙНЫЙ КОДЕР ДЛЯ СЖАТИЯ ИЗОБРАЖЕНИЯ

1. Способ обработки графических данных для передачи в удаленное вычислительное устройство, содержащий этапы, на которых:
принимают графические данные, представляющие экран клиента, ассоциированный с сеансом виртуальной машины;
принимают информацию, показывающую доступную полосу пропускания для упомянутой передачи, и, основываясь на этой информации, определяют, удовлетворяет ли доступная полоса пропускания заранее заданному порогу; и
выполняют энтропийное кодирование коэффициентов преобразованных графических данных с использованием компактного потока битовых маркеров, которые образуют группы, которые выстраиваются по границам байтов, при этом:
серии нулей кодируются в варьируемом количестве блоком с размером, кратным размеру квантования;
буквенные значения кодируются с использованием информационной записи в кэш-памяти недавно использованных буквенных значений; и
другие значения кодируются с использованием минимального количества блоков с размером, кратным размеру квантования.
2. Способ по п.1, дополнительно содержащий этап, на котором генерируют коды операций энтропийного кодирования и поток больших значений.
3. Способ по п.2, дополнительно содержащий этап, на котором выполняют энтропийное кодирование потока больших значений с помощью схемы многобайтового кодирования, которая использует для малых значений меньше байтов, чем для больших значений.
4. Способ по п.3, в котором схема кодирования сконфигурирована действовать только на фиксированных границах байта.
5. Способ по п.3, дополнительно содержащий этапы, на которых разделяют упомянутые графические данные на мозаичные элементы данных, обрабатывают упомянутые мозаичные элементы данных в мозаичные компоненты и выполняют упомянутое энтропийное кодирование в отношении упомянутых мозаичных компонентов.
6. Система обработки графических данных для передачи в удаленное вычислительное устройство, содержащая:
вычислительное устройство, содержащее по меньшей мере один процессор;
запоминающее устройство, коммуникационно подсоединенное к упомянутому процессору при функционировании упомянутой системы, причем упомянутое запоминающее устройство имеет сохраненные в нем компьютерные инструкции, которые при их исполнении по меньшей мере одним процессором обеспечивают:
прием графических данных, представляющих экран клиента, ассоциированный с сеансом виртуальной машины;
деление упомянутых графических данных на мозаичные элементы данных;
энтропийное кодирование коэффициентов преобразованных графических данных с использованием потока битовых маркеров, которые образуют группы, которые выстраиваются по границам байтов, при этом:
серии нулей кодируются в варьируемом количестве блоков с размером, кратным размеру квантования;
буквенные значения кодируются с использованием информационной записи в кэш-памяти недавно использованных буквенных значений; и
другие значения кодируются с использованием минимального количества блоков с размером квантования.
7. Система по п.6, дополнительно содержащая передачу закодированных коэффициентов в вычислительное устройство, сконфигурированное для обработки закодированных коэффициентов, основываясь на размере квантования.
8. Система по п.6, в которой закодированные данные могут быть использованы для эффективного декодирования посредством процесса энтропийного декодирования, сконфигурированного для работы на закодированных данных на побайтовой основе.
9. Система по п.6, дополнительно содержащая энтропийное кодирование потока больших значений с помощью схемы многобайтового кодирования, которая использует для малых значений меньше байтов, чем для больших значений.
10. Считываемый компьютером носитель, хранящий исполняемые компьютером инструкции для обработки графических данных для передачи в клиентский компьютер, причем упомянутые инструкции предназначены для:
приема графических данных, представляющих экран клиента, ассоциированный с сеансом виртуальной машины; и
энтропийного кодирования коэффициентов преобразованных графических данных с использованием компактного потока битовых маркеров, которые образуют группы, которые выстраиваются по границам байта, так что закодированные данные могут быть декодированы с использованием основывающегося на байтах процесса декодирования, при этом:
серии нулей кодируются в варьируемом количестве блоков с размером, кратным полубайту;
буквенные значения кодируются с использованием информационной записи в кэш-памяти недавно использованных буквенных значений; и
другие значения кодируются с использованием минимального количества блоков с размером, кратным полубайту.