Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Алгоритм кодирования изображения 
:(
    Опции темы
Jamezzz
Дата 22.7.2011, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 14.9.2008

Репутация: нет
Всего: нет



Здравствуйте. Существует ли такой алгоритм кодирования изображения, при котором каждый бит данных будет влиять на всё изображение в целом, а не на отдельный пиксель? Другими словами, чем больше бит, тем более детализированным будет изображение.
PM MAIL   Вверх
maxim1000
Дата 22.7.2011, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



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

Например, JPEG кодирует спектр изображения на разных частотах. Если степень сжатия большая - обрезает высокие частоты, если нужно сохранить побольше информации - оставляет. Так что можно сначала передавать низкие частоты, а потом повыше. Сначала будет размазанное, потом - всё больше деталей.


--------------------
qqq
PM WWW   Вверх
Jamezzz
Дата 22.7.2011, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 14.9.2008

Репутация: нет
Всего: нет



Да, кстати. Попробую применить этот алгоритм ко всему изображению, а не к блоку 8х8. Спасибо.
PM MAIL   Вверх
VictorTsaregorodtsev
Дата 22.7.2011, 21:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 28.7.2006

Репутация: 3
Всего: 8



Jamezzz, см. в сторону IFS (iterative function system).
Правда, там не только число кодирующих бит (вернее, число параметров системы уравнений) влияет, но и число итераций отрисовки=распаковки изображения.
PM MAIL WWW   Вверх
Jamezzz
Дата 22.7.2011, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 14.9.2008

Репутация: нет
Всего: нет



VictorTsaregorodtsev, спасибо, и про это почитаю.
PM MAIL   Вверх
Jamezzz
Дата 22.7.2011, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 14.9.2008

Репутация: нет
Всего: нет



<удалено>

Это сообщение отредактировал(а) Jamezzz - 22.7.2011, 22:28
PM MAIL   Вверх
_Y_
Дата 23.7.2011, 07:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1651
Регистрация: 27.11.2006

Репутация: 8
Всего: 34



Скорее в порядке юмора, конечно:
Условию задачи соответствует обычное изменения разрешения:
  • Например, любую картинку можно закодировать одним битом. Но по такому "изображению" можно будет только сказать светлее или темнее все изображение некоего граничного значения.
  • Второй бит добавленый по горизонтали, например, уже позволит судить независимо от левой-правой сторонах изображения. К тому же, если граничное значение не устанавливать, а использовать среднее по картинке, то двухбитная "картинка" позволит донести до ценителя изобразительного искусства информацию о том, какая из сторон светлее/темнее.
  • В общем, каждый добавленный бит будет позволять различить все болльше и больше деталей.
 smile  smile  smile 


--------------------
Я вот в этом поучаствовал: http://sbor-nik.appspot.com/kick.jsp?id=sbor5737960678883328 (на правах саморекламы:)
PM MAIL WWW   Вверх
Jamezzz
Дата 23.7.2011, 08:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 14.9.2008

Репутация: нет
Всего: нет



_Y_, с самого начала тоже об этом думал, но это не подходит, т.к. это кончится тем, что биты будут сначала влиять лишь на отдельные блоки изображения, а далее и на конкретные пиксели. Условию задачи соответствует только первый бит smile
PM MAIL   Вверх
x128
Дата 23.7.2011, 09:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 29.9.2009

Репутация: нет
Всего: 7



Цитата(Jamezzz @  22.7.2011,  21:22 Найти цитируемый пост)
Да, кстати. Попробую применить этот алгоритм ко всему изображению, а не к блоку 8х8. Спасибо.

DCT для всего изображения - очень медленно, думаю больше подойдет Wavelet преобразование.
PM MAIL WWW   Вверх
Jamezzz
Дата 23.7.2011, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 14.9.2008

Репутация: нет
Всего: нет



x128, спасибо, почитаю в этом направлении тоже.
PM MAIL   Вверх
esperanto
Дата 23.7.2011, 12:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 194
Регистрация: 31.5.2003

Репутация: 2
Всего: 4



Цитата(x128 @ 23.7.2011,  09:29)
 
DCT для всего изображения - очень медленно, думаю больше подойдет Wavelet преобразование.

Что значит ДСТ очень медлено? Что такое скорость трансформа фурье?
--------------------
B.Sc ->M.Sc.->Microsoft SDE-> (Ph.D. student + Intel SDE + psyсhology B.A) - > Skype SDET
PM MAIL   Вверх
esperanto
Дата 23.7.2011, 13:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 194
Регистрация: 31.5.2003

Репутация: 2
Всего: 4



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

(почти любое) - векторы базиса выбираются случайно.
--------------------
B.Sc ->M.Sc.->Microsoft SDE-> (Ph.D. student + Intel SDE + psyсhology B.A) - > Skype SDET
PM MAIL   Вверх
VictorTsaregorodtsev
Дата 23.7.2011, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 274
Регистрация: 28.7.2006

Репутация: 3
Всего: 8



Цитата(x128 @  23.7.2011,  09:29 Найти цитируемый пост)
DCT для всего изображения - очень медленно


Дык, давно есть альтернативы (если это можно так назвать). Есть очень быстрый алгоритм сегментации изображения в малое число цветов (от 2 до 32). Можно будет сделать так - сначала режем исходную картинку на 2 цвета, кодируем двухцветный итог через RLE, потом режем "остаток" (между исходной и двухцветной картинкой) на 3 (или опять на 2) цвета, снова кодируем через RLE... Сколько надо сделать "итераций" сжатия - столько и делаем, число итераций "распаковки" изображения тоже может быть, при необходимости, меньшим. 

В общем, пусть ТС поделится способом использования нужного ему алгоритма - а там и ясно станет, нужна ли либо максимальная теоретическая эффективность, либо максимальное практическое быстродействие, либо допустимы те или иные неоптимальности для удовлетворения каких-то субъективных требований к алгоритму и/или сжатой картинке.
PM MAIL WWW   Вверх
Jamezzz
Дата 24.7.2011, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 14.9.2008

Репутация: нет
Всего: нет



Цитата(VictorTsaregorodtsev @ 23.7.2011,  21:58)
а там и ясно станет, нужна ли либо максимальная теоретическая эффективность, либо максимальное практическое быстродействие, либо допустимы те или иные неоптимальности для удовлетворения каких-то субъективных требований к алгоритму и/или сжатой картинке.

На данном этапе мне это не нужно. Сначала хочу получить первые результаты, а уж потом, буду оптимизировать. Да и к сжатию это не имеет отношения.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0588 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.