video phone system design

48
Video Phone System Design ECES 488 Spring 2000 Brad Murray Greg Lefty Mike Halfen

Upload: others

Post on 11-Feb-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Video Phone System Design

Video Phone System Design

ECES 488 Spring 2000

Brad MurrayGreg LeftyMike Halfen

Page 2: Video Phone System Design

Introduction

Unique Design Features• Button Scheme

• “Streamed Video”

• Time Stamp From Caller ID

Page 3: Video Phone System Design

User Defined SystemConstraints

• Require external power supply• Plug directly to Telco Jack• Maximum message length of 60

seconds• Maximum of 30 messages

• When message memory is filled, the oldestmessage is erased.

• Standalone device

Page 4: Video Phone System Design

Technical SystemConstraints

• Audio Sample Rate = 8K samples/second

• Audio Memory Requirement384 Kbyte/message

• QCIF Standard Video Format (176 x 144)304 Kbit/ frame

Compressed (20:1) = 15.2 Kbit/frame

At 1 frame/sec = 114 Kbyte/message

• Total Message Storage - 14.9 MB

• Additional DSP Data/Table Memory = 64K

Page 5: Video Phone System Design

Design Options• Available Hardware Options

• Off the shelf IC

• DSP/Microcontroller

• FPGA

• ASIC

• Determining Factors• Design Cost

• Production Cost

• Flexibility

Page 6: Video Phone System Design

Component Comparison

Hardware Type Design Cost Production Cost Flexibility

Shelf IC None Low None

DSP/Micro Cont Moderate Low High

FPGA High Low Moderate

ASIC Very High Moderate Low

Page 7: Video Phone System Design

The Competition• Market segmented

! Video calls over IP! Dominant segment! Extremely cheap ($70 for camera/software)

! Hardware often consists only of digital camera! Software driven design

! Computer, network connection required

! Video over telephone! TV / Monitor products

! Still cheap ( < $300)

! Display Integrated devices! Most Expensive

Page 8: Video Phone System Design

Display IntegratedVideophones

• Common features! H.324 compliant! Able to send minimum of 7 frames/sec (up to 15!)

! Use of QCIF standard (176 x 144 pixel picture transmitted)

! Camera electronically adjustable: zoom, pan, tilt! 4” LCD Display: adjustable picture quality and size! Average retail price: $600

• Manufacturers! Aiptek

! Cheap!! ~$450 at Amazon.com! Basic features only

! MCF Enterprises (~$600)! Picture in Picture! Advanced standard telephone features

! Answering machine (voice only)! Redial & Number Memory

Page 9: Video Phone System Design

Display IntegratedVideophones

• Other Manufacturers! 8x8

! Led market in this segment! Discontinued telephone products

! Now manufactures H.323 products! Video conferencing over I.P.

! Provides chip sets and development solutions for H.324

! Panasonic! Only major electronics manufacturer in this market! Same features as Aiptek, 8x8! Priced 2 - 3 times higher ($1150!!)

Page 10: Video Phone System Design

System Overview

LCDController

DSP (audioProcessing)

Modem

Digital

Camera

Audio Amp

De-bounceCircuitry

Button

LCD Display

BUTTONS

A/DConverterD/AConverter

Button

Button

Button

PhoneLine(POTS)

Microphone

Speaker

Button

1 2 3 4 5 6 7

Cancel

*

#

0

9

RAM

FLASH

DSP (videoprocessing)

8

Page 11: Video Phone System Design

Components

•LCD Display•Digital Camera•Analog to Digital Converter (ADC)•Digital to Analog Converter (DAC)•Modem DSP•Video DSP•Memory

Page 12: Video Phone System Design

LCD DisplayRequirements

•320 x 240 resolution 8 bit color•DSP Controlled•Low Cost

Market AnalysisV en do r PN P rice No te s Color/BW P ix e ls/1000 M etric/Price

Hantronix HDM3224-LC $70.81 320x 240 (Color) 30 77 $1.31

Epson S ED1335 $10.60 Contro ller for above LCD

Newark E lec tronics A ND32222M S T $273.00 B/W 320x240 5 77 $0.30

Newark E lec tronics A ND711AS T-30 $115.00 B/W (240x64) 5 15 $0.18

Lum ex LCM 5240x128GS F $78.00 240x 128 B /W 5 31 $0.46

NE C NL3224 $297.00 320x 240 Color 30 77 $0.36

Sharp LQ039Q2DS54 $250.00 320x 240 Color 30 77 $0.43

Crys ta lloid CR32240 $70.00 320x 240 (B /W ) 5 77 $1.17

Page 13: Video Phone System Design

Digital CameraRequirements

•320 x 240 resolution 8 bit color•DSP Controlled•Low Cost

Market AnalysisVe nd or P N Price No tes

Allied CV C-50BC/PH $89.00 Color B oard

Stark E lectronic V -X0095-P CB -3.6 $79.00 Color B oard - NTS C

Page 14: Video Phone System Design

ADC / DACRequirements

•8,000 Samples per Second•8 bits per Sample•Low Cost

Market AnalysisV e nd or P N P rice Bits Sp e e d M Hz

Fairchild ADC0804 $2.00 8 10

Phillips TDA8792M /C2 $6.40 8 25

Nationa l S em iconductor ADC0804 $2.00 8 10

FS C/Raym il l ADC0804 $2.00 8 10

V e nd or P N P rice Bits Sp e e d M Hz

Fairchild DA C0808LCMX $1.37 8 6.67

Phillips TDA8702TD-T $1.84 8 30

Nationa l S em iconductor DA C0808LCM $0.81 8 6.67

FS C/Raym il l DA C0808 $1.37 8 6.67

Page 15: Video Phone System Design

MemoryRequirements

•Maintain 30 Messages•60 Seconds each

•Communicate with Video DSP•Large Flash Memory for Message Storage•Small Memory for Program and Data Space•Low Cost

Market AnalysisVe nd or P N P rice Note s S ize M e tric M etric/Price

Bright (W inbond) B M 29F 040 $6.50 4Mb Flash - 90ns sec tor e rase 4.00 $0.62

Sharp LH28F008S CTL85 $10.39 8 M B Flas h - 64K bloc k erase 8.00 $0.77

Sharp LH28F004S CTL85 $8.78 4 M B Flas h - 64K bloc k erase 4.00 $0.46

Sharp LH28F160S CB L95 $13.01 3V-F LA SH 16 M E G - Bloc k Eras e 16.00 $1.23

Sharp LH5164A $2.07 64K S RAM - 8K *8 arrangement 0.06 $0.03

Page 16: Video Phone System Design

Audio DSPRequirements

•Communicate with Video DSP•Process Audio (ADC/DAC)•Communicate with Modem•H.324 Compliance

•Mux/Demux modem data•H.223 Protocol

•Process Inter-terminal communication•H.245 Protocol

•Low Cost

Page 17: Video Phone System Design

Video DSPRequirements

•Communicate with Modem DSP•Receive and Compress Camera Data•Decompress and Send LCD Data•Encode/Decode Video Data

•H.263 Protocol for H.324 Compliance•Store and Retrieve Messages

Page 18: Video Phone System Design

DSP Evaluation

• Speed• # of Interfaces

! Serial! Parallel

• Cost• Bit capability

! ALU! Bus width! Registers

Page 19: Video Phone System Design

DSP Market AnalysisRating Per DSP

0.005.00

10.0015.0020.0025.0030.0035.00

TMS3 20C

203PZ

TMS320C

203PZ57

AD

SP-210 4

TMS3 20C

203PZ80

TMS320V

C5 402GG

U100

AD

SP-210 4L

TMS320LC

203 PZ

TMS320LC

203PZ

TMS3 20C

32PCM

40

ADS

P-21065L

TMS320C

206PZ80

AD

SP-210 5

TMS320LC

541BPZ-66

TMS320LC

206PZ80

TMS3 20LC

206 PZ80

ADS

P-2184

AD

SP-218 4L

TMS3 20C

209PN5 7

ADS

P-2115

AD

SP-218 6

TMS320VC

5409GG

U100

TMS320F20 6P

Z

TMS3 20LC

546 APZ-5

0

ADS

P-2181

TMS320C

32PC

M50

TMS320LC

545APBK-5

0

ADS

P-2101

TMS320LC

546APZ-66

TMX3 20V

C33PG

E

ADS

P-2183

ADS

P-218 5

AD

SP-218 5L

TMS320C

32PCM

60

TMS320LC

545APBK-6

6

TMS320LC

543PZ1-40

ADS

P-2103

TMS320LC

542PGE

1-40

TMS320LB

C51P

ZA57

TMS3 20LB

C51PZA5 7

TMS3 20LC

543 PZ1-50

TMS320V

C5 49GG

U-8

0

TMS320LC

542 PGE

1-50

TMS320VC

549GG

U-1

00

TMS320C

31PQ

L40

TMS320LC

31PQ-4

0

AD

SP-210 65

TI TMS320VC35402

Page 20: Video Phone System Design

Pricing AnalysisSummary

Handtronix LCD Display $70.81

E ps on LCD Controller $10.60

P hilips Modem Interface $8.00

Cermtek Modem DA A $16.67

S tark Electronic Camera $79.00

S harp Flash M em ory $13.01

S harp SRAM $2.07

Nat ional S emiconduc tor ADC $2.00

Nat ional S emiconduc tor DA C $0.81

Texas Instruments Aud io DS P $6.94

Texas Instruments Video DS P $6.94

Labor & Engineering (per unit) $18

Tota l Cost $234.85

Page 21: Video Phone System Design

Bus Interfaces

• Serial Interface! Digital Camera! AD/DA converters

• HPI Interface! DSP – DSP communication

• Parallel! Memory! LCD Controller

Page 22: Video Phone System Design

CLKX

D0 D1 D3D2 D7D4 D5 D6

FSXFrame Sync TXM

DX

XINT

1 2 3 4 5 6 7 8 9 10

MSB LSB

Next transmission may begin

Next transmission may begin

Next transmission may begin

Clock 1: Data is loaded into output register

Clock 2, rising edge: Frame sync signal is generated

Clock 2, falling edge: Interrupt generated to indicate transmission has begun

Clock 3..10: One data bit is sent on each rising clock edge

Clock 9: New data may be loaded into output register

Clock 10: If output register was loaded, frame sync signal is generated

Serial Port Interface: Transmitting

Page 23: Video Phone System Design

CLKR

D0 D1 D3D2 D7D4 D5 D6

FSRFrame Sync RX

DR

RINT

1 2 3 4 5 6 7 8 9 10

MSB LSB

Next transaction may begin

Next transaction may begin

Clock 1: Frame sync is generated

Clock 2..9: One data bit is sampled on each falling clock edge

Clock 9, falling edge: Interrupt generated to indicate data is ready in receive register

Clock 10, rising edge: Frame sync may be generated for next transaction

Clock 10: If frame sync generated, MSB of next byte is received

Serial Port Interface: Receiving

Page 24: Video Phone System Design

Parallel Bus to HPI Interface BusMaster DSP Slave DSP

ADDR 14:0

DATA 15:0

/IS

R-/W

HA 14:0

HD 15:0

R-/W

/HDS

GPIO /HDS

Slave is mapped into master’s IO space

HREADYREADY

Inter-DSP Communication:

Page 25: Video Phone System Design

/HCS

HR-/W

HA[15:0]

HD[15:0]

Read:

15-bit address

HPID contents

HREADY

15-bit address

HPID contents

Write:

HPI Transaction Timing Diagrams:

Page 26: Video Phone System Design

Push-button Interface• Implements user

interface

• Software definablefunctions

! Greatly reducesnumber of physicalbuttons needed

! Menu of optionsdisplayed on-screen

Hz.2

Hz.1

Hz.3

Hz.4

Hz.5

Hz.6

Hz.7

Vert.1

Vert.2

Vert.3

Vert.4

Vert.5

Video Picture displayed in thisbox.

Menu options listed in boxesto the right and below.

Hz.8

Page 27: Video Phone System Design

Push Button Interface

! Physical buttons! 13 buttons used

! Buttons needed for asingle function placedtogether

! Keeps theinterface easy touse

! Making a call requires0-9, #, *, and “Cancel”

! Placed around LCDscreen

! Adjacent to on-screenmenu options

Button

LCD Display

Button

Button

Button

Button

Hz2

Hz1

Hz3

Hz4

Hz5

Hz6

Hz7

Hz8

Vert.1Vert.2Vert.3Vert.4Vert.5

Button

Button

Button

Button

Button

Button

Button

Button

Page 28: Video Phone System Design

Interface Flow Example (1):PlaceCallPlayMessages

GreetingOptions

SystemOptions

Cancel

21 3 4 5 6 7 8

9

0

#

*

Cancel

1 216 368 200

21 3 4 5 6 7 8

9

0

#

*

Cancel

1: Initial Menu: 2: “Place Call” is pressed

3: Numbers/Symbols pushed

(displayed on-screen as pushed)

4: a) Sequence completed-- dials

b)”Cancel” pushed – returns (1)

1 216 368 2000

Dialing…

21 3 4 5 6 7 8

9

0

#

*

Cancel

Page 29: Video Phone System Design

Interface Flow Example (2):PlaceCallPlayMessages

GreetingOptions

SystemOptions

Cancel

PreviousMessage

PlayMessage

NextMessage

EraseMessage

Cancel

1: Initial Menu: 2: “Place Messages” is pressed

3: a) “Erase Message” pushed 3: b) “Play Message”: Plays current message

c) “Cancel” : Returns to 1

d) “Greeting Options” displays Greeting menu

PlaceCallPlayMessages

GreetingOptions

SystemOptions

Current Message: 4 of 25

Received: 6:30 PM 4/27/00

Message Erased.

PreviousMessage

PlayMessage

NextMessage

EraseMessage

Cancel

PlaceCallPlayMessages

GreetingOptions

SystemOptions

Current Message: 4 of 24

Received: 6:30 PM 4/27/00

ViewGreeting

RecordGreeting

DisableVideoGreeting

SelectActiveGreeting

Cancel

PlaceCallPlayMessages

GreetingOptions

SystemOptions

Greeting 3 is currently active

Page 30: Video Phone System Design

Idle

CallingRecord Outgoing

MessageRecordingMessages

PlayingMessages Communicating

4 Ring

s

Use

r Sel

ects

Pla

y M

essa

ges

User P

resses Record G

reeting

User Presses C

all Button

User Presses Answer Phone

Phone Answers

Hang up

Tim

e-out/button press

No

mes

sage

s/di

scon

nect

Code Entered

Time o

ut/ di

scon

nect

Flow Chart Level 1

Page 31: Video Phone System Design

Flow Chart Level 2: Playing Messages

Get First Message From Flash

DecompressAudio Remote

Checking?

No

Yes

Insert DelayDecompress

Video

Play VideoPlay Audio

Next Message Previous Message Repeat Message Time Out/ Disconnect/User Presses Stop

Delete Message

Does MessageExist?

Get Next Message

YesGet Message

No

Remote Code EnteredUser Presses Play

Page 32: Video Phone System Design

Flow Chart Level 2: Recording Messages

Get Voice Out Message

DigitalConnection?

4 Rings

NoYes

Get Audio/VideoOut Message

Send

Done?

Code Entered?

No

No

Yes

Play Messages

Play Out Message

Done?

Code Entered?

No

No

Yes

Play Messages

Receive Phone Data Packet Receive Voice Message

Extract Audio/Video Data

Store In Flash

Store In Flash

Done?

Done?Time Out?

Time Out?

No

No

No

Yes

Yes

Yes

Yes

No

Page 33: Video Phone System Design

Flow Chart Level 2: Calling

Dialtone?No

Connected?

Yes

Cancel Button Pressed

No

No

Yes

Yes

Communication

User Presses0-9, #, *

Send Tone

Call Button Pressed

Page 34: Video Phone System Design

Flow Chart Level 2: Record Outgoing Message

Get Audio Get Video

Record Button Pressed

Compress Audio Compress Video

Cancel ButtonPressed?

Time Out?

NoYes

NoYes

Page 35: Video Phone System Design

Flow Chart 2: CommunicationAnswer Phone Other End Picks Up

Establish Digital Communication/Modem Training

Initialization

Is Sender?

YesNo

Hangup?Yes

No

Get Audio Get Video

Compress Audio Compress Video

Pack A/V into H.324/ Add Audio Delay

Send Over Phone

Get Phone Data

Unpack A/V From H.324

Insert Requested Delay

Decompress VideoDecompress Audio

Play VideoPlay Audio

Idle

Page 36: Video Phone System Design

IdleState1.0

RecordCaller Msg

2.0

PlaybackMessage

4.0

RecordOutgoingGreeting

3.0

Calling

5.0

Communicating6.0

State Machine Diagram

Rings == 4

State = 2.0

Record_Greeting == TRUE

State = 3.0

Play_Msgs == TRUE

State = 4.0

Answer == TRUE

State = 6.0

Make_Call == TRUE

State = 5.0

Disconnect == TRUE ||Rec_Msg_Time_Out == TRUE

State = 1.0

Valid_Code_Entered == TRUE

State = 4.0

User_Cancel == TRUE

State = 1.0

Phone_Answer == TRUE

State = 6.0Disconnect == TRUE

State = 1.0 End_Recording == TRUE ||Rec_Msg_Packets > OUT_MSG_MAX

State = 1.0

No_Messages == TRUE ||Disconnect == TRUE ||

Stop_Playback == TRUE

State = 1.0

Page 37: Video Phone System Design

Idle State 1.0 Diagram

Count Rings

1.2

ListenFor First

Ring1.1

Ring_Detect == TRUE

State = 1.2Rings < 4

State = 1.2

Rings == 4

State = 2.0

Ringer_Timeout == TRUE

State = 1.1

Answer == TRUE

State = 6.0

Make_Call == TRUE

State = 5.0

Record_Greeting == TRUE

State = 3.0

Play_Msgs == TRUE

State = 4.0

Page 38: Video Phone System Design

Record Caller Msg State 2.0 Diagram

Receive Data6.4

RetrieveOutgoing Greeting

2.1

Send Data6.3

Packet Retrieved

State = 6.3

More_Data_Available == TRUE

State = 2.1

Flash_Ready == TRUE

State = 6.4

OverwriteOldest

Message2.2

More_Data_Available == FALSE &&Flash_Full == TRUE

State = 2.2

Get NextAvailable Msg

Location2.3

More_Data_Available == FALSE &&Flash_Full == FALSE

State = 2.3

Done_Overwriting == TRUE

State = 2.3

StorePacket

2.4

Disconnect == TRUE ||Rec_Msg_Time_Out == TRUE

State = 1.0Data_Received == TRUE

Packet_Type = MSGState = 2.4

Packet_Stored == TRUE

State = 6.4

Valid_Code_Entered == TRUE

State = 4.0

Page 39: Video Phone System Design

Record Outgoing Greeting State 3.0 Diagram

Get Audio / Video7.0

Compress Audio and Video

3.2

Read_Data_Buffer == FULL

State = 3.2

Store Packet2.4

AV_Compression == COMPLETE

Packet_Type = OUTGOINGState = 2.4

End_Recording == TRUE ||Rec_Msg_Packets >= OUT_MSG_MAX

State = 1.0

End_Recording == FALSE &&Rec_Msg_Packets < OUT_MSG_MAX

Rec_Msg_Packets++State = 7.0

Page 40: Video Phone System Design

Playback Messages State 4.0 Diagram

RetrieveMessage

4.1

DecompressAudio

4.2

PlayAudio

4.3

Valid_Code_Entered == TRUE &&Msg_Retrieved == TRUE

State = 4.2

Audio_Decompression == COMPLETE

State =4.3

Decompress AudioAnd Video

4.4

Play_Msgs == TRUE &&Msg_Retrieved == TRUE

State = 4.4

Play AudioAnd Video

4.5

Decompression == COMPLETE

State =4.5

MessageSelection

4.6

No_Messages == TRUE ||Disconnect == TRUE ||

Stop_Playback == TRUE

State = 1.0

Msg_Selection == NEXT

Message_To_Play++State =4.1

Msg_Selection == PREVIOUS

Message_To_Play--State =4.1

Msg_Selection == REPEAT

State =4.1

Audio_Sent == TRUE

State =4.6

Msg_Played == TRUE

State =4.6

Page 41: Video Phone System Design

User_Cancel == TRUE

State = 1.0

Calling State 5.0 Diagram

WaitingFor User Input

5.1

Number_Entered == TRUE

State = 5.2

Send Tone5.2

Ringing == FALSE

State = 5.1

Phone_Answer == TRUE

State = 6.0

Wait ForPickup

5.3

Ringing == TRUE

State = 5.3

Page 42: Video Phone System Design

Communicating State 6.0 DiagramNegotiate

Setup6.1

Wait ForData6.2

SendData6.3

ReceiveData6.4

Parameters_Set == TRUE

State = 6.2

Incoming_Data_Present == TRUE

State = 6.4

Outgoing_Data_Present == TRUE

State = 6.3

Data_Reception_Complete == TRUE

State = 6.2

Data_Transmission == TRUE

State = 7.0

Disconnect == TRUE

State = 1.0

Decompress AudioAnd Video

4.4

Play AudioAnd Video

4.5

Decompression == COMPLETE

State =4.5

Get Audio / Video7.0

Compress Audio and Video

3.2

Read_Data_Buffer == FULL

State = 3.2

Outgoing_Data_Present == TRUE

State = 6.2

Packet_Received == TRUE

State = 4.4

Parameters_Set == TRUE

State = 7.0

Page 43: Video Phone System Design

Caller ID – PhysicalLayer

Physical Layer•8 bit Characters Transmitted Asynchronously•One Start Bit, Between One and Ten Stop Bits•1200 baud FSK Modulated Data

S2 M B7 B6 B5 B4 B3 B2 L S1

Format

S1 – Start BitS2 – Stop BitM – Most Significant BitL – Least Significant BitB* - Bit Numbers 2 to 7

Most Significant Octet is Transmitted First

Page 44: Video Phone System Design

Caller ID – DatalinkLayer

ChannelSeizure

MarkSignal

MessageType

MessageLength

MessagePresentation Layer

Checksum

80 – 262 ms > 45 ms ~ 9.8 ms 0 – 2488 ms~ 9.8 ms ~ 9.8 ms96 – 315 bits > 55 bits 8 bits 8 bits 8 bits0 – 2040 bits

Channel Seizure – Phasing Pattern of Alternating 1’s and 0’sMark Signal – A Series of Mark Bits (1’s)Message Type – Application DependentChecksum – 2’s Complement Sum of all Bytes From “Message Type” Word

Page 45: Video Phone System Design

Caller ID – PresentationLayer

ParameterType

ParameterLength

ParameterByte(s)

ParameterType

ParameterLength

ParameterByte(s)

Parameter Type1 – Time & Date2 – Calling Line Directory Number (DN)3 – Called Directory Number4 – Reason for Absence of DN7 – Caller Name / Text8 – Reason for Absence of Name17 – Call Type19 – Network Message System Status

Page 46: Video Phone System Design

Messaging

Msg 1

Msg 2

Msg 3Msg 4Msg 5

Msg 6Msg 7…Msg 30

Msg Lookup Table Flash Memory

Msg 3

Msg 4

Msg 6Msg 7Msg 8

Msg 1Msg 2

Msg 5

Next Available Msg

AudioVideo

When a message is recorded, it is put on the bottom of the Next Available Msg buffer

When a message is deleted, it is put on the top of the Next Available Msg buffer

Page 47: Video Phone System Design

Interphone Communication

• Follow H.245 control protocols! Mandated by H.324! Overview

! Master/Slave relationship between terminals! Based on terminal type or random #

! Machines exchange capabilities! Master transmits preferences! Slave accepts/rejects

! Based on capabilities and settings

! Master establishes channels for data transfer! Data transferred

Page 48: Video Phone System Design

Conclusions• Potential per unit profit margin: $215

! Low competitor’s retail: $450! Per unit expense: $235

• Competitively featured! H.324 compliant! Video messaging capabilities! Slick UI

• Solid Design Foundation! Ease Implementation Issues! Facilitate quick time to market