Spectrumbyte Technologies
Spectrumbyte.com - Home Page          
SPECTRUMBYTE PixelBlitter™     

Bit Blitter (which stands for "bit-block image transfer" is a computer graphics operation in which several bitmaps are combined into one using a raster operator. The name derives from the BitBLT routine for the Xerox Alto computer created in November 1975 for the Smalltalk-72 system. Machines that rely heavily on the performance graphics often have special-purpose circuitry called a blitter.

In a computer system, a blitter is a circuit, sometimes as a coprocessor or a logic block on a microprocessor, that is dedicated to the rapid movement and modification of data within that computer's memory. A blitter is capable of copying large quantities of data from one memory area to another relatively quickly, and in parallel with the CPU.

Blitters have evolved into the modern graphics processing unit. The modern GPU is essentially a very advanced blitter and shares with earlier blitters the goal of rapidly copying, transforming, and writing transformed bitmaps, to a framebuffer. Modern GPUs add the ability to modify these bitmaps in mathematically advanced methods in parallel that greatly reduces processing time. PixelBlitter™ provides high speed parallel graphics operations for manipulating two dimensional blocks of pixel images and video.

The PixelBlitter™ operations include creating pixel blocks; moving blocks of pixels; super imposing blocks of pixels upon other blocks of pixels; filling blocks of pixels with various filtering algorithms such as adjusting the contrast, brightness, and color; composing images using masks and the alpha channel; resizing and scaling of images using various algorithms; computing minimum, average, and maximum pixel values and many other functions for use in advanced algorithms that analyze images; color space conversions; pixel bit depth conversions; pixel image format conversions; blurring and sharpening of images; cropping; splitting the color channels into their own images; merging of color channels; various transparency operations using the alpha channel; various common pixel bit depths from 1 bit black and white through the 24 bit Red, Green Blue and Alpha, all the way up to professional OpenEXR 128 bits per pixel (1 to 32 bits per channel); 2d affine transformations including scaling, rotation, skewing, translation, and combinations thereof; additive and subtractive color saturation; and many more. The world of graphics operations is very large and PixelBlitter™ capabilities keep growing.

Whenever possible these operations are done in parallel using the available hardware in a computing system including the multi-core processors MMX and XMM 32 and 64 bit assembly language primitive instructions or taking advantage of General Purpose Graphics Processing Units (GPGPUs) from NVidia, ATI-AMD or Intel utilizing the OpenCL and HIP languages.

  • PixelBlitter™ is optimized for memory and algorithm performance and provides an Application Programming Interface (API) to fast parallel Pixel Image Graphics Operations and hides the details of the challenges of parallel programming. Applications bundled with PixelBlitter™ will run utilizing the full potential of computer systems with multi core processors and OpenCL/HIP supported multi GPGPU processing cards.
  • PixelBlitter™ operations are taylored to general purpose Pixel Block Image Transfer uses as well as the specific graphics operations found in modern Video Compression Systems, Graphics Editing and Manipulation Software, Video Editing, Graphics Compositing, Special Effects Systems, Video Stream Compositing and Editing Systems, and more.
  • PixelBlitter™ aims to provide real time graphics operations to support live video processing functions as well as the fastest possible batch image processing.

Basic OpenCL Program Structure
.
    .     .     .