Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Background  





2 Technical Details  



2.1  Header  





2.2  Image Data  







3 See also  





4 References  














Silicon Graphics Image






Español
 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


Silicon Graphics Image
Filename extension
.sgi, .rbg (among others)
Internet media type
image/sgi[1]
Type code'.SGI'
Uniform Type Identifier (UTI)com.sgi.sgi-image[2]
Magic number01 DA
Developed byPaul Haeberli
Initial release0.95 / 1995; 29 years ago (1995)[3][4]
Latest release

1.00
1996; 28 years ago (1996)

Type of formatimage file
StandardSGI Image File Format[5]

Silicon Graphics Image (SGI) or the RGB file format is the native raster graphics file format for Silicon Graphics workstations.[4] The format was invented by Paul Haeberli.[4] It can be run-length encoded (RLE). FFmpeg and ImageMagick, among others, support this format.

Background[edit]

Common file extensions are:

.sgior.rgb
3 colour channels
.rgba
3 colour channels and alpha
.bwor.int
black and white
.inta
black and white and alpha

This format was originally developed for IRIX. The master files of the SVT High Definition Multi Format Test Set are SGIs.[6][7][8] Frame 200 of the ParkJoy sequence in this set (15722.sgi, 3840×2160, 47.4 MB) was used in WebP comparisons.

Technical Details[edit]

SGI image format use big endian order. Image data scan from left to right from bottom to top.

Header[edit]

Field number Hex offset Length Field name Description
1 0x00 2 byte File signature/magic number SGI Signature
2 0x02 1 byte Compression 0 = Uncompressed, 1 = RLE compressed
3 0x03 1 byte Bytes per pixel 1 = 8 bit, 2 = 16 bit
4 0x04 2 bytes Dimension Image dimension, 3 for RGBA image
5 0x06 2 bytes X size Image width
6 0x08 2 bytes Y size Image height
7 0x0A 2 bytes Number of channels Number channels in the image file, 4 for RGBA image
8 0x0C 4 bytes Minimum pixel value Smallest pixel value in image
9 0x10 4 bytes Maximum pixel value Largest pixel value in image
10 0x14 4 bytes Reserved Unused, ignore
11 0x18 80 bytes Image name NOTE: C strings end with last byte 0x00
12 0x68 4 bytes Color map ID Only for color map image
13 0x6C 404 bytes Dummy Buffer to scale the header to 512 bytes. Ignore

File Signature/Magic Number

Should equal 0x01 0xda for SGI file.

Compression

0 if the file is uncompressed; 1 for RLE compression.

Bytes Per Pixel Channel

Value is 1 for 8 bits per channel ; 2 for 16 bits per channel.

Dimension

Value is 1 for 1 channel, 1 scanline image ; 2 for 1 channel, multiple scanlines image; 3 for multiple channels, multiple scanlines image (most common).

X Size

Scanline width in pixels.

Y Size

Number of scanlines in the image.

Number Of Channels

Number of channels in the image. Value is 1 for greyscale images; 3 for RGB; 4 for RGBA. SGI supports more than 4 channels.

Minimum Pixel Value

Smallest pixel value in all channels. Since SGI uses unsigned char or short types for channels, the smallest possible value is typically 0.

Maximum pixel value

Largest pixel value in all channels. Since SGI uses unsigned char or short types for channels, the largest possible value is typically 0xff for 8 bit/channel and 0xffff for 16 bit/channel.

Dummy

4 bytes, unused.

Image name

Image name, 80-byte (maximum 79 characters ≠ 0x00) C string. If the name is shorter than 79 characters, all subsequent bytes are to be 0x00 in order to fill the 80-byte space.

Color Map ID

SGI supports 4 types of color mapping:

  1. 0x00 normal: image has 1 channel (greyscale), 3 channels (RGB) or 4 channels (RGBA).
  2. 0x01 dithered: image has packed RGB. First 3 bits are for R channel, next 3 bits are G channel, and last 2 bits are for B channel.
  3. 0x02 screen: image uses colormap. Pixel data is index in color map and image only have 1 channel.
  4. 0x03 colormap: file only have data for one color map (can use for different image file). This file no have image data.

Dummy

404 bytes. Typically unused, scales the header to 512 bytes long.

Image Data[edit]

No Compression

Image data starts at byte 512 in file. Data length can be calculated using the following:

(X size) × (Y size) × (Num. of channels) × (Bytes per channel)

The data is separated for each channel. For example, if an image uses RGBA, the first set of scanlines represent the R channel, the next set of scanlines are for the G channel, then B channel and, lastly, A channel. Therefore, each set of scanlines can be accessed directly via the following formula (where C = channel index):

(X size) × (Y size) × (C ÷ Num. of channels) × (Bytes per channel)

RLE Compression

Offset tables start at byte 512. Their length can be calculated with the following:

(Y size) × (Num. of channels) × 4 bytes long

Each unsigned int in a table represent an offset (from file start) to the start of the compressed data of each scanline in each channel. The data is separated for each channel's scanline. If an image has RGBA channels, the order stays R, G, B and A.

Next is the data length table which can also be calculated with the formula:

(Y size) × (Num. of channels) × 4 bytes long

This table holds the size of the compressed data (unsigned int) of each scanline. This size should equal the difference of numbers in the offset table.

The last data block holds RLE compressed image data. If the number of bytes per channel is 1, the compressed data is of unsigned char type. Otherwise, if the number of bytes per channel is 2, the compressed data is of unsigned short type. The last byte of compressed scanline data has a value of 0.

(NOTE: The following paragraph could not be translated by the previous english editor)

For both case have unsigned char or unsigned short data, lowest 7 bits tell count. If bit 8 is zero, count is number times copy value after count. If bit 8 is one, count is number times copy series of values after count byte. For 2 bytes/channel image, count and value is unsigned short and top byte of count always equal zero.

(NOTE from english editor: what?)

See also[edit]

References[edit]

  1. ^ .sgi MIME type not registeredatIANA
  • ^ "CGImageSource.SupportedTypes". Claris FileMaker MBS Plug-in. MonkeyBread Software.
  • ^ Paul Haeberli (1996). "The SGI Image File Format 0.97". Silicon Graphics. Retrieved 2014-03-07.[dead link] Alt URL
  • ^ a b c James D. Murray; William van Ryper (April 1996). "SGI Image File Format File Format Summary". Encyclopedia of Graphics File Formats, Second Edition. O'Reilly. ISBN 1-56592-161-5. Retrieved 2014-03-07.
  • ^ Paul Haeberli (1996). "The SGI Image File Format 1.00". Silicon Graphics. Retrieved 2014-03-07.
  • ^ Lars Haglund (Feb 2006). "The SVT High Definition Multi Format Test Set" (PDF). SVT. Retrieved 2014-02-23.
  • ^ "SVT_MultiFormat/2160p50_CgrLevels_Master_SVTdec05". Video Quality Experts Group (VQEG). 2006. Retrieved 2014-03-01.
  • ^ Marta Mrak; Mislav Grgicb; Murat Kunt (2010). High-Quality Visual Experience: Creation, Processing and Interactivity of High-Resolution and High-Dimensional Video Signals. Signals and Communication Technology. Springer. pp. 147–154. ISBN 978-3-642-12802-8. LCCN 2010925849.

  • Retrieved from "https://en.wikipedia.org/w/index.php?title=Silicon_Graphics_Image&oldid=1213043976"

    Category: 
    Graphics file formats
    Hidden categories: 
    All articles with dead external links
    Articles with dead external links from August 2020
    Articles with short description
    Short description is different from Wikidata
     



    This page was last edited on 10 March 2024, at 21:16 (UTC).

    Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



    Privacy policy

    About Wikipedia

    Disclaimers

    Contact Wikipedia

    Code of Conduct

    Developers

    Statistics

    Cookie statement

    Mobile view



    Wikimedia Foundation
    Powered by MediaWiki