Изображение кремниевой графики
Расширение имени файла | .sgi , .rbg (среди прочих) |
---|---|
Тип интернет-СМИ | изображение/sgi [1] |
Введите код | '.SGI' |
Единый идентификатор типа (UTI) | com.sgi.sgi-изображение [2] |
Магическое число | 01 ДА |
Разработано | Пол Хэберли |
Первоначальный выпуск | 0,95/1995 [3] [4] |
Последний выпуск | 1.00 1996 год |
Тип формата | файл изображения |
Стандартный | Формат файла изображения SGI [5] |
Изображение Silicon Graphics ( SGI ) или формат файла RGB — это собственный растровой формат файлов графики для рабочих станций Silicon Graphics . [4] Формат был придуман Полом Хэберли . [4] Он может быть закодирован по длине (RLE). FFmpeg и ImageMagick , среди прочих, поддерживают этот формат.
Фон
[ редактировать ]Распространенные расширения файлов:
.sgi
или.rgb
- 3 цветовых канала
.rgba
- 3 цветовых канала и альфа
.bw
или.int
- черно-белый
.inta
- черно-белое и альфа
Этот формат изначально был разработан для IRIX . Главными файлами SVT многоформатного набора тестов высокого разрешения являются SGI. [6] [7] [8] Кадр 200 последовательности ParkJoy в этом наборе (15722.sgi, 3840×2160, 47,4 МБ) использовался в сравнениях WebP .
Технические детали
[ редактировать ]Формат изображения SGI использует обратный порядок байтов. Данные изображения сканируются слева направо, снизу вверх.
Заголовок
[ редактировать ]Номер поля | Шестнадцатеричное смещение | Длина | Имя поля | Описание |
---|---|---|---|---|
1 | 0x00 | 2 байта | Подпись файла/магический номер | Подпись SGI |
2 | 0x02 | 1 байт | Сжатие | 0 = Несжатый, 1 = сжатие RLE |
3 | 0x03 | 1 байт | Байтов на пиксель | 1 = 8 бит, 2 = 16 бит |
4 | 0x04 | 2 байта | Измерение | Размер изображения, 3 для изображения RGBA |
5 | 0x06 | 2 байта | размер Х | Ширина изображения |
6 | 0x08 | 2 байта | Размер Y | Высота изображения |
7 | 0x0A | 2 байта | Количество каналов | Количество каналов в файле изображения, 4 для изображения RGBA |
8 | 0x0C | 4 байта | Минимальное значение пикселя | Наименьшее значение пикселя изображения |
9 | 0x10 | 4 байта | Максимальное значение пикселя | Наибольшее значение пикселя изображения |
10 | 0x14 | 4 байта | Сдержанный | Не используется, игнорировать |
11 | 0x18 | 80 байт | Название изображения | ПРИМЕЧАНИЕ. Строки C заканчиваются последним байтом. 0x00 |
12 | 0x68 | 4 байта | Идентификатор цветовой карты | Только для изображения цветной карты |
13 | 0x6C | 404 байта | Дурачок | Буфер для масштабирования заголовка до 512 байт. игнорировать |
Подпись файла/магический номер
Должно быть равно 0x01
0xda
для файла SGI.
Сжатие
0
если файл несжатый; 1
для сжатия RLE.
Байтов на пиксельный канал
Значение 1
для 8 бит на канал; 2
по 16 бит на канал.
Измерение
Значение 1
для 1 канала — 1 растровое изображение; 2
для 1 канала изображение с несколькими строками развертки; 3
для нескольких каналов изображение с несколькими строками развертки (наиболее распространено).
Размер Х
Ширина линии развертки в пикселях.
Размер Y
Количество строк развертки в изображении.
Количество каналов
Количество каналов в изображении. Значение 1
для изображений в оттенках серого; 3
для RGB; 4
для РГБА. SGI поддерживает более 4 каналов.
Минимальное значение пикселя
Наименьшее значение пикселя во всех каналах. Поскольку SGI использует для каналов беззнаковые символы или короткие типы, наименьшее возможное значение обычно равно 0
.
Максимальное значение пикселя
Наибольшее значение пикселя во всех каналах. Поскольку SGI использует для каналов беззнаковые символы или короткие типы, максимальное возможное значение обычно равно 0xff
для 8 бит/канал и 0xffff
для 16 бит/канал.
Дурачок
4 байта, не используются.
Название изображения
Имя изображения, 80 байт (максимум 79 символов ≠ 0x00
) Строка C. Если имя короче 79 символов, все последующие байты должны быть 0x00
чтобы заполнить 80-байтовое пространство.
Идентификатор цветовой карты
SGI поддерживает 4 типа цветового отображения:
0x00
нормальный: изображение имеет 1 канал (оттенки серого), 3 канала (RGB) или 4 канала (RGBA).0x01
размывание: изображение упаковано в RGB. Первые 3 бита предназначены для канала R, следующие 3 бита — для канала G, а последние 2 бита — для канала B.0x02
экран: изображение использует цветовую карту. Пиксельные данные являются индексом в цветовой карте, а изображение имеет только 1 канал.0x03
цветовая карта: файл содержит данные только для одной цветовой карты (можно использовать для разных файлов изображений). Этот файл не содержит данных изображения.
Дурачок
404 байта. Обычно не используется, увеличивает длину заголовка до 512 байт.
Данные изображения
[ редактировать ]Без сжатия
Данные изображения начинаются с байта 512 в файле. Длина данных может быть рассчитана с использованием следующего:
(Размер X) × (Размер Y) × (Количество каналов) × (Байт на канал)
Данные разделяются для каждого канала. Например, если изображение использует RGBA, первый набор строк сканирования представляет канал R, следующий набор строк сканирования предназначен для канала G, затем канал B и, наконец, канал A. Таким образом, к каждому набору строк сканирования можно получить прямой доступ по следующей формуле (где C = индекс канала):
(Размер X) × (Размер Y) × ( C ÷ Число каналов) × (Байт на канал)
RLE-сжатие
Таблицы смещений начинаются с байта 512. Их длину можно рассчитать следующим образом:
(Размер Y) × (Количество каналов) × Длина 4 байта
Каждое целое число без знака в таблице представляет собой смещение (от начала файла) до начала сжатых данных каждой строки развертки в каждом канале. Данные разделяются для строки развертки каждого канала. Если изображение имеет каналы RGBA, порядок остается R, G, B и A.
Далее следует таблица длины данных, которую также можно рассчитать по формуле:
(Размер Y) × (Количество каналов) × Длина 4 байта
Эта таблица содержит размер сжатых данных (беззнаковое целое число) каждой строки сканирования. Этот размер должен равняться разнице чисел в таблице смещений.
Последний блок данных содержит данные изображения, сжатые по протоколу RLE. Если количество байтов на канал 1
, сжатые данные имеют тип unsigned char. В противном случае, если количество байтов на канал 2
, сжатые данные имеют беззнаковый короткий тип. Последний байт сжатых данных строки развертки имеет значение 0
.
(ПРИМЕЧАНИЕ. Следующий абзац не удалось перевести предыдущему английскому редактору)
В обоих случаях есть беззнаковый символ или короткие беззнаковые данные, младшие 7 битов указывают количество. Если бит 8 равен нулю, счетчик равен числу, умноженному на значение копирования после счетчика. Если бит 8 равен единице, счетчик равен количеству копий серии значений после байта счетчика. Для изображения размером 2 байта на канал счетчик и значение являются беззнаковыми короткими, а верхний байт счетчика всегда равен нулю.
(ПРИМЕЧАНИЕ от английского редактора: что?)
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ .sgi Тип MIME не зарегистрирован в IANA
- ^ «CGImageSource.SupportedTypes» . Плагин Claris FileMaker MBS . Программное обеспечение MonkeyBread.
- ^ Пол Хэберли (1996). «Формат файла изображения SGI 0.97» . Кремниевая графика . Проверено 7 марта 2014 г. [ мертвая ссылка ] Все URL
- ^ Jump up to: а б с Джеймс Д. Мюррей; Уильям ван Райпер (апрель 1996 г.). «Сводка форматов файлов изображений SGI» . Энциклопедия форматов графических файлов, второе издание . О'Рейли . ISBN 1-56592-161-5 . Проверено 7 марта 2014 г.
- ^ Пол Хэберли (1996). «Формат файла изображения SGI 1.00» . Кремниевая графика . Проверено 7 марта 2014 г.
- ^ Ларс Хаглунд (февраль 2006 г.). «Многоформатный тестовый набор высокого разрешения SVT» (PDF) . СВТ . Проверено 23 февраля 2014 г.
- ^ "SVT_MultiFormat/2160p50_CgrLevels_Master_SVTdec05" . Группа экспертов по качеству видео ( VQEG ). 2006 год . Проверено 1 марта 2014 г.
- ^ Марта Мрак; Мислав Гргичб; Мурат Кунт (2010). Высококачественный визуальный опыт: создание, обработка и интерактивность видеосигналов высокого разрешения и больших размеров . Сигналы и коммуникационные технологии. Спрингер . стр. 147–154. ISBN 978-3-642-12802-8 . LCCN 2010925849 .