RU2154350C2 - Способ и система кодирования и способ и система декодирования - Google Patents

Способ и система кодирования и способ и система декодирования Download PDF

Info

Publication number
RU2154350C2
RU2154350C2 RU97104212/09A RU97104212A RU2154350C2 RU 2154350 C2 RU2154350 C2 RU 2154350C2 RU 97104212/09 A RU97104212/09 A RU 97104212/09A RU 97104212 A RU97104212 A RU 97104212A RU 2154350 C2 RU2154350 C2 RU 2154350C2
Authority
RU
Russia
Prior art keywords
data
encoded
decoding
encoding
encoded data
Prior art date
Application number
RU97104212/09A
Other languages
English (en)
Other versions
RU97104212A (ru
Inventor
Риу Таданори
Токуда Масаси
Original Assignee
Рикох Компани, Лтд.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Рикох Компани, Лтд. filed Critical Рикох Компани, Лтд.
Publication of RU97104212A publication Critical patent/RU97104212A/ru
Application granted granted Critical
Publication of RU2154350C2 publication Critical patent/RU2154350C2/ru

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
    • H03M7/48Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind alternating with other codes during the code conversion process, e.g. run-length coding being performed only as long as sufficientlylong runs of digits of the same kind are present
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/005Statistical coding, e.g. Huffman, run length coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

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

Description

Область техники
Настоящее изобретение относится к способу и системе кодирования и/или декодирования данных и, в частности к способу и системе кодирования и к способу и системе декодирования, подходящим для сжатия и декомпрессии компьютерных данных и программного обеспечения игр.
Уровень техники
Система JBIG (Объединенная группа двухуровневого изображения) была предложена в качестве нового способа кодирования двухуровневого изображения, который подходит не только для обмена твердыми копиями, например, обмена факсимильными сообщениями, но также и для обмена копиями программ, например, обмена данными компьютерных изображений.
Фиг. 1 изображает блок-схему, изображающую стандартную систему JBIG. Первый блок 101 является электрической схемой, которая использует PRES (Схему прогрессивного сокращения) в качестве системы снижения разрешения изображения. Второй блок 102 является электрической схемой для выполнения DP (детерминистического предсказания). DP используется для предсказания детерминистически значения пикселя, которое кодируется исходя из значений окружающих пикселей, которые уже закодированы. Используя DP, возможно улучшить эффективность кодирования. Третий блок представляет собой электрическую схему для установки эталона модели. Эталон является опорным пиксельным образцом, который должен быть использован при кодировании. Фиг. 2 изображает пример такого эталона. В данном примере эталон включает в себя 10 пикселей "1" - "10", окружающие пиксель, который должен быть закодирован. Используя такой эталон, выполняется кодирование с применением модели Маркова порядка M1 к изображению с максимально уменьшенным разрешением. В особенности, M1 уже закодированных пикселей в окрестности каждого пикселя, который должен быть закодирован, используются в качестве опорных пикселей эталона. Количество возможных состояний (комбинаций) значений опорных пикселей равно 2M1 состояний. Для каждого одного из таких состояний задается соответствующая заданная условная вероятность символа. Используя таким образом заданные вероятности символа для подлежащего кодированию пикселя и действительные значения (символы), выполняется кодирование энтропии. Четвертый блок 104 является схемой кодирования энтропии и использует JBIG QM кодер. (JBIG QM кодер является QM кодером, используемым в JBIG. Обычно арифметический кодировщик называется QM кодером. JBIG является общим названием стандарта кодирования двухуровневых данных в ITU ((International Telecommunication Union - Международный телекоммуникационный союз). В JBIG используется QM кодер для кодирования двухуровневых данных).
В качестве системы кодирования такого типа ранее были предложены система, в которой эталон является фиксированным, адаптивная эталонная система (см. Yasuhiro Yamazaki, Humitaka Ono, Tadashi Yoshida and Toshiaki Endo, Progressive Buildup Coding Scheme for Bi-level Images - JBIG Algorithm., - 1991, Vol. 20, N 1, Image Eltctronic Society Journal), и система, в которой эталон выбирается в соответствии с типом данных (например, см. выложенную заявку на патент Японии N 6-261214). Дополнительно о системах JBIG см. также ITU-T (Telecommunication Standartization Sector of ITU), Т.82 (03/93), Terminal Equipment and Protocols for Telematic Services, Information Technology - Coded Representation of Picture and Audio Information - Progressive Bi-Level Image Compression.
В системе, в которой эталон фиксирован, на основании статистик степени сжатия в системе определяется эталон, имеющий наивысшую степень сжатия, и используется в качестве фиксированного эталона. В такой системе схема сжатия может быть упрощена. Однако в такой системе при кодировании данных, которые имеют характеристики, значительно отличающиеся от средних характеристик статистик, степень сжатия снижается.
В упомянутой выше адаптивной эталонной системе во время сжатия данных всегда определено, какой эталон приводит к наивысшей степени сжатия, и, таким образом, используемый эталон динамически изменяется. В такой системе всегда определяются статистики, и используемый эталон изменяется в соответствии с результатом статистик. Поэтому эта система является подходящей для случая, когда кодируются длинные данные, и характеристики данных начинают изменяться при положении данных. Однако, если обрабатываются короткие данные, то время, требуемое для адаптивного изменения эталона, который должен использоваться, составляет значительную часть от всего периода обработки сжатия, и, таким образом, эта система может не быть эффективной системой сжатия. К тому же, так как всегда определяется, какой эталон будет оптимальным, то схема устройства кодирования/декодирования будет сложной.
В системе, в которой эталон выбирается в соответствии с типом данных, предоставляется соответствующий эталон, который должен использоваться для сжатия каждого из множества типов данных. Например, когда сжимается цветное изображение, то, так как каждый пиксель состоит из множества битов, то используют индивидуальные эталоны для множества битовых плоскостей. Однако, так как в этом способе эталон для каждой из множества битовых плоскостей фиксирован, система не является достаточно удовлетворительной по причине, аналогичной той, которая отмечена для вышеописанной системы, в которой применяется фиксированный эталон.
К тому же известна система, которая обрабатывает цветные изображения способом, в котором множество битов (множество битовых плоскостей), назначенные для одного пикселя, является переменным, т.е. изменяется, например, так, как в описанной выше системе, в которой обрабатывается цветное изображение. Однако способ кодирования в предшествующем уровне техники может быть применен только к системе, в которой фиксированы несколько битовых плоскостей. Поэтому, невозможно применить способ кодирования с использованием эталона к такой системе, которая обрабатывает цветные изображения способом, в котором множество битовых плоскостей, назначенных для одного пикселя, изменяется.
Сущность изобретения
Настоящее изобретение было сделано в результате рассмотрения вышеописанных обстоятельств, и задачей настоящего изобретения является создание способа и системы кодирования и способа и системы декодирования, в которых эталон, соответствующий конкретным данным, определяется при кодировании, а высокая степень сжатия может быть сохранена без усложнения схем устройства кодирования/декодирования. Другой задачей настоящего изобретения является применение способа кодирования, использующего эталон, к системе, которая обрабатывает цветные изображения способом, в котором множество битов, назначенных для одного пикселя, изменяются.
Способ кодирования согласно настоящему изобретению содержит следующие этапы
подготовка возможного эталона кодирования,
кодирование и, таким образом, сжатие подлежащих сжатию данных каждый раз, когда используется один из множества эталонов,
сравнение степеней сжатия кодированных данных друг с другом, причем кодированные данные закодированы каждый раз, когда используют соответствующий один из множества эталонов,
определение для каждого файла подлежащих кодированию данных оптимального эталона, обеспечивающего наивысшую степень сжатия,
выдача кодированных данных, имеющих наивысшую степень сжатия и идентификационную информацию используемого эталона, когда получают кодированные данные, имеющие наивысшую степень сжатия.
Другой способ кодирования согласно настоящему изобретению содержит следующие этапы
разделение подлежащих сжатию данных на множество битовых плоскостей данных,
кодирование и, таким образом, сжатие каждой битовой плоскости данных каждый раз, когда используют соответствующий один из множества эталонов,
сравнение для каждой битовой плоскости данных степеней сжатия кодированных данных друг с другом, причем кодированные данные кодируют каждый раз, когда используют соответствующий один из множества эталонов,
для каждой битовой плоскости данных выдачу кодированных данных, имеющих наивысшую степень сжатия, и идентификационной информации используемого эталона, когда получают кодированные данные, имеющие наивысшую степень сжатия.
Другой способ кодирования согласно настоящему изобретению содержит следующие этапы:
разделение подлежащих сжатию данных на множество битовых плоскостей данных, причем количество указанного множества битовых плоскостей данных является переменным,
кодирование и, таким образом, сжатие каждой битовой плоскости данных.
Способ декодирования согласно настоящему изобретению содержит следующие этапы:
выбор эталона из множества эталонов, который должен быть использован при декодировании кодированных данных, используя идентификационную информацию эталона, причем используемый эталон получают во время кодирования данных, имеющих наивысшую степень сжатия,
декодирование кодированных данных, используя выбранный при декодировании кодированных данных эталон.
Другой способ декодирования согласно настоящему изобретению содержит следующие этапы
для каждой битовой плоскости кодированных данных выбирают эталон из множества эталонов, который должен быть использован при декодировании кодированных данных, используя идентификационную информацию эталона, используемый эталон получают во время кодирования кодированных данных, имеющих наивысшую степень сжатия, и
декодирования кодированных данных для каждой битовой плоскости кодированных данных, используя выбранный при декодировании кодированных данных эталон.
Другой способ декодирования согласно настоящему изобретению содержит следующие этапы
прием кодированных данных, которые содержат множество битовых плоскостей данных, причем количество множества битовых плоскостей данных является переменным, когда множество битовых плоскостей данных получают в результате разделения подлежащих сжатию данных, и
декодирование каждой битовой плоскости данных множества битовых плоскостей данных.
Другие задачи и дополнительные признаки настоящего изобретения станут более понятны из следующего подробного описания совместно с сопроводительными чертежами.
Краткое описание чертежей
В дальнейшем изобретение поясняется наилучшими вариантами его воплощения со ссылками на сопроводительные чертежи, на которых:
фиг. 1 изображает блок-схему стандартной JBIG системы;
фиг. 2 изображает эталон;
фиг. 3 изображает блок-схему первого воплощения настоящего изобретения;
фиг. 4 изображает блок-схему работы, выполняемой системой, изображенной на фиг. 3;
фиг. 5 изображает структуру закодированных данных, выдаваемых системой, изображенной на фиг. 3;
фиг. 6 изображает функциональную схему части устройства для выполнения этапа кодирования, изображенного на фиг. 4;
фиг. 7 изображает блок-схему второго воплощения настоящего изобретения;
фиг. 8 изображает структуру данных изображения, обрабатываемую третьим воплощением настоящего изобретения;
фиг. 9 изображает блок-схему третьего воплощения настоящего изобретения;
фиг. 10 изображает структуру закодированных данных, выдаваемых системой кодирования в третьем воплощении; и
фиг. 11 изображает часть блок-схемы четвертого воплощения настоящего изобретения.
Наилучшие варианты воплощения настоящего изобретения
Ниже будут описаны предпочтительные варианты воплощения настоящего изобретения со ссылками на чертежи.
Фиг. 3 изображает блок-схему устройства кодирования при первом варианте воплощения системы кодирования и способа в настоящем изобретении. Фиг. 4 изображает блок-схему работы при операции кодирования, выполняемой устройством кодирования, изображенным на фиг. 3. Фиг. 5 изображает структуру кодированных данных, которые подаются устройством кодирования, изображенным на фиг. 3.
Операция кодирования выполняется центральным процессором ЦП 51, изображенным на фиг. 3, над поданными исходными данными, используя программное обеспечение, предварительно хранимое в памяти 52 только для считывания (ROM). ЦП 51 выполняет операцию, изображенную на фиг. 4, в результате выполнения программ программного обеспечения. ЦП 51 выполняет операцию кодирования и, таким образом, выдает кодированные данные, которые записываются в память 53 со случайным доступом (RAM). Кодированные данные, записанные в памяти 53 RAM, используются для хранения тех же самых данных, что и в ROM, которая подсоединена к устройству декодирования, которое декодирует кодированные данные, хранимые в ROM.
Возможный эталон (фиг. 4) подготавливается в S1. По существу, например, см. фиг. 2, возможный эталон получается с помощью выбора шести пикселей из десяти 1-10, изображенных на чертеже, для подлежащего кодированию пикселя. С помощью этого способа возможно C106 комбинаций и, таким образом, производятся C106 возможных эталонов. Дополнительно с помощью этого способа возможно получить различные формы эталонов.
В блоке S2 файл подлежащих кодированию данных (подлежащих сжатию) кодируется (сжимается), используя возможный эталон, подготовленный в S1. В блоке S3 определяется, все или не все возможные эталоны (все C106 возможных эталонов) использованы для кодирования подлежащих кодированию данных. Если нет, то в блоке S1 производится другой возможный эталон и используется для кодирования тех же самых подлежащих кодированию данных в S2. Эта операция повторяется до тех пор, пока все возможные эталоны не будут использованы для кодирования одних и тех же подлежащих кодированию данных.
Если использованы все возможные эталоны, то в блоке S4 сравниваются друг с другом степени сжатия для каждого всех возможных эталонов. Посредством этого в блоке S5 определяется оптимальный эталон, который должен иметь наивысшую степень сжатия. Затем в блоке 6 кодированные данные, полученные при использовании оптимального эталона, выдаются вместе с информацией о подготовке эталона, которая является идентификационными данными эталона, и используются устройством декодирования при декодировании кодированных данных для подготовки того же самого эталона. Выходные данные записываются в RAM 53.
Таким образом, выходные данные для файлов подлежащих кодированию данных имеют структуру данных, изображенную на фиг. 4. Каждая структура данных из структур данных включает в себя группу кодированных данных, которые являются выходными кодированными данными из ЦП 51 для соответствующего файла подлежащих кодированию данных. Каждая структура данных дополнительно включает в себя вышеупомянутую информацию о подготовке эталона, которая добавляется в верхнюю часть группы кодированных данных, как изображено на чертеже.
Так как файлы поданных подлежащих кодированию данных могут иметь различные характеристики, то эталон, который используется для кодирования файла подлежащих кодированию данных и в результате обеспечивает наивысшую степень сжатия, может отличаться от эталона, который используется для кодирования другого файла подлежащих кодированию данных и в результате обеспечивает наивысшую степень сжатия. Поэтому в устройстве кодирования в первом воплощении настоящего изобретения определяется оптимальный эталон для каждого файла подлежащих кодированию данных. В случае кодирования программного обеспечения видеоигр файлы подлежащих кодированию данных могут включать в себя фоновое изображение, изображение символа (человека, животного и т.п.) и т.д. В случае такого программного обеспечения видеоигр, вообще говоря, каждый файл подлежащих кодированию данных имеет малое количество данных. Поэтому, вышеописанный способ имеет преимущество, так как операция, изображенная на фиг. 4, является очень простой и не требует длительного времени на выполнение.
Фиг. 6 изображает функциональную схему части системы кодирования, изображенной на фиг. 3, причем эта часть выполняет этап кодирования S2, изображенный на фиг. 4. Подлежащие кодированию данных и информация возможного эталона подаются на устройство 61 вычисления вероятности. Устройство 61 вычисления вероятности получает значения 6 опорных пикселей возможного эталона для подлежащего кодированию пикселя и подает полученные значения 6 пикселей в память 62 таблицы вероятности в качестве адреса. В памяти 62 таблицы вероятности соответствующая вероятность хранится для каждого из 26 состояния (которые называются "контекстами") по соответствующему адресу. Такая вероятность является вероятностью, что подлежащий кодированию пиксель имеет значение предварительно заданного символа (обычно, MPS "О"). В этом случае 6 опорных пикселей используются в качестве шестой модели Маркова, и возможные 26 состояний определяются в качестве контекстов (которые представлены целыми числами). Память 62 таблицы вероятности принимает 6 значений пикселя в качестве адреса и выдает соответствующую вероятность на арифметическое устройство 63 кодирования. Арифметическое устройство 63 кодирования выполняет арифметическое кодирование (которое является одним из способов кодирования энтропии), используя вероятность и действительное значение подлежащего кодированию пикселя.
Вообще говоря, в кодировании энтропии, например, арифметическом кодировании, степень сжатия может быть увеличена, когда предсказание значения подлежащего кодированию пикселя улучшается. То есть, так как действительная вероятность того, что подлежащий кодированию пиксель имеет символ, который был предварительно предсказан, выше, то результирующая степень сжатия может быть увеличена. Для того, чтобы увеличить вероятность, требуется эталон, соответствующий характеристикам конкретного файла подлежащих кодированию данных.
Любая известная система кодирования, использующая эталон, например, та, которая изображена на фиг. 1, может быть использована для реализации системы кодирования, изображенной на фиг. 3. В случае, когда используется система кодирования, изображенная на фиг. 1, этап кодирования S2, изображенный на фиг. 4, выполняется схемой 104 кодирования энтропии. В третьем блоке 103 выполняется подготовка возможного эталона, выполняемая на этапе S1, изображенном на фиг. 4. Вышеупомянутые M1 опорных пикселей эталона являются шестью опорными пикселями эталона. Затем выполняется кодирование энтропии, аналогичное кодированию энтропии, выполняемому в блоке 104, изображенному на фиг. 1, с помощью средства кодирования энтропии (которое может быть осуществлено ЦП 51 с помощью программ) аналогично блоку 104, повторяясь для каждого из всех вышеупомянутых возможных эталонов.
Ниже будут описаны способ декодирования и система при втором воплощении настоящего изобретения. В этом способе соответствующий эталон готовится, используя вышеупомянутую информацию о подготовке эталона, сопровождающую каждый файл кодированных данных. Подготовленный эталон используется для декодирования файла кодированных данных.
Фиг. 7 изображает общую блок-схему системы с ROM-картриджами при втором воплощении настоящего изобретения. ROM-картридж (ROM 1 изображен на данном чертеже), содержащий программу видеоигры в форме закодированных данных изображения, подсоединяется к такой системе с ROM-картриджами, которая декодирует кодированные данные изображения. Кодированные данные изображения могут быть файлом кодированных данных, который подается кодирующей системой в первом воплощении настоящего изобретения, изображенном на фиг. 3.
Устройство 5 памяти линий сохраняет три линии данных, которые получены в результате декодирования кодированных данных изображения. Посредством средства считывания из памяти (на чертеже не изображено) 10 пикселей декодированных данных, расположенных в десяти пикселях 1-10, изображенных на фиг. 2 для подлежащего кодированию пикселя, считываются из устройства 5 памяти линий. Считанные декодированные данные подаются на мультиплексор 4.
Мультиплексор 4 выбирает 6 пикселей данных из поданных 10 пикселей декодированных данных согласно информации о подготовке эталона. Информация эталона хранится в ROM 1 и сопровождает файл кодированных данных в ROM 1, как изображено на фиг. 5. Информация об эталоне считывается из ROM 1 при декодировании файла закодированных данных, и подается на мультиплексор 4 через буферную память (на чертеже не изображена). Мультиплексор 4 подает выбранные 6 пикселей данных на память 2 таблицы вероятности в качестве адреса, причем память таблицы вероятности идентична памяти 62 таблицы вероятности, изображенной на фиг. 1.
Память 2 таблицы вероятности принимает 6 пикселей данных, использует их в качестве адреса данных и выдает вышеупомянутую вероятность появления символа, хранимую по этому адресу.
Устройство 3 обработки использует кодированные данные, считанные из ROM 1, и данные вероятности, считанные из памяти 2 таблицы вероятности, и затем получает декодированный бит в качестве результата такого декодирования кодированных данных. Полученный декодированный бит затем подается на устройство 5 памяти линий и сохраняется там. Затем, когда декодирован последующий пиксель, 10 пикселей данных, поданных из памяти линий на мультиплексор, сдвигаются на один пиксель вправо на фиг. 7, и далее выполняется операция, аналогичная описанной выше, для текущего подлежащего кодированию пикселя.
В способе и системе кодирования и способе и системе декодирования согласно настоящему изобретению, описанные выше, после того, как декодирование выполнено для нескольких возможных эталонов над подлежащими сжатию данными, определяется эталон, имеющий наивысшую степень сжатия, и выдаются сжатые данные, полученные с помощью такого эталона. Поэтому, возможно значительно увеличить степень сжатия по сравнению с указанными выше системой с фиксированным эталоном и системой, в которой эталон выбирается в соответствии с типом данных, но эталон фиксирован для каждого типа данных. Далее, в настоящем изобретении не выполняется присутствующая всегда операция определения, какой эталон является оптимальным во время сжатия. Поэтому структура схемы кодирования/декодирования не будет сложной.
Далее описывается третье воплощение настоящего изобретения. В этом варианте воплощения данные изображения разделяются на множество битовых плоскостей данных изображения, и кодирование выполняется для каждой битовой плоскости. Количество битовых плоскостей является переменным. Система кодирования в третьем варианте воплощения имеет аппаратную конструкцию такую же, как и аппаратная конструкция системы в первом варианте воплощения, изображенном на фиг. 3.
Когда кодируются данные многоуровневого изображения, в котором пиксель имеет четырехбитовый код, например, на этапе S11, изображенном на фиг. 9, данные многоуровневого изображения разделяются на четыре битовые плоскости BP1, BP2, BP3 и BP4, как изображено на фиг. 8. Биты, находящиеся в одинаковом месте четырехместных битов пикселей, содержатся в соответствующей одной из четырех битовых плоскостей.
В блоке S12, изображенном на фиг. 9, кодирование выполняется над данными изображения для каждой битовой плоскости. В S12 эталон, включающий 10 пикселей 1 - 10, изображенных на фиг. 2, используется в качестве опорных пикселей для каждого подлежащего кодированию пикселя. Затем определяется состояние Маркова для 10 пиксельных значений опорных пикселей, и определяется вероятность появления символа для определенного состояния Маркова для подлежащего кодированию пикселя способом, аналогичным способу, описанном выше, используя память 62 таблицы вероятности, изображенной на фиг. 6. Затем, подлежащий кодированию пиксель кодируется способом, аналогичным способу, описанному выше с использованием устройства 63 арифметического кодирования, изображенного на фиг. 6.
Возможно также, как в вышеописанном первом воплощении, что подходящие 6 пикселей выбраны из 10 пикселей, изображенных на фиг. 2, для эталона. В таком случае кодирование выполняется с использованием нескольких возможных эталонов, а кодированные данные с наивысшей степенью сжатия выдаются для каждой битовой плоскости.
Для того, чтобы сделать несколько битовых плоскостей переменными, готовится ряд эталонов для максимального количества (например, четырех) битовых плоскостей. Затем, когда кодируются конкретные многоуровневые данные изображения, в которых каждый пиксель имеет два бита, используются несколько (в данном примере - два) эталонов из подготовленного количества (в данном примере - четырех) эталонов. В случае, когда оптимальный эталон выбирается из нескольких возможных эталонов для каждого битовой плоскости, как отмечено выше, аналогично случаю в первом воплощении, например, б подходящих пикселей выбираются из 10 пикселей для каждого возможного эталона. В данном случае, как изображено на фиг. 10, информация о подготовке эталона четвертой битовой плоскости, третьей битовой плоскости, второй битовой плоскости и первой битовой плоскости сопровождает кодированные данные четвертой (битового места) битовой плоскости, третьей (битового места) битовой плоскости, второй (битового места) битовой плоскости и первой (битового места) битовой плоскости и указывает эталоны, каждый эталон из которых использован для кодирования и, таким образом, получают кодированные данные соответствующей одной из четырех (битовых мест) битовых плоскостей.
Ниже описываются способ и система декодирования четвертого воплощения настоящего изобретения. Такая система кодирования может декодировать данные многоуровневого изображения, имеющее множество битовых плоскостей, причем это количество отличается от количества битовых плоскостей других данных многоуровневого изображения, которое также может быть декодировано в той же системе. В этом способе декодирования, аналогичном описанному выше для первого варианта воплощения, эталон, подходящий для декодирования кодированных данных, устанавливается, используя информацию о подготовке эталона, сопровождающую кодированные данные, и декодирование выполняется с использованием установленного эталона.
Система декодирования в четвертом варианте воплощения, реализующая способ декодирования, имеет общую конструкцию, аналогичную общей конструкции системы декодирования во втором варианте воплощения, изображенном на фиг. 7. В системе декодирования в четвертом воплощении вместо устройства 5 памяти линий и мультиплексора 4 во втором варианте воплощения используются восемь устройств 11-18 памяти линий, восемь мультиплексоров 21-28, и другой мультиплексор 30. Фиг. 11 изображает общую блок-схему этой части системы декодирования.
Эта система в четвертом варианте воплощения может обрабатывать данные многоуровневого изображения, имея максимум 8 битовых плоскостей. Восемь устройств памяти линий, начиная с первого устройства 11 памяти линий до восьмого устройства 18 памяти линий предназначены для 8 битовых плоскостей соответственно. Каждая память линий имеет структуру, аналогичную структуре устройства 3 памяти линий во втором варианте воплощения, изображенном на фиг. 7. Операции записи данных в устройствах 11 - 18 памяти линий управляются восемью сигналами записи, начиная с первого сигнала записи до восьмого сигнала записи, соответственно. Например, когда обрабатываются данные многоуровневого изображения, имеющие две битовые плоскости, операции записи данных на первом и втором устройствах 11 и 12 памяти линий выполняются поочередно. Когда обрабатываются данные многоуровневого изображения, имеющего четыре битовых плоскости, то поочередно выполняются операции записи данных в устройства 11-14 памяти линий последовательно с первого по четвертое. Когда обрабатываются данные многоуровневого изображения, имеющего восемь битовых плоскостей, то поочередно выполняются операции записи данных в устройства 11 - 18 памяти линий последовательно с первого по восьмое. Управление сигналами записи может быть легко осуществлено с использованием счетчика для выполнения описанной выше последовательной поочередной записи.
Восемь мультиплексоров, с первого мультиплексора 21 по восьмой мультиплексор 28, соединены с восемью устройства 11 - 18 памяти линий соответственно. Ряд из восьми мультиплексоров 21 - 28 устанавливает эталоны для битовых плоскостей с использованием информации о подготовке эталона, подаваемой для битовых плоскостей. Этот ряд мультиплексоров является мультиплексорами, соединенными с рядом устройств памяти линий из восьми устройств памяти линий, это количество соответствует количеству битовых плоскостей данных заданного многоуровневого изображения. Другой мультиплексор 30 последовательно выбирает один из выходных сигналов вышеописанного ряда мультиплексоров и подает выбранный выходной сигнал на память таблицы вероятности (не изображенную на чертеже) в качестве адреса. Память таблицы вероятности идентична памяти 2 таблицы вероятности во втором варианте воплощения, изображенном на фиг. 7. Оставшаяся часть операции декодирования аналогична операции декодирования системы декодирования во втором варианте воплощения, изображенном на фиг. 7. В системе декодирования в четвертом варианте воплощения декодирование выполняется последовательно поочередно для нескольких битовых плоскостей.
Таким образом, согласно настоящему изобретению описанное выше кодирование и декодирование с использованием эталона могут быть применены для системы обработки изображения, которая обрабатывает данные многоуровневого изображения, в которой количество битов каждого одного пикселя может изменяться, то есть данные многоуровневого изображения, в которых количество битовых плоскостей может изменяться. Например, когда обрабатываются данные изображения программного обеспечения видео игр, файл данных фонового изображения имеет четыре битовых плоскости, в то время как файл данных изображения символа (человека, животного и т.п.) имеет две битовые плоскости. Создав конструкцию, такую как изображена на фиг. 11, возможно, что одна система декодирования сможет декодировать и файл фонового изображения с четырьмя битовыми плоскостями и файл изображения символа с двумя битовыми плоскостями.
Возможно также, что каждое из вышеописанных второго воплощения со ссылкой на фиг. 7 и четвертого воплощения, описанного со ссылкой на фиг. 11, реализуются схемой аппаратуры, такой как изображена на фиг. 3. В этом случае вся операция выполняется в результате выполнения центральным процессором соответствующего программного обеспечения.
Настоящее изобретение не ограничивается описанными выше воплощениями различные изменения, и модификации могут быть сделаны без отрыва от сущности настоящего изобретения.
Промышленная применимость
Таким образом, согласно настоящему изобретению могут быть созданы система и способ кодирования и система и способ декодирования, в которых эталон, соответствующий конкретным данным, определяется при кодировании, и высокая степень сжатия может быть сохранена без усложнения схем устройств кодирования/декодирования. Кроме того, способ кодирования, использующий эталон, может быть применен к системе, которая обрабатывает цветные изображения способом, в котором количество битов, назначенных одному пикселю, изменяется. Поэтому, настоящее изобретение особенно полезно при применении к системе и способу кодирования и способу и системе декодирования для сжатия и декомпрессии компьютерных данных и программного обеспечения игр.

Claims (16)

1. Способ кодирования, согласно которому подготавливают возможный эталон кодирования, кодируют и, таким образом, сжимают подлежащие сжатию данные каждый раз, когда используют соответствующий один возможный из множества эталонов, сравнивают степени сжатия кодированных данных друг с другом, причем кодированные данные кодируют каждый раз, когда используют соответствующий один возможный из множества эталонов, определяют для каждого файла подлежащих кодированию данных оптимальный эталон, обеспечивающий наивысшую степень сжатия, выдают кодированные данные, имеющие наивысшую степень сжатия, и идентификационную информацию используемого эталона, когда получают указанные кодированные данные, имеющие наивысшую ступень сжатия.
2. Способ кодирования по п.1, отличающийся тем, что этап кодирования включает в себя кодирование энтропии.
3. Способ кодирования по п.1, отличающийся тем, что указанные подлежащие кодированию данные представляют собой данные изображения программного обеспечения видеоигр.
4. Способ кодирования, согласно которому разделяют подлежащие сжатию данные на множество битовых плоскостей данных, кодируют и, таким образом, сжимают каждую битовую плоскость данных каждый раз, когда используют соответствующий один возможный из множества эталонов, сравнивают для каждой битовой плоскости данные степеней сжатия кодированных данных друг с другом, причем кодированные данные кодируют каждый раз, когда используют соответствующий один возможный из множества эталонов, определяют для каждой битовой плоскости данные оптимального эталона, обеспечивающего наивысшую степень сжатия, выдают для каждой битовой плоскости данных кодированные данные, имеющие наивысшую степень сжатия, и идентифицированную информацию используемого эталона, когда получают указанные кодированные данные, имеющие наивысшую степень сжатия.
5. Способ кодирования, согласно которому разделяют подлежащие сжатию данные на множество битовых плоскостей данных, причем величина множества битовых плоскостей данных является переменной, кодируют и, таким образом, сжимают каждую битовую плоскость данных.
6. Способ декодирования, согласно которому выбирают эталон из множества эталонов, который используют при декодировании кодированных данных, применяя идентификационную информацию эталона, причем используемый эталон получают во время кодирования данных, имеющих наивысшую степень сжатия, декодируют указанные кодированные данные, используя выбранный при декодировании кодированных данных эталон.
7. Способ кодирования по п.6, отличающийся тем, что этап кодирования включает в себя кодирование энтропии.
8. Способ декодирования по п.6, отличающийся тем, что указанные кодированные данные представляют собой данные изображения программного обеспечения видеоигр.
9. Способ декодирования, согласно которому выбирают эталон из множества эталонов для каждой битовой плоскости кодирования данных, который используют при декодировании кодированных данных, применяя идентификационную информацию эталона, причем используемый эталон получают во время кодирования данных, имеющих наивысшую степень сжатия, и для каждой битовой плоскости кодированных данных декодируют указанные кодированные данные, используя выбранный при декодировании кодированных данных эталон.
10. Способ декодирования, согласно которому принимают кодированные данные, которые содержат множество битовых плоскостей данных, причем множество битовых плоскостей данных является переменным, когда указанное множество битовых плоскостей данных получают в результате разделения подлежащих сжатию данных, и декодируют каждую битовую плоскость данных указанного множества битовых плоскостей данных.
11. Система кодирования, содержащая средство кодирования и, таким образом, сжатия подлежащих сжатию данных каждый раз, когда используется соответствующий один из множества эталонов, средство сравнения степеней сжатия кодированных данных друг с другом, причем кодированные данные являются кодированными каждый раз, когда используется один из множества эталонов, средство для определения оптимального эталона, обеспечивающего наивысшую степень сжатия, средство выдачи кодированных данных, имеющих наивысшую степень сжатия, и идентифицированной информации используемого эталона, когда получают указанные кодированные данные, имеющие наивысшую степень сжатия.
12. Система кодирования, содержащая средство разделения подлежащих сжатию данных на множество битовых плоскостей данных, средство кодирования и, таким образом, сжатия каждой битовой плоскости данных каждый раз, когда используется соответствующий один из множества эталонов, средство сравнения для каждой битовой плоскости данных степеней сжатия кодированных данных друг с другом, причем кодированные данные кодируются каждый раз, когда используется соответствующий один из указанного множества эталонов указанным средством кодирования, средство для определения оптимального эталона, обеспечивающего наивысшую степень сжатия для каждой битовой плоскости данных, средство выдачи для каждой битовой плоскости данных кодированных данных, имеющих наивысшую степень сжатия, и идентификационной информации эталона используемого эталона, когда получены указанные кодированные данные, имеющие наивысшую степень сжатия.
13. Система кодирования, содержащая средство разделения подлежащих сжатию на множество битовых плоскостей данных, причем величина множества битовых плоскостей данных является переменной, средство кодирования и, таким образом, сжатия каждой битовой плоскости данных.
14. Система декодирования, содержащая средство выбора эталона из множества эталонов, который используют при декодировании кодированных данных средством декодирования, применяя идентификационную информацию эталона, причем используемый указанный эталон получают во время кодирования данных, имеющих наивысшую степень сжатия, средство декодирования указанных кодированных данных с использованием указанного эталона, выбранного указанным средством выбора.
15. Система декодирования, содержащая средство выбора эталона для каждой битовой плоскости кодированных данных из множества эталонов, который используют при декодировании кодированных данных средством декодирования, применяя идентификационную информацию эталона, причем указанный используемый эталон получают во время кодирования данных, имеющих наивысшую степень сжатия, и средство декодирования для каждой битовой плоскости кодированных данных, используя указанный эталон, выбранный указанным средством выбора.
16. Система декодирования, содержащая средство приема кодированных данных, которые содержат множество битовых плоскостей данных, причем величину множества битовых плоскостей данных получают в результате разделения подлежащих сжатию данных, и средство декодирования каждой битовой плоскости данных из указанного множества битовых плоскостей данных.
Приоритет по пунктам:
20.06.95 по пп.1 - 13;
05.09.95 по пп.14 - 21.
RU97104212/09A 1995-06-20 1996-06-17 Способ и система кодирования и способ и система декодирования RU2154350C2 (ru)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP15293895 1995-06-20
JP7-152938 1995-06-20
JP7-227803 1995-09-05
JP7227803A JPH0969951A (ja) 1995-06-20 1995-09-05 符号化方法及び復号化方法

Publications (2)

Publication Number Publication Date
RU97104212A RU97104212A (ru) 1999-06-20
RU2154350C2 true RU2154350C2 (ru) 2000-08-10

Family

ID=26481710

Family Applications (1)

Application Number Title Priority Date Filing Date
RU97104212/09A RU2154350C2 (ru) 1995-06-20 1996-06-17 Способ и система кодирования и способ и система декодирования

Country Status (9)

Country Link
US (1) US5861824A (ru)
EP (1) EP0776569B1 (ru)
JP (1) JPH0969951A (ru)
KR (1) KR100241792B1 (ru)
CN (2) CN1266843C (ru)
CA (1) CA2197329C (ru)
RU (1) RU2154350C2 (ru)
TW (1) TW373386B (ru)
WO (1) WO1997001237A1 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2672625C1 (ru) * 2017-12-11 2018-11-16 федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) Устройство для компрессии данных

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2836681B2 (ja) * 1997-01-14 1998-12-14 日本電気株式会社 パタンマッチング符号化方法及び符号化装置
US6757440B2 (en) 1997-06-19 2004-06-29 Electronics For Imaging, Inc. Methods and apparatus for data compression
US5970174A (en) * 1997-06-19 1999-10-19 Electronics For Imaging Method and apparatus for data compression and gray value estimation
US6757436B2 (en) * 1997-06-19 2004-06-29 Electroncs For Imaging, Inc. Methods and apparatus for data compression based on modeling schemes
US6266419B1 (en) * 1997-07-03 2001-07-24 At&T Corp. Custom character-coding compression for encoding and watermarking media content
US6195024B1 (en) 1998-12-11 2001-02-27 Realtime Data, Llc Content independent data compression method and system
US6624761B2 (en) 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
US6604158B1 (en) 1999-03-11 2003-08-05 Realtime Data, Llc System and methods for accelerated data storage and retrieval
US6601104B1 (en) * 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
US6748457B2 (en) * 2000-02-03 2004-06-08 Realtime Data, Llc Data storewidth accelerator
US20030191876A1 (en) * 2000-02-03 2003-10-09 Fallon James J. Data storewidth accelerator
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
US9143546B2 (en) 2000-10-03 2015-09-22 Realtime Data Llc System and method for data feed acceleration and encryption
US7417568B2 (en) * 2000-10-03 2008-08-26 Realtime Data Llc System and method for data feed acceleration and encryption
JP3986011B2 (ja) 2000-12-28 2007-10-03 株式会社進化システム総合研究所 データ符号化装置および画像データ符号化方法
US7386046B2 (en) * 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
JP4062104B2 (ja) * 2003-01-24 2008-03-19 株式会社リコー ファクシミリ用モデム装置
US8031959B2 (en) * 2008-02-22 2011-10-04 Himax Technologies Limited Compression system for a bit-plane
JP5412969B2 (ja) 2009-06-09 2014-02-12 株式会社リコー モータドライバ制御装置、モータ制御装置、及び画像形成装置
JP6662086B2 (ja) 2016-02-22 2020-03-11 株式会社リコー 光書込装置及び画像形成装置
JP6812832B2 (ja) 2017-02-20 2021-01-13 株式会社リコー 画素クロック生成装置、画像書き込み装置および画像形成装置
CN112887713B (zh) * 2019-11-30 2022-06-28 华为技术有限公司 图片压缩、解压缩方法和装置
CN111179367B (zh) * 2019-12-24 2022-05-20 中国科学院西安光学精密机械研究所 一种确定性加权编码方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5056154A (en) * 1988-11-07 1991-10-08 Sharp Kabushiki Kaisha Text image data compression system
US5045852A (en) * 1990-03-30 1991-09-03 International Business Machines Corporation Dynamic model selection during data compression
US5341440A (en) * 1991-07-12 1994-08-23 Earl Joseph G Method and apparatus for increasing information compressibility
JP3108479B2 (ja) * 1991-08-28 2000-11-13 株式会社リコー 符号化復号化方法およびその装置
US5442458A (en) * 1991-12-18 1995-08-15 Eastman Kodak Company Method and associated apparatus for encoding bitplanes for improved coding efficiency
JPH06261214A (ja) * 1993-03-03 1994-09-16 Ricoh Co Ltd 画像符号化方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2672625C1 (ru) * 2017-12-11 2018-11-16 федеральное государственное автономное образовательное учреждение высшего образования "Национальный исследовательский ядерный университет МИФИ" (НИЯУ МИФИ) Устройство для компрессии данных

Also Published As

Publication number Publication date
EP0776569A1 (en) 1997-06-04
TW373386B (en) 1999-11-01
KR100241792B1 (ko) 2000-02-01
CN1266843C (zh) 2006-07-26
EP0776569B1 (en) 2002-10-30
CN1155221C (zh) 2004-06-23
KR970705893A (ko) 1997-10-09
WO1997001237A1 (en) 1997-01-09
CA2197329C (en) 2000-04-18
JPH0969951A (ja) 1997-03-11
CN1497856A (zh) 2004-05-19
US5861824A (en) 1999-01-19
CN1163686A (zh) 1997-10-29
CA2197329A1 (en) 1997-01-09

Similar Documents

Publication Publication Date Title
RU2154350C2 (ru) Способ и система кодирования и способ и система декодирования
US5045852A (en) Dynamic model selection during data compression
US6031938A (en) Image encoding apparatus with selective Markov and predictive coding
US6614939B1 (en) Image compression apparatus and decoding apparatus suited to lossless image compression
EP0616471A2 (en) Coding of digital signals
JP4768728B2 (ja) 値のブロックをエンコードする方法および装置
JPH0366227A (ja) 圧縮符号化方法及びシステム並びに復号方法
KR20040077921A (ko) 가변 길이 칼라 코드들로 팔레트화된 칼라 화상들의 압축
US7218788B2 (en) Image coder/decoder, image coding/decoding method, and storage medium
EP0103773B1 (en) Method of processing picture signal to increase average run length and apparatus therefor
CA2376720C (en) Coding method, coding apparatus, decoding method and decoding apparatus using subsampling
US5274719A (en) Image data coding apparatus
JP3387738B2 (ja) 画像パターン変換装置
JP3213012B2 (ja) 画像データのコード化及び復号化方法
JP2002084425A (ja) 多値画像データ圧縮装置
KR100245788B1 (ko) 영상 부호화 장치
JPH03240173A (ja) 画像データ圧縮方式
KR940000680B1 (ko) 영상신호의 수신 및 재생시 런필드를 이용한 복호화 방식
JP2021118450A (ja) 復号化装置、及び、符号化装置
JPS595778A (ja) 中間調画像デ−タ圧縮方式
JPH0541805A (ja) 画像データ圧縮方法およびその装置
JPH114447A (ja) 画像符号化復号装置
JPH0548903A (ja) ジグザグスキヤン回路
JPS60132424A (ja) デジタル情報符号化装置
JPS63197172A (ja) 予測符号化装置

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20110618