final year project 2008-2009 a cmos imager with compact digital pixel sensor (ba1-08) supervisor:...

Post on 26-Dec-2015

215 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Final Year Project 2008-Final Year Project 2008-20092009A CMOS imager with compact digital pixel sensor (BA1-08)Supervisor: Dr. Amine Bermak

Group Members:Chang Kwok Hung 06239718

Kwok Kam Kin 06092639

Kwan Tsz Chun 06130704

OutlineOutlineAim of our projectIntroductionPixel SensorHuffman encoding systemControl systemPerformanceQ&A

Aims:◦To design a compact digital pixel

sensor using effective compression scheme based on Different Pulse Code Modulation processing

◦To implement Huffman encoding scheme in order to provide further compression on the differential signal output

Aims of our projectAims of our project

Aims of our projectAims of our project Why is image compression

important? Minimize storage size Minimize silicon area of the chip Speed enhancement

Aim of our projectAim of our projectThe advantages of a single chip

imager:◦Low noise◦Low power consumption◦Total cost is low

Aim of our projectAim of our projectComparison between CDD and CMOS

Imager   CCD CMOS

Power consumptionhighe

rlower

Size largersmalle

r

Image's qualityhighe

rlower

Multiple functions on chip

No Yes

IntroductionIntroductionCategories of CMOS Image

Sensors◦Passive Pixel Sensor (PPS)◦Active Pixel Sensor (APS)◦Digital Pixel Sensor (DPS)

IntroductionIntroductionPassive Pixel Sensor (PPS)

Column busRow select 1. High Fill factor

2. Signal-to-noise ratio (SNR) is poor

3. Shared analog to digital convertor (ADC).

IntroductionIntroductionActive Pixel Sensor (APS)

Column bus

Row selectVdd

Reset

Simple amplifier

1. Signal amplifier is included

2. Larger SNR3. Lower fill factor4. Shared ADC

IntroductionIntroductionDigital Pixel Sensor (DPS)

Vdd

Reset

Row select

Column bus

Vref ADC

1. ADC is installed in each pixel.

2. SNR is larger3. Speed is higher

IntroductionIntroductionComparison between APS and DPS

Row Select

Column selectADC

Row Select

Column select

Pixel 1

Pixel 2

Pixel 3

Pixel 4

Pixel 1

Pixel 2

Pixel 3

Pixel 4

Pixel select Analog to digital conversion Signal read

Differential Pulse Code Differential Pulse Code ModulationModulation

Differential Pulse Code Differential Pulse Code ModulationModulationBy utilizing the difference

between the sample values of 2 successive pixels, the number of bits of memory can be reduced

As the degree of redundancy is particularly high in normal images, DPCM can effectively decrease the size of the on-chip memory

Differential Pulse Code Differential Pulse Code ModulationModulation

Differential Pulse Code Differential Pulse Code ModulationModulation

Pixel SensorPixel SensorPhotodiodeComparatorReconfigurable 5-bits up/down

counter

PhotodiodePhotodiodeA photodiode is a reversed-bias

diode with internal capacitanceCurrent flows with different

magnitudes according to the illumination

Pixel SensorPixel SensorBlock diagram

Discharge timeDischarge timeThe discharge time depends on

the illumination

Reconfigurable up/down Reconfigurable up/down countercounterCount up when receiving a pulse

from the current pixelCount down when receiving a

pulse from the neighbor pixel

Reconfigurable up/down Reconfigurable up/down countercounter

Reconfigurable up/down Reconfigurable up/down countercounterTiming Diagram:

Potential ProblemsPotential ProblemsOverflow problemCrashes of input pulses

Overflow handlingOverflow handlingOverflow is a serious problem as

it affects the data recovery in the external environment

Solution:Stop counting up when the

memory is 01111Stop counting down when the

memory is 10000

Crashes of input pulses Crashes of input pulses handlinghandlingWhen pulses from the current

pixel and the neighbor pixel received at the same time, the counter cannot work

SolutionAdd a buffer to delay one of the

pulsesCancelling each other

Huffman encoding systemHuffman encoding systemHuffman coding•A variable-length encoding scheme.•Lossless compression•Length of the codeword depends on the occurrence of the sample value

An example of Huffman coding (http://skylondaworks.com/sc_huff.htm)

SYMBOL

Probability 1

Codeword 1

Probability 2

Codeword 2

1 0.125 [1 0 1] 0.93 [0]

2 0.125 [1 0 0] 0.02 [1 0 0]

3 0.125 [1 1 1] 0.0125 [1 1 1]

4 0.125 [1 1 0] 0.01 [1 1 0 0]

5 0.125 [0 0 1] 0.01 [1 0 1 1]

6 0.125 [0 0 0] 0.01 [1 0 1 0]

7 0.125 [0 1 1] 0.005 [1 1 0 1 0]

8 0.125 [0 1 0] 0.0025 [1 1 0 1 1]

Average Length

3 1.185

Probability

Codeword

Probability Codeword

-16 0.00188

00100000

00.302 11

-15 0.00198

00100001

10.16743 0111

-14 0.0023

1000010 20.07111 0100

-13 0.00247

1000011 30.02435 0000

-12 0.00282

1011010 40.01263 01011

-11 0.0034

0010001 50.00866 00010

-10 0.00383

100000 60.00693 10010

-9 0.00442 100011 7 0.00546 001011

-8 0.00525 101111 8 0.0046 101110

-7 0.00617 001010 9 0.00386 100010

-6 0.00721 10011 10 0.00316 0010011

-5 0.00925 00011 11 0.00279 1011011

-4 0.01262 01010 12 0.00233 1011001

-3 0.02361 1010 13 0.00206 1011000

-2 0.06795 0011 14 0.00204 00100101

-1 0.16504 0110 15 0.00171 00100100

Average Length=3.59

-28.2% from DPCM values

Codeword AssignmentCodeword Assignment

Performance is content Performance is content dependentdependent

200185 184 180DPCM±15

DPCM±4

8x8 BITMAP(Color not in scale)

Huffman codeword length= 8Resultant size=(8x8-1)x8= 504bits

Huffman codeword length= 5Resultant size=(8x8-1)x5= 315 bits

Example of Huffman Example of Huffman codewordcodeword

Serial link

11111011010010100100

0 2 7 14

Codeword TreeCodeword Tree

ImplementationImplementationCombinational logicInput: DPCM values from the

pixel gridOutput: Huffman codeword and

its length

Pixel grid CONTROL

MethodologyMethodology

K-mapCommon term discoverySolution minimizationNAND-NOR combination

Methodology – K-MapMethodology – K-Map

K-map of CW5

Methodology – Common Methodology – Common TermsTerms

CW5= (A’B’C’) + (B’C’D’) + (B’D’E) + (AB’E) + (ABCE’) + (BDE’) + (BCD) + (CDE’)

=B’(C’(A’+D’) + E(D’+A)) + BC(D+AE’) + DE’(B+C)

Methodology – NAND-NOR Methodology – NAND-NOR CombinationCombination

Summary- Huffman Summary- Huffman encoderencoderConvert DPCM value to Huffman

codeword18 common termsImplementation done by 428

gates

Control SystemControl SystemIt consists of 3 parts

◦Interface 8-bit Shift Register 4-bit Counter 14-bit Counter

◦Row Decoder◦Column Multiplexer

Control SystemControl System

Control SystemControl System

Delay path

Control logic

interface

Hand shake

protocol

Control LogicControl LogicAsync with data linkHand shake protocol

communication14-bit pixel

counter

Delay counter

InterfaceInterfaceSynchronous to datalinkSend request to control logicServe MCU requestIt consists of 2 main elements

◦8-bit Shift Register for huffman code stream

◦4-bit Counter for code length

MCU request

Control SystemControl System

Wait if:Delay counter do not finish counting or14-bit counter reach the top or4-bit length counter finish counting

8-bit Shift Register8-bit Shift Register1. Receive codeword

signal from Hoffman encoder

2. Transfer the received signal to MCU

4-bit Counter4-bit Counter

1. Keeps tracking the length of the codeword from the Hoffman encoder

2. It is 4 bits since the maximum length of the codeword is 8

3. When the counter value reached zero, shift register is acknowledged to get the new branch of data.

14-bit Counter14-bit CounterControl the row decoder and column

multiplexer to select the right piece of pixel.

The 7 less significant bits are connected to column multiplexer while the 7 more significant bits are connected to row decoder.

Row DecoderRow Decoder

1.Responsible for selecting the right row of pixel.

2.7 to 128 decoder is required since there are 128 rows of pixel.

Row DecoderRow Decoder1 to 2 decoder

Column MultiplexerColumn Multiplexer

1.Responsible for selecting the right column of pixel.

2.640 to 5 multiplexer is required since there are 128 columns of pixel and each pixel give out 5bits of signal.

Column MultiplexerColumn Multiplexer

2 to 1 multiplexer

PerformancePerformance

Performance - SimulationPerformance - Simulation

Performance - SimulationPerformance - Simulation

Performance - Power Performance - Power consumption consumption Current waveform of the pixel

sensor

Performance - Fill factorPerformance - Fill factorThe fill factor of the imager is

about 12 %

Performance - Post layout Performance - Post layout sim.sim.

Compression performanceCompression performanceImage Size ORIGINAL DPCM ONLY

(-37.5%)DPCM with Huffman Coding(-55%)

1x1 1 bytes 5 bits (-3 bits)

3.6 bits (-4.4 bits)

128x128 16k bytes 10k bytes(-6kB)

7.2k bytes (-8.8kB)

640x480(VGA)

300k bytes 187.5k bytes (-112.5kB)

135k bytes (-165kB)

1280x720(HD 720)

900k bytes 562.5k bytes(-337.5kB)

405k bytes (-495kB)

Actual compression rate varies from 0% to 75% , depend on the actual content of the image.

Performance-Huffman Performance-Huffman encoderencoderMaximum switching Delay= 2.4ns Maximum possible operation frequency =410MHz

Q&AQ&AFurther explanation

top related