MITEL VP2611

VP2611
VP2611
H.261 Encoder
Supersedes June 1996 edition, DS3487 - 4.0
DS3487 - 4.1 December 1998
FEATURES
DESCRIPTION
■
Fully integrated H261 video encoder
■
Up to full CIF resolution and 30 Hz frame rates
■
Inputs YUV data in 8 x 8 sub block format
■
Outputs run length coded coefficients
■
On chip motion vector estimator with +/-7 pixel search
window
■
Addresses and control generated internally for DRAM
frame store
■
QFP package
The VP2611 Video Compression Source Coder forms part
of a chip set used in video conferencing, video telephony and
multimedia applications. It produces data which conforms to
the H261 standard for video compression with rates between
64K and 2M bits per second. With a 27 MHz clock the device
will accept data produced to full CIF resolution at 30 Hz frame
rates. The pipeline latency through the device is only 3 macro
block periods.
The VP2611 contains all the elements necessary for the
compression algorithm. It incorporates a Motion Vector Estimator which performs a +/- 7 pixel search. The decision to use
inter or intra frame compression is made by the device, and the
selected data blocks are read from the frame store. New or
difference data is then passed through a Discrete Cosine
Transformer and quantized. Data from the quantizer is also
inverse quantized and passed through an Inverse Discrete
Cosine Transformer. This re-constructed data is then written
to the frame store for use in the next frame period.This frame
store is managed by an internal DRAM controller, and no
external logic is needed.
The input data must be in YUV space, and must also
conform to the six sub blocks per macro block format defined
by H261. Any conversion from RGB format is performed by
the VP510 Colour Space Converter. Any reduction in spatial
resolution, down to CIF or QCIF requirements, is done by the
VP520 Three Channel Video Filter.
The quantized data is zig-zag scanned and run length
coded before being output, together with block information
and motion vectors.
ASSOCIATED PRODUCTS
■
VP510 Colour Space Converter
■
VP520S CIF/QCIF Converter
■
VP2612 Video Multiplexer
■
VP2614 Video Demultiplexer
■
VP2615 H.261 Decoder
USER
INTERFACE
R
G
B
VP510
COLOUR SPACE
CONVERTER
VIDEO
SYNC
Y
Cr/Cb
NTSC
PAL
SYSTEM
CONTROLLER
VP520
3 CHANNEL
VIDEO FILTER
REQYUV
FRMIN
RLC DATA
VP2611
INTEGRATED
FLAGS
VIDEO ENCODER
VP2612
VIDEO
MULTIPLEXER
MBLK'S
COMP VIDEO
DECODER
ADDR
DATA
CIF FRAME
STORE
16 X128K
CCIR601 RESOLUTION
Y 720 X 288
Cr/Cb 360 x 288
Y 720 X 240
Cr/Cb 360 x 240
NTSC
H261
BIT
STREAM
64kb to 2Mb/s
PAL
CIF FRAME
STORE
16X128K
TX BUFFER
32K X 8
CIF RESOLUTION
Y 352 X 288
Cr/Cb 176 x 144
Fig 1 : Typical Video Conferencing Transmission System
1
VP2611
PIN DESCRIPTIONS
R/W1
Read/Write control for external DRAM 1.
YUV7:0
This input bus accepts YUV data one pixel at a
time from the preprocessor, clocked in on the
rising edge of PCLK.
R/W2
Read/Write control for external DRAM 2.
N/C if 256k DRAMs.
PCLK
This signal is used to strobe in data at the YUV
port and must be derived by dividing SYSCLK
with an integer greater than one.
OE1
Output Enable control for external DRAM 1
or ADR8.
OE2
Output Enable control for external DRAM 2.
N/C if 256k DRAMs.
ADR7:0
Address output for the external DRAMs.
CBUS7:0
Bi-directional data bus for use by a Microprocessor. Data and insructions are clocked on and
off the chip on the rising edge of CSTR.
CSTR
Data strobe for the CBUS port.
CEN
An enabling signal for the CBUS port.
CADR
When high, this signal defines CBUS as a data
bus, and when low as an instruction input.
FRMIN
REQYUV
This input should be pulled high to prepare the
VP2611 to code a new frame. It must be held
high for at least one SYSCLK cycle and then
must be pulled low again before the next frame
begins. The VP2611 will respond to the rising
edge of FRMIN by asserting REQYUV
appproximately 184 SYSCLK cycles later.
This output is pulled high to request that YUV
data be input for a new MacroBlock. It is pulled
low again 1871 SYSCLK cycles later. It remains low during Dummy MacroBlocks and
during the lay period between frames.
DBUS7:0
This output bus serves several functions as
defined by DMODE3:0. In addition to providing
the quantized coefficients and motion vectors,
it is used to output control information.
SYSCLK
System clock, run at 27MHz maximum. The
clock must be high for between 35% and 65%
of each clock cycle. This clock is used for all
internal operations.
DMODE3:0
Output flag port for DBUS7:0 bus. The value at
this port identifies the data type appearing on
DBUS7:0 during the same period.
RESET
Active low power on reset which must be held
low for at least 2064 cycles.
TCK
Test clock for JTAG.
DCLK
This output pulses high for a minimum of 37ns
each time new data is output on DBUS or
DMODE. It can be used as an edge sensitive
strobe signal or a level sensitive "valid" signal.
TMS
Test Mode Select for JTAG.
TDI
Input JTAG test data.
SW15:0
This bidirectional port is connected to the
frame store.
TDO
Output JTAG test data.
TRST
Reset JTAG controller (active low).
RAS
Row Address Strobe output for the external
DRAMs.
CAS
Column Address Strobe output for the external
DRAMs.
YUV
BLOCK
FORMAT
NOTE:
"Barred" active low signals do not appear with a bar in the
main body of the text.
FORWARD PATH
SUB
DCT
Q
Zig Zag
RLC
Motion Vectors
Q Step
INTER/INTRA
DECISION
PROCESSOR
IQ
Force
Intra
LOW
PASS
FILTER
MOTION
VECTOR
ESTIMATOR
Search
Window
Predicted
block
IDCT
DATA
BUS
ADD
BUS
FLAGS
Force
Intra
Force
Filter
CONTROL
LOGIC
Block Info
Force
Filter
FRAME STORE INTERFACE
ADDRESS
2
CONTROL
DATA
HOST DATA & CONTROL
Fig 2 : Simplified Block Diagram
VP2611
Motion Vector Estimator
The motion estimator calculates the mean absolute error
( MAE ) for each possible position of the combined luminance
block in a search window from the previous frame. The
combined luminance block consists of 16 x 16 pixels, and in
the search window this is displaced between -7 to +7 vertically,
and -8 to +7 horizontally. The two lsb's of each pixel are
discarded and the MAE value is contained within 14 bits.
The minimum MAE value, representing the best match
between the previous and current block, is passed to the
motion compensation decision block, together with the position of this best fit in the search window. The zero displacement MAE value is also passed to this block, which then
decides whether the best fit is sufficiently better than the zero
displacement fit. It uses the characteristic shown in Figure 3,
where the 14 bit MAE is a Hex value. In the area to the right
of the line all points defined by the two MAE values will cause
motion compensation to be applied. In this case the best fit
MAE value is used by the inter/intra decision processor,
otherwise the zero displacement value is used.
Inter/Intra Decision Processor
The MAE value passed by the motion compensation
decision block is compared to the simplified variance of the
current block. This simplified variance is calculated by summing the moduli of the differences between each luminance
pixel and the mean luminance value over the whole macroblock. Eight bit pixels are used, and the variance value is
expressed in 14 bits by discarding the two lsb's from the actual
16 bit result. It can then be directly compared to the 14 bit MAE
value.
If the MAE value is below a user defined threshold inter
mode coding is always selected. The default threshold is 3, on
a scale from 0 to 255 using the 8 msb's from the 14 bit value.
Above this threshold inter mode is only selected if the variance
of the current block is greater than or equal to the MAE value
in use.
In order to avoid gradual picture degredation, every 61st
Macroblock input to the VP2611 is coded in intra mode
regardless of the above decision. As 61 is a prime number, this
will ensure that each macroblock will be transmitted in intra
mode at least once in every 61 transmissions. If FIX MACROBLOCK or SKIP PICTURE is invoked this `Force Intra'
Minimum Mean Absolute Err or in Hex
OPERATION OF MAJOR BLOCKS
180
140
x = 1.125y
MC Off
100
CO
80
AB
MC On
5F
40
20
40
80
CO
100 140 180
Zero Movement Absolute Error in Hex
Fig 3 : MC Decision Slope
counter will be disabled.
The user may overide the internal Inter/Intra decision at
any time using the CBUS control port. A user generated
forced inter mode will overide an internally generated `Force
Intra'.
Low Pass Filter
The macroblock selected from the previous frame in
motion compensated inter mode coding, will be filtered before
it is subtracted from the current block. This decision can be
overidden externally by the system controller. The Filter uses
a simple [ 1 2 1 ] characteristic in both vertical and horizontal
dimensions as specified in H.261 on the macroblock boundaries
[010] is used.
SYMBOL
PARAMETER
MINIMUM
MAXIMUM
t RAC
t CAC
t RP
t CP
t RAS
t CAS
t REF
Access time from RAS
Access time from CAS
RAS precharge time
CAS precharge time
RAS pulse width
CAS pulse width
Time to refresh 256 rows
50ns or under
15ns or under
90ns or under
50ns or under
-
105ns or under
25ns or under
0.25ms or over
N.B. All times are quoted assuming 27MHz operation. For lower clock
frequencies increase the above values proportionately.
Table 1 : External DRAM timing requirements
3
VP2611
Frame Store Manager
Zig Zag Scan
The previous picture is stored in an external CIF DRAM
frame store, which is connected by a glueless interface. The
internal Frame Store Manager controls all read, write, and
refresh operations to these DRAMs. No provision is made to
allow the use of smaller DRAM's, if only QCIF operation is
required.
During the coding of each macroblock columns of the
search window are read from these DRAMs, and finally the
"best fit" macroBlock is obtained. At the completion of coding
the fully processed new macroblock is written to the DRAM's,
after it has been decoded again. In this way the frame store
maintains a bit-accurate duplicate of the image seen by the
Decoder (excepting transmission errors).
Several configurations are possible to make the required
128Kx16 store. Two 64K x 16 DRAMs could be employed; in
this case use the default 1M DRAM mode when setting up the
chip. Otherwise, a single 256K x 16 DRAM or four 256K x 4
DRAMs could be used. In these last two cases use OE1 as
ADR8, RW1 as R/W, and do not connect RW2 and OE2. Also,
use the Setup instruction at the CPORT to put the device into
4M DRAM mode.
Table 1 details the critical timing parameters which the
external DRAM must meet with SYSCLK running at 27MHz.
Note that, if used at slower speeds, the requirements on the
DRAM timing are relaxed with the exception of refresh. The
number of refresh cycles the VP2611 produces is directly
proportional to the SYSCLK frequency.
This is essentially an address generator which reorders
the DCT coefficients according to the standard zig-zag scan
pattern. This has the effect of concentrating the significant
coefficients at the beginning of the sub-block, improving the
efficiency of the Run Length Coder.
Discrete Cosine Transform
This circuit performs a Discrete Cosine Transform on each
8x8 sub block, whether in inter or intra mode. In intra mode,
eight bit pixel data is used, with a ninth implied sign bit ( all pixel
data is positive ). In inter mode the difference between the
current and best fit previous block is used. This will be a two's
complement number. Twelve bit coefficients are produced by
the DCT, and passed on to the quantizer.
Quantize
This section quantizes the results of the DCT by dividing
the 12 bit output from the DCT with a host supplied value. The
5 bit quantization value supplied corresponds to division of the
12 bit coefficients ( range ± 2048 ) by values from 2 to 62, but
in steps of 2. This variable quantization strategy allows the
volume of data generated by the encoder to be adjusted
dynamically, depending on the fullness of the transmission
buffer. For H.261 applications it uses the quantisation value
provided at the control port during the previous Macroblock
period (or at some earlier time). An option is provided which
allows two quantisation values to be used, one for use with
inter coded macroblocks, and the other for use with intra
coded macroblocks.
As specified in H.261, the DC coefficient of an Intra coded
Block is treated differently and the 12 bit value is always
divided by 8.
When the quantization value is small, and the DCT coefficient is large, there is a danger of overflow in the eight bit
output. To avoid this a clipping circuit is included at the output
of the quantizer, which saturates at the maximum values.
4
Run Length Coder
Each coefficient output from the zig zag scan is examined.
If it is non-zero, then the Run Length Coding circuit will pass
the coefficient magnitude to the output port along with its zero
count i.e. the number of zero magnitude coefficients preceding it within the same 8x8 sub-block.
Inverse Quantize
This circuit replicates the operation of the inverse quantizer in the decoder. It reconstructs the 12 bit DCT coefficients
from the 8 bit quantized inputs, using the 5 bit quantization
value. This is achieved using the following formulae.
If QUANT is odd :
REC = QUANT*(2*LEVEL+1) : LEVEL > 0
REC = QUANT*(2*LEVEL-1) : LEVEL < 0
If QUANT is even :
REC = QUANT*(2*LEVEL+1)-1 : LEVEL > 0
REC = QUANT*(2*LEVEL-1)+1 : LEVEL < 0
For Intra Coded DC Coefficients :
REC = 8*LEVEL
except if LEVEL=255 when REC=1024
If LEVEL=0 then REC=0 in all cases.
The reconstructed values (REC) are passed through a
Clipping Circuit in case of arithmetic overflow.
Thus, the Inverse Quantizer restores the DCT coefficients
to their original value but with quantisation error.
Inverse DCT
This circuit replicates the operation of the Inverse Cosine
Transform in the Decoder, and outputs 9 bit signed pixel data
(intra mode) or pixel difference data (inter mode). The IDCT
fully meets the CCITT specification.
Reconstruction Adder
In Inter Mode, the IDCT data is added to the best fit block
from the previous frame store. In Intra mode, the IDCT data is
simply added to zero. After the adder, the sign bit is removed
from the result to give 8 bit pixels. Clipping circuits ensure that
any pixels with values exceeding 255 are clipped to 255, and
any with negative values are clipped to zero (such values are
possible due to quantization noise).
VP2611
2064 cycles
SUBBLOCK ORDER WITHIN MACROBLOCK
MB1
MB2
MB3
MB4
Frame Store Read
DUMMY
MB1
MB2
MB3
Control Decisions
DUMMY
MB1
MB2
MB3
Frame Store Write
DUMMY
DUMMY
DUMMY
MB1
DBUS Output
DUMMY
DUMMY
DUMMY
MB1
YUV Input
1
2
3
4
5
6
U
V
Y
Fig 4: MacroBlock Pipelining
OPERATION OF INTERFACES
PIXEL ORDER WITHIN SUBBLOCK
00 01 02 03 04 05 06 07
Macroblock Delays
08 09 10 11 12 13 14 15
The VP2611 has a three macroblock pipeline delay between pixel inputs and run length coded outputs. This is
illustrated in Figure 4. Whilst the second macroblock is being
input, the best fit macroblock from the previous frame is being
identified and then read from the frame store. At this time any
Control Decisions which are to effect the first macroblock must
be supplied by the host controller. The run length coded
outputs for the first macroblock are not available until the
fourth macroblock is supplied at the input pins.
YUV Input Port
The YUV port accepts pixel data from the preprocessor in
block format as illustrated in Figure 5. Within a complete
system the VP2611 is always the master device, and must be
supplied with macroblock data when it makes a demand. The
order in which pixels are supplied is pre-determined, and must
be strictly maintained. There are 64 pixels per sub-block and
4 luminance and 2 chrominance sub-blocks per macroblock.
The macroblocks themselves are divided into groups of blocks
( GOB's ), and the sequence specified in H.261 must also be
maintained. Note that, since the chrominance resolution is half
the luminance resolution both vertically and horizontally, then
the two chrominance blocks cover the same picture area as
the four luminance blocks.
The pre-processor producing macroblock data must produce a frame start signal ( FRMIN ) when it has a complete
frame of data available. This resets the input controller within
the VP2611, which will then generate sequential GOB and
macroblock numbers for the coded outputs referenced to this
input.
FRMIN must go high for at least one system clock period,
and must go low before the next frame is available. The
VP2611 responds to FRMIN with a request for macroblock
data ( REQYUV ), which occurs approximately 184 SYSCLK
periods after FRMIN. It must then receive a complete macroblock within 1871 SYSCLK periods, and at the end of this time
REQYUV will go inactive. The VP2611 must be provided with
a PCLK signal to strobe in the data. This must be derived from
SYSCLK, and must only be present when there is valid data
at the input. Data must meet the set up and hold times with
respect to PCLK as specified in Figure 6.
The maximum peak rate for PCLK is the SYSCLK rate
divided by two, but since there are 384 bytes per macroblock
16 17 18 03
19 20 21 22 23
24 25 26 27 28 29 30 31
32 33 34 35 36 37 38 39
40 41 42 43 44 45 46 47
48 49 50 51 52 53 54 55
56 57 58 59 60 61 62 63
Fig 5 : Ordering of Pixels
then theoretically the average rate need only be 384/1871
times the SYSCLK rate. Note that PCLK must always be
obtained by dividing SYSCLK by an integer greater than one.
When the VP520 CIF/QCIF Converter is supplying the VP2611
with data, it provides a peak PCLK rate equivalent to SYSCLK
divided by two, and an average rate of SYSCLK divided by
four.
The mimimum gap between REQYUV going active is
2064 SYSCLK periods. In full CIF mode "dummy" macroblocks are internally inserted between rows, in order to give the
chip sufficient time to load a new search window. No new YUV
data must be loaded during these dummy macroblocks, and
REQYUV will remain inactive. No dummy macroblocks are
required in QCIF mode. With a 27MHz SYSCLK all macroblocks will be coded in less than a 30Hz frame rate period, and
there will be a period of inactivity before FRMIN goes active
again. During this period the output bus will remain static at all
ones, and no output strobe ( DCLK ) will be produced.
SCLK/2
20ns
PCLK
10ns
0ns
20ns
YUV7:0
N.B. All timings given are MINIMUM values.
Fig 6 : Timing at YUV Port
5
VP2611
DBUS Output Port
START MB
The DBUS port is used to pass data and control information directly to the VP2612 Video Multiplexer. The type of data
on the output pins is identified by the DMODE 3:0 outputs,
using the codes shown in Table 2. An output strobe is also
produced ( DCLK ) which always goes high one system clock
period after the data defined by DMODE 3:0 becomes valid.
This edge is used to strobe the data into the Video Multiplexer,
and thus the data set up time is always one SYSCLK period
minus differential output delays.
The number of SYSCLK periods during which data remains valid is dependent on the type of data, and DCLK
remains high for this same period. It goes low as the result of
the same SYSCLK rising edge which produces a change in
DMODE 3:0. The output delays with respect to SYSCLK are
illustrated in Figure 8, and Figure 9 shows a typical output
sequence during which DCLK remains high for several cycles
as the sub-block number ( code 7 ) is produced. During a Wait
State
( code 15 ) no DCLK transitions are produced. The actual
sequence of output events which occur for each macroblock,
and the duration of each event, are illustrated in Figure 7.
WAIT
IS IT
A DUMMY
BLOCK?
Control Decisions : This byte shows which control decisions
have been taken for the forthcoming macroblock. DBUS0
will be high if a Fixed Macroblock (FIX MB) was enforced
i.e. no new data will be transmitted this macroblock.
DBUS1 indicates whether Inter (high) or Intra (low) coding
was used for the macroblock. DBUS2 will be high if the
macroblock was filtered, and DBUS3 will be high if motion
compensation was used. DBUS5 will be high if the current
frame is being coded in FAST UPDATE mode. In this
mode the complete frame will be intra coded. DBUS6 will
be high if the current frame is a SKIP FRAME i.e. not being
coded - so no coefficients will be transmitted. DBUS4 and
DBUS7 are not used.
6
FUNCTION
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
GOB Number
MB Number
Control Decisions
Quant Value
Horizontal MV
Vertical MV
Coded Blk Pattern
Sub-Block No
Zero Run Count
RLC Coefficient
Not used
Not used
Not used
Not used
Not used
Wait State
Table 2 : DBUS Functions
yes
no
The output events are defined in more detail below;
DMODE3:0
(2 cycles)
CONTROL
(2 cycles)
GOB
(2 cycles)
MB
(2 cycles)
CBP
(2 cycles)
QUANT
(2 cycles)
HORZ MV
(2 cycles)
VERT MV
(2 cycles)
ARE
ANY BLOCKS
CODED?
no
yes
WAIT
(32 cycles)
SUB BLK NO
(15 cycles)
RUN LENGTH
(2 cycles)
MAGNITUDE
(2 cycles)
WAIT
(1 cycle)
ARE
ALL COEFFS
no
O/P?
yes
WAIT
no
(wait variable time to make total
time since start of sub-block up
to 335 cycles)
ARE
ALL BLOCKS
O/P?
yes
WAIT
(variable cycles)
END MB
Fig 7 : DBUS Port Flow Chart
VP2611
CBUS3:0
SCLK
20ns max
25ns max
DATA FROM
VP2611
DATA VALID
DMODE
3:0
DATA VALID
Input VAR Threshold
Reserved
Input Inter Quantiser
Input Intra Quantiser
Input Setup Data
Input Control Functions
Reserved
Reserved
Output GOB Number
Output MB Number
Reserved
Output Control Decisions
Output Setup Data
Reserved
Reserved
Overide internal clock doubler
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
DCLK
20ns max
INSTRUCTION
Fig 8: Timing diagram
GOB Number : At the start of each new macroblock, the
current GOB Number is output on DBUS3:0. (DBUS3 is
MSB).
MB Number : After the GOB Number, the macroblock
Number is output on DBUS5:0 (DBUS5 is MSB).
Table 3 : CBUS Instruction Codes
Coded Block Pattern : This byte contains a 6 bit linear code
that indicates which of the sub-blocks actually contain
coded data. DBUS6 will be high if sub-block 1 contains
coded data, through to DBUS 1 being high if sub-block 6
contains coded data. DBUS7 and DBUS0 are not used.
Note that if the macro block is not motion compensated
and the coded block pattern is all zero's, the fixed macro
block bit will be set in the control decisions byte.
Quant Value :The quantisation value used in processing the
current macroblock is output on DBUS4:0 (DBUS4 is
MSB). This represents an actual quantisation level between 2 and 62, in steps of 2 and as defined in H.261.
Horizontal MV : If motion compensation is used, the horizontal
component of the motion vector will be output on DBUS4:0
(DBUS4 is MSB). This 5 bit value represents a two's
complement number in the range +/-15
(although only vectors in the range -8 to +7 are currently
possible with the VP2611).
Vertical MV : If motion compensation is used, the vertical
component of the motion vector will be output on DBUS4:0
(DBUS4 is MSB). This 5 bit value represents a two's
complement number in the range ±15 ( although only
vectors in the range ±7 are currently possible with the
VP2611).
Sub-block Number : An identifier for the run length coded
coefficients which are about to be made available. DBUS
2:0 contain the coded sub-block number from 1 to 6. All
zero sub-blocks will not be produced at the outputs, and
their corresponding numbers will not appear.
Zero Run Count : The number of zero valued coefficents
preceding the next non zero coefficient is available on
DBUS5:0 (DBUS5 is MSB). Normally, DBUS7:6 are low,
except to signify the end of a Sub-block, when they will
both be high. Zero Run Count is always followed by a
coefficient, even at the end of a sub-block.
RLC Coefficient : This byte contains the 8 bit coefficient value.
It will always be a non-zero value, except when the
previous Zero Run Count signalled the end of sub-Block.
A zero value is then possible since, as stated above, the
run count is always followed by a coefficient byte, which
may be zero if the last coefficient is zero.
Wait State : This indicates that no valid data is being output
from the DBUS port during this cycle. No DCLK is produced for this state.
Pins which are "not used" for certain functions will be
forced low.
This diagram shows a typical Sub-block being output from the VP2611.
DCLK
DMODE
15
7
8
9
15
8
9
15
DBUS
X
2
0
4
X
1
-2
X
8
9
15
252
0
X
Both msb's are high showing end of block.
Fig 9: DBUS Timing
7
VP2611
tion is given in Figure 10, and when writing data or instructions
to the VP2615 the set up and hold times which are referenced
to the rising edge of CSTR must be maintained.
When a write instruction has been defined CADR should
be pulled high, valid data presented to CBUS7:0 and then
strobed in using CSTR. Other system I/O transfers can occur
between defining a write operation and supplying the data to
be written, assuming CEN is not active during those other
transfers. If CSTR does not go active because of I/O transfers
to other devices, then CEN can remain active low between the
instruction and data.
When a read instruction has been specified the requested
data will then be output on CBUS7:0 after the access time
specified from CEN going low, assuming that CADR was
already high. Otherwise the data will become valid after the
access time specified from CADR going high after CEN was
CBUS Control Port
The CBUS control port is used to input control and setup
information and also to output status information. In order to
save on pin count, a microprocessor driving this port is
required to execute two I/O instructions in order to transfer a
single byte of information to or from the device. The first
transfer is always a write operation, with a low level on the
single address line which is used by the interface. Data on the
bus then defines the instructions listed in Table 3. The second
transfer can be a read or write operation as necessary, but the
address line must then be high with the set up time given in
Figure 10.
In addition to the single addresss line (CADR), data
transfers use a control strobe (CSTR) which is only effective
when a chip enable is present (CEN). Detailed timing informa-
G
O O
C US
WRITING DATA FROM THE CBUS:
This diagram shows a typical instruction and associated data field being written to the device.
10ns
CEN
CADR
10ns
20ns
20ns
10ns
20ns
20ns
20ns
20ns
CSTR
20ns
CBUS
I/P
10ns
20ns
10ns
20ns
INSTRUCTION
10ns
DATA IN
READING INFORMATION ON CBUS :
This diagram shows a typical instruction and associated data field being read from the device.
CADR
10ns
10ns
CEN
Th
20ns
10ns
20ns
20ns
CSTR
10ns
*
20ns
20ns*
50ns
INSTRUCTION
10ns
20ns
20ns
20ns
CBUS
20ns
10ns
20ns*
DATA OUT
If Th is less than 5 ns then CBUS may be driven by the VP2615until CEN going high eventually turns off
the drivers. It will not prevent correct data being read when CEN again goes active
N.B. All timings shown are minimum values except those marked * which are maximums.
Fig 10 : Use of the Control Port
8
VP2611
low. Note that in the data read phase CADR must always go
high before CSTR goes high, with the set up time specified.
When CEN goes high, or CADR goes low, the CBUS will go
high impedance after the delay specified.
Note that the access times under the conditions given
above are only true when the gap between CSTR going high
in the instruction phase, and CEN going low in the data phase,
is greater than the minimum specified in figure 10.
Only the four LSBs, CBUS3:0, are used when writing
instructions to the VP2611. The remaining bits, CBUS7:4,
should be pulled low while the instruction is strobed into the
VP2611.
The instructions listed in Table 3 are described below in
greater detail;
Input VAR Threshold: VAR is the difference between the best
fit MAE value and the variance of the current macroblock.
The VAR Threshold is the best fit MAE value below which
Inter Frame Prediction is always used, no matter what the
variance of the current block. Above this threshold inter
mode coding is only used if the best fit value is less than
the current block variance. The default value is 3, within a
range of 0 - 255 using the eight most significant bits of the
14 bit value. In normal operation values below 15 should
be used.
Input Inter Quantiser: Coefficents of inter coded macroblocks
will be quantized using the value on CBUS4:0 following
this instruction. Internally this represents a 6 bit number
with the lsb always zero, giving a value between 0 and 62
in steps of two. Where only one quantization value is to be
used for both inter and intra cases, this instruction should
be used. On reset the value will default to the maximum
allowed. See note below.
Input Intra Quantiser: This instruction is similar to the above,
except that it defines the quantization level for intra mode
coding when it is to be different to that of inter mode coding.
See note below.
Input Setup Data: This instruction allows several user defined
options to be specified, using individual bits in the following
data word. If CBUS0 is LOW the device will work in full CIF
mode , if HIGH it uses the QCIF mode. If CBUS3 is HIGH
both inter and intra quantization values will be used,
otherwise a common value will be used. If CBUS5 is high
then the motion compensation circuits will be disabled. If
CBUS6 is high, then the device will be configured to use
256K x 16 or 256K x 4 DRAM's, otherwise it will assume the
use of two 64K x 16 DRAM's. The default conditions after
RESET are those selected by the Low level. CBUS1,
CBUS2, CBUS4 and CBUS7 are not used but must be low
during the definition phase. This instruction may be used
any time after RESET has gone high, but the video input
bus must not be active. If a subsequent mode change
between CIF and QCIF is made then a further RESET is
needed.
Decision circuitry will be overidden according to CBUS1;
if CBUS1 is HIGH then all subsequent macroblocks will be
intra coded, if it is LOW they will be inter coded. When
CBUS2 is HIGH the on-board Filter Decision circuitry is
overidden according to CBUS3; if CBUS3 is HIGH then the
filter will be forced on, if it is LOW the filter will be forced off.
If CBUS4 is HIGH then FIX MB will be implemented, and
no new data from the current macroblock will be coded. A
two macroblock delay exists between defining the Force
Inter/Intra, Force Filter or FIX MB decisions through the
control bus and data being affected at the outputs. These
decisions will stand for all subsequent macroblocks until
they are again changed. If CBUS5 is HIGH a FAST
UPDATE will be performed on the next frame and all
blocks will be coded in intra mode. If CBUS6 is HIGH then
the next frame will not be transmitted ( SKIP FRAME ).
Note that these two global frame bits do not take effect until
the start of the next frame, and stay in effect for all frames
until they are removed. If CBUS7 is HIGH, then the onboard Force Update Controller will be overidden, and the
user will have to enforce their own Force Update policy
using the Force Intra command. RESET will cause the
options to default to those defined by the LOW state. Note
that SKIP FRAME has priority over any other bits and that
FIXMB has priority over all bits bar SKIP FRAME. See
note below.
Output GOB Number: This instruction will output the GOB
Number on CBUS3:0, for the data currently being output
on DBUS. CBUS7:4 are not used (always low).
Output MB Number: This instruction will output the macroblock number on CBUS5:0, for the data currently being
output on DBUS. If CBUS6 is low it indicates that the
macroblock number has just changed, or is about to
change. New Quantization Value or Control Function
words should not be written at this time since it is uncertain
which macroblock they will effect. CBUS7 is not used
(always low).
Output Control Decisions: This instruction will output the
details of several control decisions on the CBUS. CBUS0
shows whether the MacroBlock currently being output on
DBUS was inter or intra coded (0=Intra). CBUS1 shows
whether motion compensation was used (1=MC used).
CBUS3 shows whether the macroblock was passed
through the loop filter or not (1=Filtered). CBUS4 will be
high if the FIX MB instruction was enforced. CBUS5 will be
high if FAST UPDATE is currently being undertaken.
CBUS6 will be high if SKIP FRAME is in force. CBUS2 and
CBUS7 are not used.
Output Setup Data: This instruction allows the user to verify
the internal setup previously selected. The bits have the
same significance as in the Input Setup Data Instruction.
Note
For definitive operation the output MB number should be
read first, and these bytes only changed if CBUS b is high.
Input Control Functions: This instruction specifies several
control options using individual bits in the following data
word. If CBUS0 is HIGH then the on board Inter/Intra
9
VP2611
Initialising the VP2611
On power-up, RESET should be low and must remain low
for at least 2064 cycles of SYSCLK. After RESET is pulled
high, FRMIN may be activated to start the first frame. Before
activating FRMIN for the first time, it is advisable to use the
CBUS to implement a FAST UPDATE for the first frame (i.e.
all blocks Intra coded).
JTAG Test Interface
The VP2611 includes a test interface consisting of a
boundary scan loop of test registers placed between the pads
and the core of the chip. The control of this loop is fully JTAG/
IEEE 1149-1 1990 compatible. Please refer to this document
for a full description of the standard.
The interface has five dedicated pins: TMS, TDI, TDO,
TCK and TRST. The TRST pin is an independent reset for the
interface controller and should be pulsed low, soon after
power up; if the JTAG interface is not to be used it can be tied
low permanently. The TDI pin is the input for shifting in serial
instruction and test data; TDO the output for test data. The
TCK pin is the independent clock for the test interface and
registers, and TMS the mode select signal.
TDI and TMS are clocked in on the rising edge of TCK, and
all output transitions on TDO happen on its falling edge.
Instructions are clocked into the 8 bit instruction register
(no parity bit) and the following are available.
Instruction Register
( MSB first )
Name
11111111
00000000
01000000
XX001011
BYPASS
EXTEST (No inversion)
INTEST
SAMPLE/PRELOAD
Timing details for the JTAG control signals are shown in fig
11.The maximum TCK frequency is 5 MHz.
The test registers, their positions in the boundary loop and
the corresponding i/o pad are detailed in Table 4. Note that the
three state control signals also have test registers associated
with them which are labelled as TRI in Table 4. DHz is an
output enable for all signals to the DRAM. The order given in
Table 4 determines the serial data stream needed for JTAG
testing.
Pad
TCK
Type
Reg No
IN
IN
93
DBUS5
OP
62
CADR
92
DBUS6
OP
61
CSTR
IN
91
DBUS7
OP
60
CEN
IN
90
SW15
OP
59
CBUS0
OP
89
TRI
58
TRI
88
IN
57
IN
87
OP
OP
86
IN
85
OP
84
IN
83
OP
82
IN
81
OP
IN
80
OP
78
IN
77
OP
IN
76
OP
IN
74
DCLK
DMODE0
DMODE1
DMODE2
OP
OP
OP
72
OP
69
DMODE3
OP
68
DBUS0
DBUS1
OP
OP
67
DBUS2
OP
65
DBUS3
OP
64
DBUS4
OP
63
RESET
Signal
Tsu
Thd
TCK
CBUS1
CBUS2
Signal
CBUS3
Tprop
Tsu
TMS toTCK timing
15
Thd
CBUS4
Tprop
5
TDI to TCK timing
15
5
Chip i/p to TCK timing
15
5
TCK to TDO timing
Fig 11 : JTAG Interface timing
CBUS5
CBUS6
CBUS7
20
79
75
73
71
Pad
Type Reg No
Pad
IN
31
OP
30
IN
29
OP
28
IN
27
DHZ
TRI
26
56
RAS
OP
25
IN
55
54
OP
OP
24
OP
CAS
RW1
IN
53
RW2
OP
22
OP
52
OE1
OP
21
IN
51
OE2
OP
20
SW11
OP
50
49
SW10
IN
OP
48
ADR0
ADR1
ADR2
OP
OP
OP
IN
47
ADR3
OP
16
SW9
OP
46
ADR4
OP
15
45
IN
43
ADR5
ADR6
ADR7
OP
OP
OP
14
SW8
IN
OP
OP
IN
42
PCLK
IN
11
41
40
IN
IN
10
OP
IN
YUV7
YUV6
38
IN
IN
8
OP
YUV5
YUV4
IN
37
YUV3
IN
6
OP
IN
36
YUV2
IN
5
35
YUV1
4
SW3
OP
34
33
SW2
IN
OP
IN
IN
YUV0
IN
SYSCLK IN
IN
FRMIN
REQYUV OP
1
SW14
SW13
SW12
SW7
SW6
70
SW5
SW4
66
44
39
32
SW1
SW0
Table 4 Pin and JTAG test registers
10
Type Reg No
23
19
18
17
13
12
9
7
3
2
0
VP2611
ABSOLUTE MAXIMUM RATINGS [See Notes]
Supply voltage VDD
-0.5V to 7.0V
Input voltage VIN
-0.5V to VDD+ 0.5V
Output voltage VOUT
-0.5V to VDD + 0.5V
Clamp diode current per pin IK (see note 2)
18mA
Static discharge voltage (HBM)
500V
Storage temperature TS
-55°C to 150°C
Ambient temperature with power applied TAMB
0°C to 70°C
Junction temperature
125°C
Package power dissipation
3000mW
NOTES ON MAXIMUM RATINGS
1. Exceeding these ratings may cause permanent damage.
Functional operation under these conditions is not implied.
2. Maximum dissipation for 1 second should not be exceeded,
only one output to be tested at any one time.
3. Exposure to absolute maximum ratings for extended
periods may affect device reliablity.
4. Current is defined as negative into the device.
STATIC ELECTRICAL CHARACTERISTICS
Characteristic
Operating Conditions (unless otherwise stated)
Tamb = 0 C to +70°C VDD = 5.0v ± 5%
Symbol
Min.
Output high voltage
Output low voltage
Input high voltage
Input low voltage
Input leakage current
Input capacitance
Output leakage current
Output S/C current
VOH
VOL
VIH
VIL
IIN
CIN
IOZ
ISC
Value
Typ.
2.4
2.0
-10
Units
Max.
0.4
0.8
+10
10
-50
10
Conditions
+50
300
V
V
V
V
µA
pF
µA
mA
IOH = 4mA
IOL = -4mA
VDD -1V for SYSCLK and PCLK
GND < VIN < VDD
GND < VOUT < VDD
VDD = Max
ORDERING INFORMATION
VP2611 CG GH1R (Commercial - Plastic QFP power package)
11
VP2611
Pin
Function
Pin
Function
Pin
Function
1
SW3
44
DCLK
87
YUV3
2
NC
45
NC
88
NC
3
SW4
46
CBUS7
89
YUV4
4
SW5
47
VDD
90
YUV5
5
GND
48
CBUS6
91
VDD
6
VDD
49
GND
92
GND
7
SW6
50
VDD
93
YUV6
8
SW7
51
CBUS5
94
YUV7
9
NC
52
GND
95
NC
10
SW8
53
CBUS4
96
PCLK
11
SW9
54
CBUS3
97
NC
12
SW10
55
CBUS2
98
NC
13
SW11
56
CBUS1
99
ADR7
14
NC
57
NC
100
ADR6
15
GND
58
GND
101
ADR5
16
SW12
59
VDD
102
VDD
17
NC
60
CBUS0
103
GND
18
VDD
61
TRST
104
NC
19
SW13
62
CEN
105
ADR4
20
SW14
63
NC
106
ADR3
21
NC
64
NC
107
ADR2
22
SW15
65
CSTR
108
ADR1
23
DBUS7
66
NC
109
GND
24
DBUS6
67
CADR
110
ADR0
25
NC
68
RESET
111
VDD
26
DBUS5
69
VDD
112
GND
27
GND
70
GND
113
NC
28
VDD
71
TCK
114
OE2
29
DBUS4
72
TMS
115
OE1
30
DBUS3
73
TDI
116
VDD
31
NC
74
NC
117
RW2
32
DBUS2
75
TDO
118
RW1
33
NC
76
(CLK54)
119
CAS
34
NC
77
REQYUV
120
RAS
35
DBUS1
78
FRMIN
121
VDD
36
DBUS0
79
VDD
122
GND
37
DMODE3
80
NC
123
NC
38
NC
81
SYSCLK
124
SW0
39
GND
82
GND
125
SW1
40
VDD
83
NC
126
SW2
41
DMODE2
84
YUV0
127
NC
42
DMODE1
85
YUV1
128
NC
43
DMODE0
86
YUV2
Pin out table for GH128 PQFP package
12
http://www.mitelsemi.com
World Headquarters - Canada
Tel: +1 (613) 592 2122
Fax: +1 (613) 592 6909
North America
Tel: +1 (770) 486 0194
Fax: +1 (770) 631 8213
Asia/Pacific
Tel: +65 333 6193
Fax: +65 333 6192
Europe, Middle East,
and Africa (EMEA)
Tel: +44 (0) 1793 518528
Fax: +44 (0) 1793 518581
Information relating to products and services furnished herein by Mitel Corporation or its subsidiaries (collectively “Mitel”) is believed to be reliable. However, Mitel assumes no
liability for errors that may appear in this publication, or for liability otherwise arising from the application or use of any such information, product or service or for any infringement of
patents or other intellectual property rights owned by third parties which may result from such application or use. Neither the supply of such information or purchase of product or
service conveys any license, either express or implied, under patents or other intellectual property rights owned by Mitel or licensed from third parties by Mitel, whatsoever.
Purchasers of products are also hereby notified that the use of product in certain ways or in combination with Mitel, or non-Mitel furnished goods or services may infringe patents or
other intellectual property rights owned by Mitel.
This publication is issued to provide information only and (unless agreed by Mitel in writing) may not be used, applied or reproduced for any purpose nor form part of any order or
contract nor to be regarded as a representation relating to the products or services concerned. The products, their specifications, services and other information appearing in this
publication are subject to change by Mitel without notice. No warranty or guarantee express or implied is made regarding the capability, performance or suitability of any product or
service. Information concerning possible methods of use is provided as a guide only and does not constitute any guarantee that such methods of use will be satisfactory in a specific
piece of equipment. It is the user’s responsibility to fully determine the performance and suitability of any equipment using such information and to ensure that any publication or
data used is up to date and has not been superseded. Manufacturing does not necessarily include testing of all functions or parameters. These products are not suitable for use in
any medical products whose failure to perform may result in significant injury or death to the user. All products and materials are sold and services provided subject to Mitel’s
conditions of sale which are available on request.
M Mitel (design) and ST-BUS are registered trademarks of MITEL Corporation
Mitel Semiconductor is an ISO 9001 Registered Company
Copyright 1999 MITEL Corporation
All Rights Reserved
Printed in CANADA
TECHNICAL DOCUMENTATION - NOT FOR RESALE