Мультимедиа-журнал Содержание Редакция Инфо Темы Клуб Архив
   
   
        Источник: Архив журнала «625»
Тема:
Телевидение и видео
  Марк Харитонов,
Леонид Чирков
    Цифровое телевидение: канальное кодирование и сокращение избыточности
         
        Процесс формирования цифрового сигнала в соответствии со стандартом МККР 601 мы рассмотрели в первой статье этой серии. Используемый при этом код называется кодом БВН - без возвращения к нулю. Он напрямую не годится, например, для записи видеосигналов на цифровой видеомагнитофон, плох он и для каналов связи. Дело в том, что так называемые АЧХ - амплитудно-частотные характеристики кода БВН и тракта цифрового видеомагнитофона (канала связи) заметно различаются, что ведет к нежелательным последствиям. Так, тракт видеомагнитофона имеет спад в области нижних и верхних частот, а код БВН такого спада не имеет. Можно назвать и другие причины несогласованности АЧХ исходного кода БВН (о некоторых из них речь пойдет ниже) с канальными АЧХ.

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

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

Хорошо, да не очень

Так чем же плох код БВН? К примеру, изображение содержит обширные участки постоянной яркости и цветности, согласитесь - это далеко не редкость! В этом случае будут передаваться длительные последовательности единиц. При наличие обширных темных участков мы получаем длительные нулевые уровни. Поскольку возвращения к нулю после передачи отдельного бита нет, кодированный сигнал будет состоять из очень длинных импульсов. Специалисты радиотехники очень хорошо знают, что вся энергия такого сигнала будет сдвинута к низким частотам. Тракт магнитофона их то, причем достаточно заметно, подавляет, а постоянную составляющую (она тоже присутствует) попросту отсекает. В итоге форма импульсов из-за плавания базовой линии искажается, поэтому пороговым системам становится трудно определить, где они имеют дело с 0, а где с 1. Понятно, что в таких условиях надо готовиться к появлению многочисленных ошибок.

Не лучше ситуация и в области высоких частот. Здесь спад АЧХ провоцирует рост длительности воспроизводимых импульсов сверх положенной им нормы. Итог - межсимвольная интерференция и, в конечном итоге, те же трудности в определении 0 или 1. Канальное кодирование и является попыткой - и при том с достаточно годными средствами - согласования канала и сигнала на его входе.

Если постараться дать очень упрощенное определение процесса канального кодирования, то оно, чаще всего, сводится к замене по определенным правилам исходной группы из m символов на n в канале. При этом такой процесс должен отвечать ряду условий, главный принцип которых - достижение хорошего результата при минимуме затрат. Как видите, ставится вечная задача, безуспешно решаемая постоянно и всюду. При всех исключительных возможностях цифровой техники и для нее такая задача неизбежно сводится к поиску компромиссов между разумным и достаточным. Поэтому трудно ожидать, в том числе применительно к канальному кодированию, однозначных решений, удовлетворяющих вся и всех. Вот почему уже предложено много кодов хороших и разных, но каждый из них в чем-то и по своему плох. Короче, ситуация нормального базара: выбирайте, ребята!

Не все, но привлекшие наибольшее внимание, канальные коды мы вам представили в виде наглядных временных диаграмм (их можно наблюдать на экране осциллографа) на рис. Итак, основные требования.

После канального кодирования сигнал не должен иметь постоянной составляющей, а уровень низкочастотных компонент следует поддерживать по возможности минимальным. Вполне понятно, что код должен быть эффективным, если по научному, то упомянутые m и n - близки, т. е. кодовой скорости m/n позволено лишь слегка не дотянуть до 1. Эффективный код - это так же тот, который минимально расширяет требуемую полосу частот.

Еще одно требование - и довольно важное - способность к самосинхронизации. Самосинхронизация означает, что код не должен препятствовать выделению тактовой частоты. Упомянутая выше особенность кода БВН порождать импульсы огромной длительности и есть такое препятствие. Высокой способностью к самосинхронизации обладают коды, в которых длительность максимально широких импульсов невелика и близка к длительности импульса одиночного бита (Т).

Требование широкого окна детектирования - тоже по своему весьма полезно. Оно характеризуется параметром Tm/n и фактически означает различимость символов 0 и 1 при достаточно широких искажениях формы и уровня импульсов, их представляющих.

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

Каждому разработчику мечтается соблюсти в полной мере все перечисленные условия. Увы, преодолеть расстояние между желаемым и действительным никому не удавалось. Поэтому, поглядывая на рисунок, попробуем разобраться, чем хороши, а чем плохи приведенные там варианты канальных кодов.

Очевидные достоинства кода БВН и его модифицированного варианта БВНМ - это самая высокая эффективность. Она служит хорошим ориентиром при анализе по этому параметру остальных кодов. О недостатках мы говорили достаточно много. Заметим однако, в принципе БВН можно использовать в канальном кодировании совместно со скремблированием, рассматриваемым ниже.

В двухинтервальном (ДИ) канальном коде каждый символ исходной последовательности заменяется двумя символами канального кода. Всмотритесь во временную диаграмму этого кода: при передаче 1 нулевые значения появляются не только на краях тактового промежутка, но и в его середине; при передаче 0 - только по краям. В итоге максимальная длительность импульса совпадает с длительностью бита или по иному - тактового промежутка. Поэтому для кода ДИ характерна самая высокая способность к самосинхронизации -по этому параметру он эталон. Но дело портит самая высокая среди рассматриваемых кодов избыточность, достигающая 2, а за это надо платить соответствующим расширением полосы, к тому же и окно детектирования оказывается самым плохим. По этим причинам среди печальных следствий и такое, как несоблюдение требования простоты технической реализации - вот вам и реверанс в сторону потребителя.

Код Миллера (М), часто называемый модифицированой частотной модуляцией, поэтому к нему нередко прилепляют аббревиатуру МЧМ, относится к классу трехканальных кодов, где он один из первых. В этом коде применяется три интервала для передачи бита, которые соотносятся с исходным как 1; 1,5 и 2. При этом используется следующий алгоритм кодирования: 1 передается изменением полярности в середине тактового периода; при передаче последовательно двух нулей полярность меняется в конце тактового интервала; в комбинации 0 и следующая за ним 1 - полярность остается неизменной. Характерная особенность кода Миллера - использование импульсов одной и той же длительности для передачи различных символов. Так, импульсы тактовой длительности T передают и 0, и 1, а импульс 1,5T - символы 01 и 10. По этой причине отнюдь нередкий сбой в канале синхронизации ведет к ошибкам. Защита от таких сбоев основана на привязке синхроимпульсов к комбинации символов 101 - единственной, для которой выделен импульс 2T.

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

Сильной стороной кода Миллера и его модификации является высокая эффективность, хорошая способность к самосинхронизации. Однако следы дегтя присутствуют и в этой бочке меда. За время, когда передается один символ исходной последовательности, надо принять решение - 0 это или 1, так что некогда раскачаться. А куда ведет суета, известно. В данном случае расплатой является снижение помехозащищенности. В итоге, для достижения уровня помехозащищенности, сопоставимого с кодом БВН, надо расширять, причем вдвое, полосу частот. Подчеркнем также - с простотой реализации и здесь не все благополучно.

В магнитной видеозаписи довольно широкое применение нашли групповые коды. В них используются специальные устройства оперативной постоянной памяти, содержащие таблицу соответствия всех возможных групп из m символов исходной последовательности группам из n символов канального кода. Первым групповым телевизионным кодом стал код 8/10. По этому цифровому названию можно догадаться, что код заменяет 8-битовое кодовое слово исходного сигнала группой из 10 бит. При этом отбираются только те 252 сбалансированных кодовых слова, которые содержат по 5 нулей и 5 единиц, что позволяет исключить постоянную составляющую. Несложно заметить, что замена 8 бит на 10 обходится 25% расширением потока и соответственно полосы частот. К полезным качествам это отнести трудно, но и не так худо, как в вышеотмеченном случае.

Еще один сюрприз - вероятность появления на границе соседних кодовых слов длинных последовательностей 1 или 0, передаваемых соответственно длинными импульсами, что крайне неприятно для самосинхронизации. По этой причине были разработаны варианты группового кодирования 8/14, 8/16, 16/20 и другие, в которых снята проблема самосинхронизации, а проблема более низкой, в сравнении с БВН, эффективности осталась.

Упомянем еще один принцип кодирования, известный как парциальное. Он достаточно широко используется в системах связи и хорошо приспособлен к их особенностям, но недавно был предложен и для магнитной записи. Особенность парциального кодирования - в намеренном использовании межсимвольной интерференции, в иных случаях относимой к весьма зловредным факторам. В результате интерференции передаваемые импульсы занимают не один, а два и более тактов, что ведет к усилению корреляции передаваемых уровней. Кроме этого возрастает число уровней передаваемого сигнала по сравнению с исходным двоичным, что оборачивается весьма приятным ростом отношения сигнал/шум. И еще, удается сформировать столь желательную АЧХ с небольшим уровнем низко- и высокочастотных компонент, а также повысить эффективность использования полосы частот, определяемую отношением потока информации к полосе пропускания канала.

Людей, искушенных в науке, столь длинное перечисление достоинств сразу же настораживает: обязательно должны проявиться и серьезные недостатки. Обработка сигнала в случае парциального кодирования довольно сложна и по этой причине трудно выявить и возможные недостатки - практика здесь действительно самый надежный критерий. Однако укажем на источник возможных неприятностей с которым наверняка придется столкнуться. Интерференция, как физический процесс, обладает массой достоинств и одним, но очень существенным недостатком - высокой чувствительностью к фазовым искажениям. Видеомагнитофон, со своей стороны, превосходный генератор именно таких искажений. Удастся ли "впрячь в одну телегу коня и трепетную лань" покажет всемогущая практика, а она-то пока ничтожна.

Скремблирование - зачем оно?

Если сказать проще, то скремблирование есть ни что иное, как перемешивание. Что делать - термин "скремблирование" утвердился не только в дальнем и ближнем зарубежье, но и узаконен в нашей технической литературе. Поэтому договоримся: пишем "скремблирование" - в уме держим "перемешивание". Итак, что и зачем надо... скремблировать? Мы не раз говорили о злой роли повсеместно возникающих длинных импульсов. Скремблирование и призвано для борьбы с этим злом. Оно, например, позволяет после тщательного перемешивания использовать для записи на видеомагнитофон непосредственно сигналы, закодированные кодом БВН.

Процесс скремблирования сводится к суммированию кода БВН с так называемой псвдослучайной последовательностью. Сначала поясним, что такое "псевдослучайная". Речь, конечно же, идет о жестко заданном законе перемешивания, но закон этот должен по своим свойствам приближаться к случайному, т. е. соседние импульсы не должны быть коррелированы, среднее значение сигнала, если и не нулевое, то должно быть как можно ближе к нему и т.п. Почему закон перемешивания должен быть жестко задан, особой аргументации не требует - ведь на приеме должны знать, что натворили при передаче.

Скремблирование - достаточно эффективное средство приспособления "плохого" сигнала к каналу, при этом полезный эффект достигается без введения дополнительных бит. Однако поставленная задача решается отнюдь не полностью. Длинные импульсы могут появиться и после скремблирования, когда в исходном коде БВН оказываются последовательности, совпадающие (они могут иметь и противоположную фазу) с последовательностью, использованной для скремблирования. Конечно, такие случаи достаточно редки, но и они не подарок. Правда ситуация не безнадежна, если использовать адаптивное кодирование. Для этого надо иметь несколько скремблирующих последовательностей и вовремя уходить от той, что может вызвать неприятности.

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

Коррекция ошибок

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

Самый простой прием помехоустойчивого кодирования - введение дополнительных проверочных символов. Вот почему выше мы заметили, что это не для скупых. Самое важное в проверочных символах то, что заранее известно, где и с чем рядом они должны стоять. Если с таким символом что-то случилось, то это сигнал: есть ошибка. При достаточном числе таких символов и их продуманном размещении удается восстановить пораженную информацию с хорошей долей вероятности. Широкими возможностями помехоустойчивого кодирования обладают групповые коды. Алгоритмы обработки сигнала при помехоустойчивом кодировании достаточно сложны для этой статьи, да и вряд ли детали нужны потребителям аппаратуры. Скажем лишь, что в цифровой технике вообще и в телевидении в частности наиболее известны и, пожалуй, используемы коды Хемминга, названные по имени ученого, внесшего большой вклад в исследование помехоустойчивого кодирования и в особенности в разработку кодов, названных его именем.

Упомянем еще об одном классе кодов - так называемых сверточных кодах. Они обеспечивают помехоустойчивость передачи нескольких блоков передаваемой информации. При этом под блоком не обязательно понимать кодовое слово (8 бит по МККР-601, а теперь и 10 бит), длина блока может и существенно отличаться от кодового слова. Особенность сверточного кодирования в том, что проверочные символы не заданы изначально, а по неким известным правилам игры формируются в соответствии с информацией во всех блоках кодируемой группы. Это ведет к довольно сложным алгоритмам работы кодера и декодера системы защиты, но позволяет при минимуме проверочных символов добиться заданной эффективности. Полезный эффект достигается за счет усложнения соответствующей аппаратуры, но здесь ничего не поделаешь - экономьте на чем-нибудь другом.

На широкое применение в телевидении претендует, и не без оснований, сверточный код Вайнера-Эша. В упрощенном варианте для группы из 4 блоков с общей длиной 32 бита достаточно 4 проверочных символов. Теоретически код Вайнера-Эша позволяет исправить одиночную ошибку минимально в 32 переданных символах.

Избыточность телевизионного сигнала или как с ней бороться

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

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

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

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

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

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

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

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

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

Все будет так гладко, как расписано, пока мы не наткнемся на границу, где параметры изображения резко (за один-два элемента) меняются, а такие границы встречаются на каждом шагу. Конечно это трудность, но трудность вполне преодолимая. Придумано множество остроумных решений, вдаваться в детали которых у нас нет возможностей. Однако одно из них мы упомянем. Речь идет о детекторе (определителе) границ или контуров. Важно это не только для своевременной перестройки предсказателя и соответствующего элемента декодера в приемнике, но и по причинам более высокого порядка. Контур - отнюдь не случайный элемент изображения и каждое последующее положение точки контура очень даже зависит от предыдущих. Совместное использование межэлементных и межстрочных предсказаний или соответствующей разностной информации позволяет выделить участки и даже контуры в целом и заранее использовать их в процессе сокращения информации. Знание контуров существенно облегчает работу алгоритмов компрессии, поэтому детекторы контуров часто применяются в современных системах. Они тесно связаны с еще одной и чрезвычайно важной задачей детекции движения, речь о ней пойдет ниже.

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

Как и в канальном кодировании, компрессия так же не обходится без блочных методов, когда обработка ведется блоками видеоинформации, например, 2х2 элемента, 4х4, 4х6, 8х8, 16х16... Здесь также множество подходов, на одном из которых хотелось бы остановиться. Попробуем представить набор возможных вариантов изображений (имеются в виду только контурные) в блоке 2х2. Он не так уж и велик, много больше таких вариантов можно набрать для блока 4х4, еще много больше для 8х8 - но в любом случае мы имеем дело с ограниченным набором вариантов. Идея состоит в том, чтобы вместо информации о конфигурации рисунка передавать номер типового изображения. В этом случае блок исходного изображения сравнивается с типовыми, хранящимися в памяти и подбирается близкая к исходной конфигурация. Номер конфигурации, вместе с дополнительной информацией о яркости и цветности, поступает потребителю, где и декодируется. Эффективность подобного метода должна расти с ростом размера блока, однако библиотека типовых конфигураций может оказаться слишком большой. Есть ряд приемов, позволяющих ослабить эту проблему. В частности, можно ограничить билиотеку типовых конфигураций, а к информации о яркости и цветности добавлять еще и информацию об отличии исходной конфигурации от типовой.

До сих пор речь шла об использовании поверхностных - межэлементных и межстрочных корреляционных связей. Они эффективно работают пока речь идет о изображениях статических или содержащих не слишком быстро перемещающиеся объекты. Полную информацию о движении можно выделить только через межкадровую корреляцию. Однако, как показала практика, просто разностная между соседними кадрами информация не позволяет решить задачу эффективного сжатия. Потребовались более сложные алгоритмы обработки с выделением информации о направлении и скорости смещения отдельных границ и полных контуров объектов (вектор движения). А для этого особо ценной оказалась информация о контурах. Разработка детекторов движения стала радикальным направлением в решении задачи сокращения избыточности изображений с движущимися объектами. Потребовалась достаточно совершенная и быстродействующая вычислительная техника прежде чем детектирование движения получило удовлетворительное решение.

Есть общее и малоприятное правило: чем детальнее изображение, чем больше в нем движущихся объектов и чем выше их скорости, тем сложнее и менее эффективно сжатие. Самыми опасными для систем компрессии оказываются такие изображения, как быстрые панорамы заполненных трибун стадиона или еще хуже быстросмещающийся мерцающий текст. Как правило, в столь тяжелых условиях отказывают самые совершенные системы - при этом наблюдаются разрывы движения и даже разрушение изображения. В таких случаях сжатие вообще не приемлемо. Что ж, с объективными ограничениями, накладываемыми природой, попросту надо считаться.

Получив совершенную компьютерную базу, телевидение довольно успешно смогло атаковать проблему сжатия. Если в первых работах по сжатию цифрового потока в телевидении не шли дальше сокращения с 240 Мбит/с до 34 - потока в стандартном канале ЕАСС (Единой автоматизированной системы связи), то сейчас уже речь идет о размещении нескольких каналов в пределах одного стандартного аналогового. Более того, в полосу 8 МГц уже успешно вжимают телевидение высокой четкости, а поговаривают даже о двух и более таких каналах. Отдавая должное успехам компрессии не можем удержаться и от ушата: любое сжатие, как бы аккуратно оно не было сделано, ведет к потере информации. Рано или поздно эти потери станут заметны. Считается, что теоретический предел сжатия лежит где-то около 50. Однако оценки подобного рода всегда достаточно спорны. В качестве судьи здесь уместна лишь практика, к которой мы вас охотно и отсылаем.

 
Бесплатная подписка на
mail-list «625-net» и журнал «625»
Вопросы и предложения по содержанию журнала направляйте:
web.editor@625-net.ru
Замечания и предложения по работе сервера направляйте:
web.master@625-net.ru
© 1996,1997 Журнал
«625». Все права защищены. © 1996,1997 «625» Magazine. All rights reserved.