h16834 					            ISO/IEC JTC 1/SC 29/WG 1 N231  
							    	     Date:   July 21, 1995

ISO/IEC JTC 1/SC 29/WG 1
(ITU-T SG8)

Coding of Still Pictures

JBIG                              JPEG
Joint Bi-level Image                     Joint Photographic 
 Experts Group                            Experts Group

TITLE:  		Generalized JBIG2 Test Decoder

SOURCE:		SC29/WG1/JBIG

PROJECT:		JTC 1.29.10

STATUS:     		

REQUESTED
ACTION:		For Information

DISTRIBUTION:	WG1  Mailing List

Contact:
ISO/IEC JTC 1/SC 29/WG 1 Convenor - Eric Hamilton
C-Cube Microsystems, 1778 McCarthy Blvd., Milpitas CA  95035, USA
Tel:  +1 408 944 6335,   Fax:  +1 408 944 6314,   E-mail:  eric@c-cube.com 

ISO
INTERNATIONAL ORGANIZATION FOR STANDARDIZATION
ORGANIZATION INTERNATIONALE DE NORMALISATION
ISO/IEC JTC1/SC29/WG1
CODING OF STILL PICTURES

ISO/IEC JTC1/SC29WG1 N231
21 July, 1995

TITLE:  Generalized JBIG2 Test Decoder  (Version 1.3) 
SOURCE:  SC29/WG1/JBIG

At the Epernay meeting of JBIG, a very generalized bilevel image decoder was produced that incorporates technology suggested in proposals and by participants.  A block diagram is attached hereto.
The JBIG2 stream enters at the left on path 100 where it is routed to one of six modules via paths 101 to 106.  Each module extracts from the stream the data it needs in order to carry out its assigned function.
The Library Symbol Bitmap Decoder 201 receives coded symbol   bitmaps via path 101 that go directly into Symbol Bitmap Library 207 via path 107.  Each symbol may optionally pass to the output via path 116 and 117 (via 208) where it then appears as a mark  on the output page.  However, in this case, the location of the mark must also be transmitted.
The coded location of a mark is decoded by Mark Location Decoder 204 and is output on path 111.  The symbol/mark on path 116 is combined with location information in Combine Mark Bitmap and Location 208 and passed to Page Buffer 209 via path 117.
Symbols entering Symbol Bitmap Library 207 could be indexed by their order of entry.  Alternatively, an index could be specified by the encoder.  This index would be decoded by Symbol Index Decoder 202 and passed to Symbol Bitmap Library 207 via path 108.  A third possibility is for Symbol Bitmap Library 207 to reindex its contents periodically for more efficient operation.
Later in the transmission a mark may already appear as a symbol in Symbol Bitmap Library 207.  In this case, called pattern matching, the symbol is not retransmitted.  Instead, only an index and a location are sent.  In this case the index is decoded by Symbol Index Decoder 202 and passed to Symbol Bitmap Library 207 via path 108 producing the corresponding symbol/mark from Symbol Bitmap Library 207 on path 116.  The location is produced by Mark Location Decoder 204 as before, combined with the mark by Combine Mark Bitmap and Location 208 and passed to Page Buffer 209 via path 117 as before.
Other marks may be approximated by symbols in Symbol Bitmap Library 207, but require further refinement before being acceptable for output and display.  This is accomplished by Symbol Bitmap Refinement Decoder 203.  For each such mark, an index is received and decoded by Symbol Index Decoder 202, which causes a Library symbol to appear on path 109.  Refinement information is received on path 103 and is used by Symbol Bitmap Refinement Decoder 203 to produce an output mark on path 110.  Location information is also received, as for all marks, and appears on path 111.  The decoded mark and location information are combined by Combine Mark Bitmap and Location 208 and passed to Page Buffer 209 via path 117.
The refined mark may optionally pass into Symbol Bitmap Library 207 as a new symbol via path 115.
Pixels that are not coded as marks may be decoded by Non-Mark Lossless Decoder 205 using perhaps G4 or JBIG1.  They pass via paths 112 and 117 directly to Page Buffer 209.
Finally, a lossless image may be produced by refinement of the lossy image in Page Buffer 209.  For this purpose the lossy image passes to  Lossless Refinement Decoder 206 via path 114.  Refinement data is received via path 106, and decoded pixels passed to Page Buffer 209 via paths 113 and 117.
This block diagram is very general.  To what extent it can deal with all kinds of halftone images is still an open question.  Work on any compression techniques for halftones based on the block diagram or completion of the diagram is greatly encouraged.