[IPP] RE: [MFD] The Proposed PWG Raster

[IPP] RE: [MFD] The Proposed PWG Raster

Petrie, Glen glen.petrie at eitc.epson.com
Sat Feb 5 00:03:06 UTC 2011


Played with writing some sample code and changed the length of a few of
the values

 

[01][04]  PHR identifier 

[05][10]  PHR Version 

[11][14]  Number, of total, for this raster 

[15][18]  Total number of raster in PHR 

[19][22]  Raster width in pixels 

[23][26]  Raster height in pixels 

[27][30]  Raster bytes-per-line 

[31][34]  Raster PPI in horizontal direction 

[35][38]  Raster DPI in vertical direction 

[39][42]  Raster Top offset at raster vertical PPI 

[43][46]  Raster left offset at raster horizontal PPI 

[47][47]  Raster is on a new page flag 

[48][48]  Identification number for color space 

[49][49]  Number of bits per pixel 

[50][50]  Number of bits per color  

[51][52]  Identification number for color ordering in a pixel 

[53][53]  Id number for duplex operation performed 

[54][54]  Id number for raster compression method 

[55][69]  Reserve byte for future by PWG 

[70][79]  Reserve byte for future by vendor 

[80][89]  Reserve byte for future by services

[90][99]  Reserve byte for future by apps 

 

________________________________

From: mfd-bounces at pwg.org [mailto:mfd-bounces at pwg.org] On Behalf Of
Petrie, Glen
Sent: Friday, February 04, 2011 5:57 AM
To: ipp at pwg.org; cloud at pwg.org; mfd at pwg.org
Subject: RE: [MFD] The Proposed PWG Raster

 

After more consideration, I was not happy with requirement 3  and
propose the following change 

 

Was

 

3. A PHRHDR shall record the horizontal (witdth) and vertical (height)
DPI of the raster.

a. If a PHR contains raster for the same page of different DPI, all
raster will be rendered by the HCD service at the largest DPI and shall
be scaled by the HCD.

 

 

To

 

3. A PHRHDR shall record the horizontal (witdth) and vertical (height)
DPI of the raster.

a. If a PHR contains raster for the same page of different DPI, all
raster will be rendered by the HCD service at the DPI of the first
raster for the page in PHR and shall scale all other raster for the same
page to the DPI of the first raster.

 

Based on emails with Mike, I modified my proposal of the byte data at
the end to 

 

Was

 

[65] --- [95]                    0xEE                            Reserve
byte for Vendor/Service/App

 

[96] --- [99]                    CmpRasterLen               Length in
bytes of compressed raster to follow

 

[100] ----- >                    compressed raster data.

 

To

 

[65] --- [99]                    0xEE                            Reserve
byte for Vendor/Service/App

 

 [100] ----- >                    compressed raster data.

 

 

________________________________

From: mfd-bounces at pwg.org [mailto:mfd-bounces at pwg.org] On Behalf Of
Petrie, Glen
Sent: Thursday, February 03, 2011 8:31 AM
To: ipp at pwg.org; cloud at pwg.org; mfd at pwg.org
Subject: [MFD] The Proposed PWG Raster

 

Hello All,

 

I have been thinking more on the details of the proposed raster format.

 

1. I would propose the name: PWG HCD Raster  (PHR)

 

------------------------------------------------------------------------
------------------------------ 

Assumptions:

==========

1. A PHR is a separate entity from the Job Ticket; that is, the PHR is
not contained in the Job Ticket but is referenced by the Job Ticket

=> A PHR must have sufficient header data to describe "What is this?"
But does not contain HCD Job Ticket attributes.

 

2. A PHR is usable-by or generated-by one or more HCD Services (Print,
Scan, Fax, Copy).

=> A PHR must have sufficient header data to describe "What is this?"

 

3. A PHR is usable-by or generated-by one or more external Services
(Print-Preview, Post-Processing, Transforms).

=> A PHR must have sufficient header data to describe "What is this?"

 

4. A PHR may contain 1-to-many rasters.

=> For more than one raster, the individual raster may be on one or
separate page.

Example: Scan multiple regions of the same page. (Smart form processing)

Example: N-up the next four raster.

=> The bounding region of the raster must be recorded.

 

5. A PHR is usable-in or generated-in a mobile, cloud, soho, business or
production environment.

=> There may be limitation or requirement based on system resources.

 

------------------------------------------------------------------------
------------------------------ 

Discussion Items

=============

1.	Full page raster => Each raster is the same size as the media
size.

	a.	To support assumption 5 for the mobile environment; this
need is impractical.  Device in the mobile environment typical have
insufficient system resources to generate a full page raster at a print
dpi.   One could argue that the mobile device/application could
"stream-out" the full page raster.  This is often referred to as banded
output of the raster content.  However, I still contend that encoding
useless top/bottom/left/right white space is wasteful. 

 

=> A requirement to make PHR input/output streamable.

 

	b.	To support assumption 2, this need is not required.
Example of scanning a region.  The region may be 1in x 1in or 3in x 10in
or 8.5in x 11.0in but to put these in a PHR of 8.5 in x 11.0 has not
value and consume resources.

 

=> The bounding region should be recorded and raster should be the size
of the bounding region.

 

Practical examples:

Print: I would like to place the next 10 raster in the PHR on a single
page.  Yes, the client could have done this but would be required to.

Scan: I would like scan 3 areas of the 8.5 in x 11.0 in document and
record in a PHR.   By recording the bounding region of each raster; then
each raster could be associated with a field on the original scanned
document such as date, name, amount, etc.  This would be extremely
usefully to external Services.

 

2.	Term "HW Resolution"

	a.	The reference to 'HW' within the PHR is not important to
HCD services.  The reference to "resolution" is not technically correct.
What is important to HCD/External services is the Raster DPI.  In
addition, there is concept of fast-scan / slow-scan and fast-print /
slow-print directions which imply different DPI's in each direction.
Any scaling (integer or otherwise) between the "preferred (actual) DPI"
of the raster and the Job Ticket DPI is determinable by the HCD service.

 

=> The PHRHDR should record the raster horizontal and vertical DPI's. 

 

------------------------------------------------------------------------
------------------------------ 

Requirements

===========

1. All internal PHR rasters shall have the same set of header content

=> There is no separate pre-header within a PHR

 

PHRHDR === PWG HCD Raster Header

 

2. A PHR shall be identifiable.

=> There is an explicit identifier in the PHRHDR

=> A PHRHDR contains the PHR format version

 

3. A PHRHDR shall record the horizontal (witdth) and vertical (height)
DPI of the raster.

a. If a PHR contains raster for the same page of different DPI, all
raster will be rendered by the HCD service at the largest DPI and shall
be scaled by the HCD.

 

4. A PHRHDR shall record the width (horizontal) and height (vertical)
number of pixels of the raster.

 

5. A PHRHDR shall record the number of (8-bit) bytes in single
horizontal raster line.

 

6. A PHRHDR shall record the top and left position, relative to the
media's top-left physical corner, of the raster.

 

7. A PHRDR shall record the Color Space, Color Order, Bits-per-pixel and
Bits-per-color for the raster.

 

8. A PHRHDR shall record the raster number for this raster and total
number raster in the PHR

 

9. A PHR shall be input and output streamable.

 

10. A PHRHDR shall record a new page indicator.

 

11. Byte order of PHR shall follow network convention of "big endian".

 

12. A PHRHDR shall record the duplex parameter for the raster.  This
does mean that the duplex parameters are to be performed by the HCD; it
means what duplex parameter were applied by the creator of the raster in
the PHR.

 

13. A PHRHDR shall record the type of compression used for the raster
data.

 

 

------------------------------------------------------------------------
------------------------------ 

Terms and Definitions

=================

 

Later.... 

 

 

------------------------------------------------------------------------
------------------------------ 

Structure and Format of PHRHDR

==========================

 

(I was not picky on order)

 

Bytes                            Value
Description 

---------                           ------------------
------------------------------

[01] --- [10]                    PHR xxxxxx                  PHR
identifier/Version

[11] --- [11]                    RasterNumber               Number, of
total, for this raster

[12] --- [12]                    TotalRaster                    Total
number of raster in PHR

[13] --- [16]                    RasterWidth                  Raster
width in pixels

[17] --- [20]                    RasterHeight                 Raster
height in pixels

[21] --- [24]                    RasterBPL                    Raster
bytes-per-line

[25] --- [28]                    HorizDPI                       Raster
DPI in horizontal direction

[29] --- [32]                    VertDPI                         Raster
DPI in vertical direction

[33] --- [36]                    TopOffset                      Raster
Top offset at raster vertical DPI

[37] --- [40]                    LeftOffset                      Raster
left offset at raster horizontal DPI

[41] --- [41]                    NewPage                      Raster is
on a new page flag

[42] --- [42]                    ColorSpaceID
Identification number for color space

[43] --- [43]                    BitsPerPixel                  Number of
bits per pixel

[44] --- [44]                    BitsPerColor                  Number of
bits per color 

[45] --- [45]                    ColorOrderID
Identification number for color ordering in a pixel

[46] --- [46]                    DuplexID                       Id
number for duplex operation performed

[47] --- [47]                    CompressionID              Id number
for raster compression method

[48] --- [64]                    0XFF
Reserve byte for future by PWG

[65] --- [95]                    0xEE                            Reserve
byte for Vendor/Service/App

 

[96] --- [99]                    CmpRasterLen               Length in
bytes of compressed raster to follow

 

[100] ----- >                    compressed raster data.

 

See CUPS Raster for possible values of ID variables.

 

 


-- 
This message has been scanned for viruses and 
dangerous content by MailScanner <http://www.mailscanner.info/> , and is

believed to be clean. 


-- 
This message has been scanned for viruses and 
dangerous content by MailScanner <http://www.mailscanner.info/> , and is

believed to be clean. 


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.pwg.org/pipermail/ipp/attachments/20110204/7c827ac8/attachment-0001.html>


More information about the ipp mailing list