I263: Difference between revisions

From MultimediaWiki
Jump to navigation Jump to search
Line 150: Line 150:
* '''Coded macroblock indication (COD) (1 bit)'''
* '''Coded macroblock indication (COD) (1 bit)'''
A bit which when set to "0" signals that the macroblock is coded. If set to "1", no further information is transmitted for this macroblock; in that case the decoder shall treat the macroblock as an INTER macroblock with motion vector for the whole block equal to zero and with no coefficient data. COD is only present in pictures for which PTYPE indicates ‘INTER’, for each macroblock in these pictures.
A bit which when set to "0" signals that the macroblock is coded. If set to "1", no further information is transmitted for this macroblock; in that case the decoder shall treat the macroblock as an INTER macroblock with motion vector for the whole block equal to zero and with no coefficient data. COD is only present in pictures for which PTYPE indicates ‘INTER’, for each macroblock in these pictures.
* '''Macroblock type & Coded block pattern for chrominance (MCBPC) (Variable length)'''
A variable length codeword giving information about the macroblock type and the coded block pattern for chrominance. For description of codewords for this field please refer the section 5.3.2 of the H.263 standard.

Revision as of 13:01, 27 February 2006

  • FOURCCs: I263
  • Company: Intel

General description

This codec is based on early drafts of the H.263 standard specification. It supports the following modes: Unrestricted Motion Vector mode, Advanced Prediction mode, PB frames mode, Improved PB frames mode (old version!) and Deblocking Filter mode.

Picture Layer

Data for each picture consists of a picture header followed by data for Group of Blocks, eventually followed by an end-of-sequence code and stuffing bits.

Picture Header

The Picture Header of the I.263 has the following format:

  • Picture Start Code (PSC) (22 bits)

PSC is a word of 22 bits. Its value is 0000 0000 0000 0000 1 00000. All picture start codes shall be byte aligned.

  • Temporal Reference (TR) (8 bits)

An 8-bit number which can have 256 possible values. It is formed by incrementing its value in the previously transmitted picture header by one plus the number of non-transmitted pictures (at 29.97 Hz) since the previously transmitted one. The arithmetic is performed with only the eight LSBs. In the optional PB-frames mode, TR only addresses P-pictures; for the temporal reference for B-pictures refer to the field "Temporal Reference for B-pictures (TRB)" below.

Type Information (PTYPE)

  • Marker (1 bit)

This bit should be always set to "1" in order to avoid start code emulation.

  • H.263 ID (1 bit)

This bit should be always set to "0" for distinction with H.261.

  • Split screen indicator (1 bit)

This indicator is not used in the I.263. Just skip this bit.

  • Document camera indicator (1 bit)

This indicator is not used in the I.263. Just skip this bit.

  • Freeze Picture Release (1 bit)

Unused. Just skip this bit.

  • Source Format (3 bits)

Indicates the source format of the picture. Values "000" and "110" are forbidden. "111" indicates the extended PTYPE (see below).

  • Picture type (1 bit)

Picture Coding Type: “0” INTRA (I-picture), “1” INTER (P-picture).

  • Unrestricted Motion Vector mode indicator (1 bit)

Unrestricted Motion Vector mode: “0” off, “1” on.

  • Syntax-based Arithmetic Coding mode (SAC) indicator (1 bit)

Syntax-based Arithmetic Coding mode is not supported in the I.263. Just skip this bit.

  • Advanced Prediction mode indicator (1 bit)

Advanced Prediction mode: “0” off, “1” on.

  • PB-frames mode indicator (1 bit)

PB-frames mode: “0” normal I- or P-picture, “1” PB-frame. If the Picture Type bit (see above) is set to “0”, this bit shall be set to “0” as well.


Extended PTYPE (EPTYPE):

These fields are present only if the Source Format field (see above) indicates the extended PTYPE.

  • Source Format (3 bits)

Values "000" and "111" are forbidden. "110" indicates that the custom source format (CSFMT) extension is present (see below).

  • Unknown flags (2 bits)

These bits should be always set to "0". They have no meaning. Just skip them.

  • Deblocking Filter mode indicator (1 bit)

Deblocking Filter mode: “0” off, “1” on.

  • Unknown flag (1 bit)

This bit should be always set to "0". It has no meaning. Just skip it.

  • Improved PB-frames mode indicator (1 bit)

Improved PB-frames mode: “0” off, “1” on. For description of this mode see below.

  • Unknown flags (5 bits)

These bits should be always set to "0". They have no meaning. Just skip them.

  • Unknown Marker (5 bits)

The value of this bits should be always set to "00001".


Custom source format (CSFMT) extension

This extension is present only if indicated by the Source Format field of the Extended PTYPE (EPTYPE) (see above).

  • Pixel Aspect Ratio code (4 bits)

Aspect ratios: "0001" - 1:1, "0010" - 12:11 (CIF 4:3), "0011" - 10:11 (525-type 4:3), "1111" - extended PAR (see below; probably never used because of an internal bug in the I.263 driver). Other values are forbidden.

  • Picture width (9 bits)

The width of the encoded picture = (value of this field + 1) * 4

  • Marker (1 bit)

Equal to "1" to prevent start code emulation.

  • Picture height (9 bits)

The height of the encoded picture = (value of this field + 1) * 4

Extended Pixel Aspect Ratio (EPAR)

The following bits are present if CSFMT extension (see above) is present and extended PAR is indicated therein. When present, EPAR consists of:

  • Pixel Aspect ratio width (8 bits)

The natural binary representation of the PAR width; "0" is forbidden.

  • Pixel Aspect ratio height (8 bits)

The natural binary representation of the PAR height; "0" is forbidden.


  • Quantizer Information (PQUANT) (5 bits)

A fixed length codeword of 5 bits which indicates the quantizer QUANT to be used for the picture until updated by any subsequent GQUANT or DQUANT. The codewords are the natural binary representations of the values of QUANT which, being half the step sizes, range from 1 to 31.

  • Continuous Presence Multipoint (CPM) (1 bit)

A codeword of 1 bit that signals the use of the optional Continuous Presence Multipoint mode (CPM); “0” is off, “1” is on. This mode is not supported in the I.263 and should be off.

  • Temporal Reference for B-pictures (TRB) (3 bits)

TRB is present if the PB-frame mode is on (see above) and indicates the number of non-transmitted pictures (at 29.97 Hz) since the last P- or I-picture and before the B-picture. The codeword is the natural binary representation of the number of non-transmitted pictures plus one. The maximum number of non-transmitted pictures is 6.

  • Quantization information for B-pictures (DBQUANT) (2 bits)

DBQUANT is present if the PB-frame mode is on (see above). In the decoding process a quantization parameter QUANT is obtained for each macroblock. With PB-frames QUANT is used for the P-block, while for the B-block a different quantization parameter BQUANT is used. QUANT ranges from 1 to 31.

  • Extra Insertion Information (PEI) (1 bit)

A bit which when set to "1" signals the presence of the following optional data field. This data field has no meaning in the I.263 and should be ignored.

Group of Blocks Layer

Data for each Group of Blocks (GOB) consists of a GOB header followed by data for macroblocks. Each GOB contains one row of macroblocks. For the first GOB in each picture (with number 0), no GOB header shall be transmitted. For all other GOBs, the GOB header may be empty, depending on the encoder strategy.

GOB Header

This header may be present or not. For the first GOB in each picture (with number 0), no GOB header shall be transmitted. The decoder must search the 256 input bits for the GOB start code. The GOB Header has the following format:

  • Group of Block Start Code (GBSC) (17 bits)

A word of 17 bits. Its value is 0000 0000 0000 0000 1. GOB start codes may be byte aligned.

  • Group Number (GN) (5 bits)

A fixed length codeword of 5 bits. The bits are the binary representation of the number of the Group of Blocks. For the GOB with number 0, the GOB header including GSTUF, GBSC, GN, GFID and GQUANT is empty; group number 0 is used in the PSC.

  • GOB Frame ID (GFID) (2 bits)

A fixed length codeword of 2 bits. GFID shall have the same value in every GOB header of a given picture. Moreover, if PTYPE as indicated in a picture header is the same as for the previous transmitted picture, GFID shall have the same value as in that previous picture. However, if PTYPE in a certain picture header differs from the PTYPE in the previous transmitted picture header, the value for GFID in that picture shall differ from the value in the previous picture.

  • Quantizer Information (GQUANT) (5 bits)

A fixed length codeword of 5 bits which indicates the quantizer QUANT to be used for the remaining part of the picture until updated by any subsequent GQUANT or DQUANT. The codewords are the natural binary representations of the values of QUANT which, being half the step sizes, range from 1 to 31.

Macroblock Layer

Data for each macroblock consists of a macroblock header followed by data for blocks.

Macroblock Header

The Macroblock Header has the following format:

  • Coded macroblock indication (COD) (1 bit)

A bit which when set to "0" signals that the macroblock is coded. If set to "1", no further information is transmitted for this macroblock; in that case the decoder shall treat the macroblock as an INTER macroblock with motion vector for the whole block equal to zero and with no coefficient data. COD is only present in pictures for which PTYPE indicates ‘INTER’, for each macroblock in these pictures.

  • Macroblock type & Coded block pattern for chrominance (MCBPC) (Variable length)

A variable length codeword giving information about the macroblock type and the coded block pattern for chrominance. For description of codewords for this field please refer the section 5.3.2 of the H.263 standard.