|
Data Tagger: 2/86 - 8/99 |
|
|
The
data tagger transforms the
disconnected dots into primitive
mathematical tags which allows
for better electronic designs. It
was started in 2/86 and finished
in 8/99. The data tagger needs
more testing as the
glider is
completed.
|
|
|
Glider Convolver: 2/86 - 4/02 |
|
|
The
glider convolver transforms the
primitive mathematical tags into
the desired program output. It is
designed to be a toolbox that
allows other developers to
transform our mathematics into
their desired output. It was
started in 2/86, and it still
needs debug. We intend to finish
the glider convolver after the
blob compressor and
color segmenter are
complete.
|
|
|
Color Segmenter: 8/99 - 6/01
|
|
|
The
color segmenter groups colors
together at photographic quality
which is used as a
noise reduction
technique. At the same, it allows
for better compression. The
segmenter was started in 8/99 and
completed in 6/01. The settings of
the color segmenter need to be
manually set, and we are currently
building an auto-set feature that
will remove this requirement.
|
|
|
Blob Compressor: 6/01 - 8/10
|
|
|
The
blob compressor groups
shapes together which is used as a
noise reduction
technique. At the same, it allows
for better compression. The blob
compressor was started in 6/01 and
passed all engineering tests in
10/06. As a large piece of code
that had no precedent, some effort
was required to reach an
industrial version. The Pac-n-Zoom
Pre.Vu version of the blob
compressor was placed on the
Internet for download in 3/09, but
it is still somewhat instable. We
dropped off the blob compressor in
8/09 to concentrate on the
auto-setting segmenter, but we
will return to the blob compressor
to make it stable after the
auto-setting segmenter is
released.
|
|
|
3/09: Pac-n-Zoom® Pre.Vu
|
|
|
The initial release allows
interested parties to try out the
software on black and white files
(no colors or grays). It will
cleanup FAXes, recognized text,
collate documents, and a few other
convenient things. The initial
release will have the following
structure.
|
|
|
|
|
Auto-Set Color Segmenter: 5/09 - 6/10
|
|
|
The
color segmenter groups colors
together at photographic quality
which is used as a
noise reduction
technique. At the same, it allows
for better compression. The
segmenter that was started in 8/99 and
completed in 6/01 required manual
settings which limited commercial
viability. This version of the
color segmenter has an auto-set
feature that removes the manual
requirement and allows for full
commercial utility.
|
|
|
6/10: Pac-n-Zoom Color |
|
|
This product is Pac-n-Zoom Pre.Vu
with the automatically set color
segmenter which removes much of
the noise from an image. This
process allows
PNG to
compress about as much
JPG.
We are testing whether it will
allow a
wavelet video
compressor (e.g., Dirac) to offer
superior compression over a DCT video
compressor (e.g., like that
usually associated with MPEG).
|
|
|
|
|
8/10: Pac-n-Zoom Raster Video |
|
|
This release of Pac-n-Zoom will
have a streaming (video over the
Internet) video compression mode.
We think the compression will be
about 100 times better than what
the current standards do, and the
quality of the video should be
better than the original video.
Video over the Internet, however,
has many variables, and without
further testing with more
developed code, we are not sure of
its commercial viability. For
example, we are not sure that the
computer can decode the Pac-n-Zoom
file fast enough to support video
speeds. On the other hand, the
initial calculations indicate it
will work fine. The video
block diagram is
a little more complicated than the
color release.
|
|
|
11/10: Pac-n-Zoom ASP |
|
|
The ASP release is the same as the
video streaming release but with a
twist. The ASP is used to lower
the cost of computing while
providing many other computing
advantages (see ASP White Paper).
Since computer video doesn't
usually move very fast in
comparison to TV video, the ASP
video compression can be enormous,
and even a dial-up might work in
some cases.
Pac-n-Zoom provides the video
compression needed to make ASP a
viable technology. The following
diagram shows how Pac-n-Zoom fits
into an ASP design.
|
|
|
|
Click on a specific area for more information
|
|
|
|
User: In the ASP model, the
user can be far away from the
computer that is running the
application. In fact, the user may
be operating applications in 6
different continents at the same
time without knowing it.
|
|
|
|
Keyboard: This is the
user's keyboard.
|
|
|
|
Mouse: This is the user's
mouse.
|
|
|
|
Monitor: This is the user's
monitor.
|
|
|
|
Windows Messaging: This is
a software module that resides
inside the operating system of the
user's computer. Among other types
of information, the messaging
system picks up the mouse and
keyboard data.
|
|
|
|
Windows Bitmap: This is a
software module that resides
inside the operating system of the
user's computer. The Window's
operating system displays the
image inside the Windows bitmap
memory.
|
|
|
|
Data Packer: This software
module resides on the user's
machine, and we are using it to
make the mouse and keyboard data
compatible with Internet.
|
|
|
|
Pac-n-Zoom Decoder: The
Pac-n-Zoom viewer resides on the
user's machine.
|
|
|
|
Data Unpacker: This software
module resides on the computer
that serves the application. It
makes the data transmitted over
Internet look like it comes from
the keyboard and mouse. The
software would be provided by a
third party.
|
|
|
|
Pac-n-Zoom Encoder: The
Pac-n-Zoom encoder resides on the
application server and provides
impressive video compression that
makes the ASP model viable.
|
|
|
|
Windows Messaging: This is
a software module that resides
inside the operating system of the
application server. The user's
keyboard and mouse data are
inserted into the operating
system.
|
|
|
|
Windows Bitmap: This is a
software module that resides
inside the operating system of the
application server. In a
conventional system, the Window's
operating system displays the
image inside the Windows bitmap
memory, but in this case the image
is sent over the Internet before
it is displayed.
|
|
|
|
Application: This is the
software that the user wants to
run. Nearly any application that
can be run on a personal computer
can be run with this model or one
that is very similar. For example,
a driving program might have a
steering wheel in addition to the
keyboard and mouse. In this case,
the steering wheel is installed
into the user's computer in the
same way it would be installed in
the conventional computer model.
|
|
|
|
3/11: Pac-n-Zoom Raster Audio |
|
|
This release of Pac-n-Zoom will
have a streaming (audio over the
Internet) audio compression mode.
We think the compression will be
about 10 times better than what
the current standards do, and the
quality of the audio should be
better than the original audio.
|
|
|
4/11: Pac-n-Zoom Math |
|
|
With the mathematical release, we
will begin to introduce our core
technology. The
glider resolver tool
set will not be either highly
developed or well understood, but
we will be able to do
resolution
enhancement which is a needed
solution in graphic arts, motion
pictures, and other areas.
We will open source the glider
resolver,
GUI wrapper, and
process controller.
As the block diagram shows, this
release coincides with demo 8
which is probably our most
significant milestone.
|
|
|
|
|
|
Match Extremities: When the
tags reach the glider they are
formated as significant points on
a
blob surface.
Since a blob requires two or more
surfaces, the surfaces need to be
matched. The surface extremities
are used to match the surface.
|
|
|
|
Assign Quadrants: After all
the tags of a specific blob are
known, each tag is assigned a
quadrant with respect to the
centroid of the blob's area.
|
|
|
|
Assign Slopes: The
assignment of the slopes ensures a
continuous mathematical function
between equations. Since there are
so many possible equations, there
is much more to this step than
what it might seem. The tags are
encoded in three different ways.
|
|
|
|
1. |
Relative Positions: These
positions include the adjacent
tags and their adjacent tags.
|
|
2. |
Sequential Orders: These
include quadrants, positions, and
tag types.
|
|
3. |
Tag Types: The tag types of
up to 5 sequential tags are used
to define the slopes. There 4
basic tag types.
|
|
|
After the slopes are assigned, the
each tag contains the infomation
to either build a library tag or
be reduced to raster for display.
|
|
|
Insert Turns: The remaining
steps involve the reduction of
tags to raster. In other words, if
the insert turns step is taken,
raster is the only possible
output. This step places other
tags into the sequence as required
by raster.
|
|
|
|
Build Steps: The steps are
a specific number of points
between two tags.
|
|
|
|
Match Grid: This probably
is the part of the glider that
needs debug. The grid needs to be
matched in build steps.
|
|
|
|
Build Bitmap: The Windows
bitmap is written, and the
operating system takes it from
here. Only the pixels that change
from either the last line or
frame, depending on the
application, are updated.
|
|
|
|
7/11: Pac-n-Zoom OCR
| |
|
With the
OCR release,
we want to show
solution providers how
to implement the tool box. The
convolver develops
the specified solution with input
from the golden library which is
an outside database. Each cycle of
the convolver adds another level
of hierarchical structure to the
solution. In the OCR example, the
following would match on each
iteration.
|
|
|
|
1. |
Single Blobs: In the
initial iteration, the individual
blobs are matched to the golden
library on the first iteration
(e.g., the inside island and
perimeter of the letter 'e').
|
|
2. |
Single Characters: In the
second iteration, characters, such
as alphanumeric characters are
matched (e.g., the letter 'e').
|
|
3. |
Two Characters: During the
third iteration, two character
strings are matched (e.g., the
character sequence "he").
|
|
4. |
Three Characters: Three
character strings are matched
during the fourth iteration,
(e.g., the character sequence
"The").
|
|
5. |
Four Characters: Four
character strings are matched
(e.g., the character sequence
"They") in the fifth iteration.
|
|
6. |
Single Words: The interations
continue until the longest words
are matched. Then word sequences
are matched. (e.g., the sequence
"They will").
|
|
7. |
Single Paragraphs: The
interations continue until all
the word sequences are matched.
For example a five word sequence
would require 5 iterations. Then
paragraphs are matched.
|
|
8. |
Single Pages: The interations
continue until all the paragraphs
are matched. Then the pages are
matched.
|
|
|
While this example was for text,
the convolver will work with any
set of shapes. For example, the
lines of a form could be matched
just as easily as the text.
The following is a rather involved
diagram of how the convolver is
implemented into the glider.
|
|
|
|
|
Select Library: Since the
convolver will be used in
different applications, the
application specific library needs
to be selected. In this text
recognition case, for example, we
would choose the text library, but
we could choose other libraries as
well. All selected libraries will
run simultaneously.
|
|
|
|
Correlate Library: The
correlator matches any golden tags
and places the tags in the cyclic
convolving data stream to build
hierarchical data tags. The
convolving cycle continues until
the convolving produces no further
hierarchy and no golden tag is
correlated within an entire cycle
as in the
example given above.
|
|
|
|
Library Tags: The most
useful set of library tags is an
exhaustive set of tags at a single
level of hierarchy. For example,
every character of every font in
an OCR application. Multiple
levels of hierarchy can be used
for compression but not for
correlation.
|
|
|
|
Golden Library: The golden
library is an external database
that contains the library tags for
specific applications. For
example, voice recognition would
use a different set of tags than
OCR. These tags are loaded into
glider before the application
begins.
|
|
|
|
Select Output: Pac-n-Zoom
should eventually become
compatible with many other
applications. This selection
allows the user to specify the
output(s).
|
|
|
|
Build File(s): This code,
which is written by a third party,
creates a file that is compatible
with another application.
|
|
|
|
Application File(s): These
files are compatible with third
party applications such as
drawing, simulation, CAD, or
animation programs.
|
|
|
|
9/11: Pac-n-Zoom Vector Audio
| |
|
Before this release, Pac-n-Zoom
only turned two dimensional input
data into mathematics, although some output
applications could be three
dimensional. In this release,
Pac-n-Zoom will compress single
dimensional data which is the kind
of data that most sensors and
applications require. Since audio
is the predominant single
dimensional data application, the
release is called audio, but other
single dimensional data
applications (e.g., ultrasound,
microwaves, stress, etc. or even
database streams such as day to
day prices) are also supported.
|
|
|
TBD: Pac-n-Zoom Vector Video
| |
|
With this release, Pac-n-Zoom will
be extended to three dimensional
input data which will be
horizontal, vertical, and time.
The primary application is video,
but there are other applications
such as remote sensing radar where
time is related to the distance of
the artifacts.
|
|
|