Область техники
Настоящее изобретение относится к способам сжатия потоков, в частности, видео и/или аудио файлов.
Предшествующий уровень техники
Основные стандарты, в частности, MPEG4 / H264, используемые в настоящее время для сжатия потоков видео, предусматривают придание определенной скорости, измеряемой в битах в секунду, сжимаемому потоку, независимо от числа изображений в секунду в первоначальном потоке. Так, файл видео на 10 секунд, кодированный со скоростью сжатия 10 мегабит в секунду (10 Мбит/сек), будет иметь «весовой коэффициент» в 100 мегабит (100 Мбит), то есть 12,5 мегабайт (12,5 МБ), причем как при частоте воспроизведения 50 изображений в секунду, то есть когда файл содержит 500 изображений, так и при частоте воспроизведения 25 изображений в секунду, то есть когда файл содержит 250 изображений. Кроме того, кодеры-декодеры, применяющие стандарт Н264, создают в сжатом потоке или файле, полученном из первоначального потока или файла, группы изображений (GOP). Каждая группа содержит 3 типа сжатых изображений:
- слабо сжатое опорное изображение, называемое изображением типа «I»;
- более сжатые одно или несколько изображений «Р», предполагаемых и восстановленных только в зависимости от предыдущих изображений группы GOP;
- одно или несколько изображений «В», предполагаемых и восстановленных одновременно на основании предыдущих и последующих изображений группы GOP.
Качество восстановленного потока зависит от выбранной скорости и от частоты воспроизведения и восстановления обрабатываемого потока, причем эти две частоты идентичны между собой в случае стандарта Н264, который сохраняет число изображений между первоначальным потоком и сжатым потоком. Скорость сжатия можно выбрать в момент сжатия; скорость в 10 Мбит/сек обеспечивает лучшее качество восстановления, чем скорость в 5 Мбит/сек.
Качество восстановленного потока зависит также от того, каким образом получена группа GOP, в частности от качества опорного изображения типа I, от числа изображений каждого типа «В» или «Р», а также от их упорядоченности. Так, при восстановлении большое число изображений типа «Р» может создавать видимость скачкообразности. Большое число изображений типа «В» или «Р» между двумя последовательными опорными изображениями типа «I» может привести к постепенному ухудшению восстановленного видеоряда между двумя опорными изображениями, то есть к снижению качества видеоряда.
В частности, стандарт Н264 широко используют для сжатия видео потока в Интернете и в телевидении. Однако восстановление сжатых потоков, в частности, согласно этому стандарту, характеризуется дефектами, визуально наблюдаемыми телезрителем, который становится все более требовательным к качеству восстановления.
Краткое изложение существа изобретения
Таким образом, изобретение призвано предложить способ сжатия, который позволяет улучшить восстановление при использовании существующих стандартов и соответствующих кодеров-декодеров, чтобы конечному пользователю, например зрителю, в случае видео, или слушателю, в случае звукового ряда, не приходилось менять или модифицировать программы или виртуальные или физические средства восстановления (считывающее устройство, видеоплейер, телевизор …).
В связи с этим первым объектом изобретения является способ сжатия первоначального потока в сжатый поток при помощи кодера-декодера, выполненного с возможностью придания сжимаемому потоку упомянутым кодером-декодером скорости кодирования, измеряемой в битах в секунду,
- при этом скорость кодирования не зависит от числа элементов в секунду;
- при этом первоначальный поток содержит, по меньшей мере, заголовок и ряд последовательных элементов;
- при этом заголовок первоначального потока содержит частоту восстановления в элементах в секунду для элементов ряда;
при этом способ отличается тем, что содержит применение предфильтра, пост-фильтра и коэффициента уплотнения, и тем, что:
- используют предфильтр перед кодером-декодером для замены в заголовке первоначального потока частоты восстановления частотой уплотнения, для передачи фильтрованного таким образом потока в кодер-декодер; затем
- используют пост-фильтр для замены в заголовке кодированного потока, полученного в результате кодирования упомянутого предварительно фильтрованного потока кодером-декодером, частоты уплотнения частотой восстановления для сжатого потока, значение которой по существу равно значению частоты восстановления первоначального потока;
- при этом частота сжатия равна произведению частоты восстановления на коэффициент уплотнения.
Первоначальный поток можно получить в результате считывания первоначального файла, например, путем декодирования уже сжатого первоначального файла.
Способ может дополнительно содержать этап записи сжатого потока в сжатый файл.
Скорость кодирования может быть постоянной, в частности, в случае кодирования кодером-декодером в режиме CBR (постоянная скорость потока в битах). Скорость кодирования может быть переменной, в частности, в случае кодирования кодером-декодером в режиме VBR (переменная скорость потока в битах).
Предпочтительно коэффициент уплотнения является целым числом, строго превышающим 1, предпочтительно равным 2 или 3. Он может быть также десятичным числом, например, 1,5 или 2,5.
Способ можно применять для аудио потока, при этом каждый элемент является выборкой звука, и частота восстановления является соответствующей частотой дискретизации.
Способ можно применять для видео потока, при этом каждый элемент является единым изображением, при этом частота восстановления является частотой воспроизведения для изображений потока. Кодер-декодер может быть выполнен с возможностью формирования групп сжатых изображений (GOP), при этом изображения каждой группы содержат, по меньшей мере, одно опорное изображение типа «I», а другие изображения группы могут быть изображениями одного из типов «В» или «Р».
Вторым объектом изобретения является способ оптимизации потока 3D, изображения которого могут быть мультиплексированными или нет, использующий способ, являющийся первым объектом изобретения.
Третьим объектом изобретения является способ получения общего файла для соединения нескольких рядов сжатых элементов при помощи способа, являющегося одним из предыдущих объектов изобретения, при этом каждый ряд уплотняют с характерными для него скоростью и/или коэффициентом уплотнения.
Четвертым объектом изобретения является способ оптимизации характеристик кодера-декодера, использующий способ, являющийся одним из предыдущих объектов изобретения.
Пятым объектом изобретения является способ кодирования потока в реальном времени или текущего потока, использующий способ, являющийся одним из предыдущих объектов изобретения.
Шестым объектом изобретения является система фильтров для осуществления способа, являющегося одним из предыдущих объектов изобретения.
Седьмым объектом изобретения является компьютерная программа для осуществления способа, являющегося одним из предыдущих объектов изобретения.
Восьмым объектом изобретения является физический кодер (аппаратное средство) для осуществления способа, являющегося одним из предыдущих объектов изобретения.
Описание предпочтительных вариантов воплощения
Далее следует описание нескольких вариантов выполнения изобретения, представленных в качестве не ограничительных примеров, со ссылками на прилагаемые чертежи, на которых единственная фигура схематично иллюстрирует способ в соответствии с изобретением.
На фигуре показаны этапы способа цифрового сжатия цифрового потока F1, называемого первоначальным потоком, в сжатый цифровой поток. Первоначальный поток содержит заголовок Т1 и ряд из числа Z последовательных элементов Е. Элементы Е предназначены для восстановления с целью использования конечным пользователем, например, зрителем или слушателем на определенной частоте восстановления R, записанной в заголовке Т1.
Первоначальный поток F1 может быть получен в результате считывания первоначального файла. Его можно также получить в результате прямой записи, например, при помощи камеры, в случае видео потока, или при помощи микрофона, в случае аудио потока.
Сжатый поток F2 может быть записан в сжатый файл или просто передан, то есть восстановлен напрямую, например, через экран в случае видео потока или через колонку в случае аудио потока.
Дальнейшее описание касается видео потока. В представленном примере каждый элемент Е является набором цифровых значений, позволяющих воссоздать изображение; для упрощения каждый элемент Е первоначального файла F1 будет называться первоначальным «изображением».
Заголовок содержит частоту R, на которой следует восстанавливать элементы Е. Так, частота восстановления R равна N изображений в секунду. На фигуре показанными элементами являются первый элемент Е1 ряда, последний элемент EN первой секунды и последний элемент EZ ряда.
В представленном примере для кодирования, то есть для сжатия потока F1 в поток F2 используют кодер-декодер С, соответствующий стандарту Н264. Кодер-декодер С содержит вход для выбора скорости кодирования Q. Кодер-декодер С выдает сжатые изображения S1…SN…SZ, называемые также отрезки, при этом каждое из сжатых изображений S1…SN…SZ соответствует соответствующему первоначальному изображению Е1…EN…EZ.
Согласно изобретению, используют два цифровых фильтра Х1, Х2, предпочтительно применяемых в обычных программах:
- предфильтр Х1 для обработки первоначального потока F1; при этом предфильтр Х1 производит на основании первоначального потока F1 предварительно обработанный поток FX1, направляемый на кодер-декодер С; и
- пост-фильтр Х2, предназначенный для сбора потока FX2, выходящего из кодера-декодера С; при этом пост-фильтр Х2 производит на основании выходящего потока FX2 сжатый поток F2.
Фильтры Х1, Х2 имеют общий вход для установления единого выбранного коэффициента уплотнения K. K является положительным числом, целым или десятичным, отличным от 1 и предпочтительно превышающим 1. Для использования кодера-декодера типа Н264 предпочтительно K выбирают в пределах от 1,5 до 4, предпочтительно выбирают равным 2 или 3.
Предфильтр Х1 выполнен с возможностью замены в заголовке Т1 первоначального файла F1 частоты восстановления R на частоту уплотнения RK; частота уплотнения RK является произведением частоты восстановления R на коэффициент уплотнения K (RK=R x K). Предфильтр предусмотрен также для сохранения в идентичном виде ряда первоначальных элементов Е1…EZ.
Как показано на фигуре, предварительно обработанный поток FX1 содержит заголовок ТХ1, содержащий частоту уплотнения RK, и ряд из числа Z последовательных элементов E1-EZ первоначального потока F1.
Кодер-декодер С выполнен с возможностью кодирования предварительно обработанного потока FX1 со скоростью Q, измеряемой в битах в секунду. Кодер-декодер С сохраняет значение частоты, поэтому заголовок ТХ2 кодированного потока FX2 содержит частоту RK уплотнения. Кроме того, кодированный поток содержит ряд, в котором каждое из сжатых изображений S1…SN…SZ соответствует соответствующему первоначальному изображению Е1…EN…EZ.
Пост-фильтр Х2 выполнен с возможностью замены в заголовке ТХ2 кодированного потока FX2 частоты уплотнения RK на первоначальную частоту восстановления R.
Таким образом, сжатый поток F2 содержит заголовок Т2, содержащий частоту восстановления R2 со значением, по существу равным, с учетом информативных аппроксимаций, значению частоты восстановления R первоначального потока F1, и ряд изображений S1-SZ, сжатых кодером-декодером С, каждое из которых соответствует соответствующему изображению Е1-EZ первоначального потока. В представленном примере значение R2 вычисляют на основании значения частоты RK кодированного потока FX2 по формуле:
R2=RK/K
Кодированный поток FX2 имеет скорость QX2, равную Q, то есть:
QX2=Q
Сжатый поток F2 имеет уменьшенную скорость Q2, равную выбранной скорости, поделенной на коэффициент сжатия K, то есть:
Q2=Q/K
Неожиданно было установлено, что полученное качество существенно улучшилось для потока, сжатого при помощи заявленного способа (например, при Q=10 Мбит/сек и при коэффициенте сжатия K=2, при этом уменьшенная скорость сжатого потока составляет Q/K=5 Мбит/сек), по сравнению с сжатым потоком, полученным при сжатии того же первоначального потока F1 при помощи того же кодера-декодера, но с выбранной скоростью, равной уменьшенной скорости (Q=5 Мбит/сек), без использования фильтров Х1, Х2 в соответствии с изобретением. Таким образом, заявленный способ позволяет значительно повысить ощущаемое качество восстановления без увеличения полосы пропускания, необходимой для передачи потока, или без увеличения весового коэффициента соответствующего сжатого файла, пропорционального уменьшенной скорости (весовой коэффициент сжатия = 5 кбит/сек x Z/N).
Разумеется, изобретение не ограничивается описанными примерами.
Так, вместо вычисления частоты R2 сжатого потока на основании значения частоты RK кодированного потока FX2 по формуле R2=RK/K, можно предусмотреть сохранение в памяти значения частоты восстановления R первоначального потока, затем ее введение в заголовок Т2 сжатого потока F2, при этом R2=R.
Кроме того, описанный способ в соответствии с изобретением можно использовать для сжатия аудио потока.
Изобретение относится к технологиям сжатия потоков видео и/или аудио файлов. Техническим результатом является улучшение качества сжатия для потока данных. Предложен способ сжатия первоначального потока (F1) в сжатый поток (F2). Способ содержит этап, на котором подают предварительно фильтрованный поток на кодер, сконфигурированный с возможностью кодирования фильтрованного потока (FX1) в закодированный поток (FX2) со скоростью кодирования (Q), измеренной в битах в секунду, причем указанная скорость кодирования (Q) не зависит от числа (N) элементов в секунду. При этом упомянутый первоначальный поток (F1) содержит, по меньшей мере, один заголовок (Т1) и ряд последовательных элементов (E1…EN…EZ), а заголовок первоначального потока содержит частоту восстановления для элементов упомянутого ряда. Пропускают первоначальный поток через предфильтр (X1) перед кодером-декодером для замены в заголовке (Т1) первоначального потока частоты восстановления (R) частотой уплотнения (RK), затем для передачи фильтрованного таким образом потока (FX1) в упомянутый кодер-декодер. 9 н. и 10 з.п. ф-лы, 1 ил.
1. Способ сжатия первоначального потока (F1) в сжатый поток (F2), содержащий:
подают предварительно фильтрованный поток на кодер, сконфигурированный с возможностью кодирования фильтрованного потока (FX1) в закодированный поток (FX2) со скоростью кодирования (Q), измеренной в битах в секунду, причем указанная скорость кодирования (Q) не зависит от числа (N) элементов в секунду;
при этом упомянутый первоначальный поток (F1) содержит, по меньшей мере, один заголовок (Т1) и ряд последовательных элементов (E1…EN…EZ);
при этом упомянутый заголовок первоначального потока содержит частоту восстановления (R=N элементов в секунду) для элементов упомянутого ряда (E1…EN…EZ);
отличающийся тем, что:
применяют предфильтр, пост-фильтр и коэффициент сжатия (K);
пропускают первоначальный поток через предфильтр (X1) перед кодером-декодером для замены в заголовке (Т1) первоначального потока частоты восстановления (R) частотой уплотнения (RK), затем для передачи фильтрованного таким образом потока (FX1) в упомянутый кодер-декодер; затем пропускают кодированный поток через пост-фильтр (Х2) для замены в заголовке (ТХ2) кодированного потока (FX2), полученного в результате кодирования упомянутого предварительно фильтрованного потока (FX1) упомянутым кодером-декодером (С), частоты уплотнения (RK) частотой восстановления (R2) для получения сжатого потока, значение которой по существу равно значению частоты восстановления (R) первоначального потока;
при этом упомянутая частота уплотнения (RK) равна произведению (R×K) упомянутой первоначальной частоты восстановления (R) на упомянутый коэффициент уплотнения (K).
2. Способ по п. 1, отличающийся тем, что первоначальный поток получают посредством считывания первоначального файла, например путем декодирования уже сжатого первоначального файла.
3. Способ по п. 1, отличающийся тем, что содержит этап записи сжатого потока (F2) в сжатый файл.
4. Способ по п. 1, отличающийся тем, что скорость кодирования (Q) является постоянной скоростью.
5. Способ по п. 1, отличающийся тем, что скорость кодирования (Q) является переменной скоростью.
6. Способ по п. 1, отличающийся тем, что коэффициент уплотнения (K) является целым числом, строго превышающим 1, предпочтительно равным 2 или 3.
7. Способ по п. 6, отличающийся тем, что коэффициент уплотнения (K) является целым числом, равным 2 или 3.
8. Способ по п. 1, отличающийся тем, что коэффициент уплотнения (K) является десятичным числом.
9. Способ по п. 1, отличающийся тем, что его первоначальный поток является потоком видео, при этом каждый элемент (Е) является единым изображением, при этом частота восстановления (R) является частотой воспроизведения для упомянутых изображений (Е).
10. Способ по п. 9, отличающийся тем, что кодер-декодер выполнен с возможностью формирования групп (GOP) уплотненных изображений, при этом изображения каждой группы содержат, по меньшей мере, одно опорное изображение типа «I», а другие изображения группы могут быть изображениями одного из типов «В» или «Р».
11. Способ по любому из пп. 1-8, отличающийся тем, что первоначальные поток является аудио потоком, при этом каждый элемент является выборкой звука, и частота восстановления (R) является соответствующей частотой дискретизации.
12. Способ оптимизации потока 3D, отличающийся тем, что использует способ по любому из пп. 1-10.
13. Способ получения общего файла для соединения нескольких рядов сжатых элементов потока при помощи способа по любому из пп. 1-12, при этом каждый ряд сжат с характерными для него скоростью и/или коэффициентом уплотнения.
14. Способ оптимизации характеристик сжатия кодера-декодера, отличающийся тем, что использует способ по любому из пп. 1-13.
15. Способ кодирования потока в реальном времени или текущего потока, использующий способ по любому из пп. 1-14.
16. Система фильтров (X1, Х2) для осуществления способа по любому из пп. 1-15.
17. Компьютерно-читаемый носитель, содержащий исполняемые компьютером инструкции для выполнения этапов способа по любому из пп. 1-15.
18. Физический кодер для осуществления способа по любому из пп. 1-14.
19. Способ сжатия первоначального потока (F1) в сжатый поток (F2), содержащий:
пропускают первоначальный поток через предфильтр, имеющий коэффициент уплотнения (K) для замены в заголовке (Т1) первоначального потока частоты восстановления (R) на частоту уплотнения (RK) и затем для передачи таким образом отфильтрованного потока (FX1), при этом заголовок первоначального потока содержит частоту восстановления (R=N элементов в секунду) для элементов упомянутого ряда (E1…EN…EZ);
пропускают фильтрованный поток (FX1) на кодер (С), сконфигурированный с возможностью кодирования фильтрованного потока (FX1) в закодированный поток (FX2) со скоростью кодирования (Q), измеренной в битах в секунду, причем указанная скорость кодирования (Q) не зависит от числа (N) элементов в секунду, причем первоначальный поток (F1) содержит, по меньшей мере, один заголовок (Т1) и ряд последовательных элементов (E1…EN…EZ);
пропускают кодированный поток через пост-фильтр (Х2) для замены в заголовке (ТХ2) кодированного потока (FX2) частоты уплотнения (RK) частотой восстановления (R2) для получения сжатого потока, значение (R2) по существу равно значению частоты восстановления (R) первоначального потока;
при этом частота уплотнения (RK) равна произведению (R×K) упомянутой первоначальной частоты восстановления (R) на упомянутый коэффициент уплотнения (K).
US 5687095 A, 11.11.1997 | |||
Способ и приспособление для нагревания хлебопекарных камер | 1923 |
|
SU2003A1 |
Колосоуборка | 1923 |
|
SU2009A1 |
Способ приготовления лака | 1924 |
|
SU2011A1 |
УСТРОЙСТВО ОБРАБОТКИ ИЗОБРАЖЕНИЙ, СПОСОБ УПРАВЛЕНИЯ ТАКОВЫМ И НОСИТЕЛЬ ДАННЫХ | 2010 |
|
RU2450323C2 |
ОБРАТИМАЯ ДВУМЕРНАЯ ПРЕДВАРИТЕЛЬНАЯ И ПОСТФИЛЬТРАЦИЯ ДЛЯ ПЕРЕКРЫВАЮЩЕГОСЯ БИОРТОГОНАЛЬНОГО ПРЕОБРАЗОВАНИЯ | 2005 |
|
RU2412473C2 |
Авторы
Даты
2017-07-04—Публикация
2012-11-09—Подача