This document provides details of an embedded systems project to develop a video chat application. It includes the names and contact details of the team members, an agenda for the progress presentation, and sections on the product concept and design including the video codec chosen, hardware platform, and work allocation among team members. Key aspects covered are the video and audio processing, network testing conducted, and timeline with tasks scheduled till completion.
1. EMBEDDED SYSTEMS PROJECT
TD6109
Video Chat Application
Progress Presentation
Team 2
Name Matriculation
Number
Contact
Mr. Tan Chiew Seng Sean HT035691L H/P:9848 4822
G0308113@nus.edu.sg
Mr. Ravi Kishore Doddavaram HT035687R H/P:90262765
G0303050@nus.edu.sg
Mr. Sunil Gullipalli HT035690Y H/P:98550495
G0303051@nus.edu.sg
Mr. Santanu Bhattacharya HT035673H H/P:98558727
G0308103@nus.edu.sg
Mr. Gaurav Khurana HT035678N G0308105@nus.edu.sg
20th
August 2004
3. Product Concept:
Embedded IR
Sensor
Rotatable base
Embedded
Camera with Digital
Zoom
Embedded VC
Speakers
VC Addon (VCA)
TV
1. Main Menu Call Duration
2. Save No.
3. End Chat
4. Settings
Out of Range Indicator
(LED)
4. ZONING DIAGRAM
VC Addon (VCA)
Embedded VC
Speakers
Embedded
Camera
With Digital Zoom
Rotatable base
Voice
Control
Interface
(VCI)
IR Zone 1
IR Zone 2
IR Zone 3
IR Zone 4
Voice activated range Command based
6 to 8 m
Out of Range Indicator
(LED)
Living
Room
Sofa
TopViewof
VCA
5. System
(From the Network)
CalleeVideo Callee Audio
Input Input
Caller Video Input
Caller Audio Input
Caller Video Output
Caller Audio Output
Network
Stream
User Input from the
Remote control
Callee Video Output
Callee Audio output
Information Stream
Skeletal Functionality
9. Selected: Video Codec
H.263 Video Codec
Low bit rate :Suitable for dial-up connections
High Quality transmission :Suited for TV
conferencing
Interoperable :Standard for present Video
Conferencing Systems.
Not H.261 : H.263 is Error tolerant.1/2 pel
Motion estimation.
Not H.264 : H.263 is the existing standard and
is backward compatible with H.264.
10. Design Tradeoffs : Hardware Platform
Criteria
Development time
Cost
Learning curve
Available support
Size of the board
Suitability such as boot up time, power consumption etc.
Options
A single board Computer (SBC)
Customized PCB (assorted chips)
Development boards (TI C6X development platform)
12. Design Tradeoffs : Audio Codec
Criteria
Bandwidth
Jitter or delay
Echo effects
CPU Load (not as significant as Video)
Options
G711
G723
G729
GSM
13. Selected: Audio Codec
Codec G 723
20 bytes/frame
Frame rate 30 ms/frame =
33.33 fps
Note 1 frame = 1 packet
Latency 30 ms
Raw bandwidth = ( 24 * 8 ) / ( 30
* 0.001) = 6400 bits per second
With the RTP 17066 bits per
second
14. Design Tradeoffs : Video Input Capture
Criteria
Picture quality (perceived)
Capture rate hence transient response
Resolution
Output formats
Cost
Complexity and compatibility
Extra hardware
Extra space
Options
Analog Camera
USB Camera
15. Video Input
Web Camera or analog camera
Analog Camera
Better quality
Compact solution
Requires an expensive ADC (Image Capture Card)
S-Video or Composite RCA feed (analog)
Extra volume of the product
Web Camera
Simpler solution
USB interface hence does not require power
AVI video input (Digital samples hence easier to process)
Logitech
Quickcam Pro 4000
16. Design Tradeoffs : GUI
GUI : Qt/Embedded
Compact Library
Hardware-accelerated graphics: Suited for
Video Conferencing
Runtime-Memory conservator
Easy to build and preview user interfaces
Not SDL: Size does matter!
GUI requirements using X11
- X Windows 5 MB RAM, 16 MB disk
- GNOME 14 MB RAM, 95 MB disk
- KDE 11MB RAM, 96 MB disk
17. Design Tradeoffs : IR
Infra red Capabilities:
LIRC
Open Source ,Easy to
configure
Can talk to Qt
Serial port receiver at
38KHz
Less deployment time
Easy to test
18. Design Tradeoffs: Processor
Options
Celeron
Pentium III
Pentium IV
VIA
ARM
TI C64
Criteria
Cost
Application Load
Platform
Software Compatibility
19. MIPS Calculation
Operation Before Optimization
Motion Estimation 11187000
Motion Compensation 216150
DCT 141900
Quantization 63525
Interpolation 139425
Reconstruction 255750
Others 429000
Total
CPU Cycles
/Frame (CIF)
12432750
Data Rates of H.263 Codec:
The Uncompressed bit-rate for 30 frames/sec (CIF) = 352 X 288 X 24 X 30
CIF Pixel Bits/Pixel Frame/Sec
= 73 Mbit/sec
Compression rate of 1:100 to 1:400 is achievable by H.263 Codec
The minimum bit-rate for up-stream = 0.8 Mbits/sec
The minimum bit-rate for down-stream = 0.8 Mbits/sec
So, Total bit-rate requirement = 1.6 Mbits/sec
20. Processor load
CPU load is very minimal for these drivers
During the start-up they take up 12-15 % of the
kernel processing time
DMA takes care of these devices using character
interfaces
22. Possible Solutions for Audio
ALSA- 1.0.5 (stable release)
Compatible and under heavy development for the
2.6 kernel
Modular support built into 2.6.x kernel
Provides excellent API for interfacing the audio
with the application
OSS- 0.9
Ships with the 2.4.x kernel
23. PROPERTIES OF THE OBJECTS IN THE SOLUTION
Video Codec – H.263
Video Input Capture
Hardware Platform
Infra-red
Graphical User Interface (GUI)
Audio Codec
Audio Input Capture
Software Platform
TV Input
24. Video Processing Considerations
CIF to 4CIF conversion
Transmitting a CIF (352X288) video stream and
interpolate it into 4CIF (704X576) at Receiver to
display.
Using Linear Interpolation up to now considering
the CPU load.
Trade of between the video quality and CPU load.
The work for still image interpolation is done.
The work for a CIF video stream to 4CIF video
stream is going on.
26. H.263 Video and G.723 Codec Testing Over the
N/W
Testing Inputs
Terminal 1 (Listener): @ 172.19.79.106
Video Device : /dev/video0 ( Webcam port)
Video Input : From the webcam
Video Size : QCIF
Video Bit rate : 1024Kbps
Video Transmission quality : 4 ( best possible for net meeting)
FPS : 15
Auto- Answer , No Gatekeeper
Terminal 2 (Caller):@ 172.19.79.175
Video Device : /dev/video0 ( Webcam port)
Video Input : From the webcam
Video Size : QCIF
Video Bit rate : 1024Kbps
Video Transmission quality : 4 ( best possible for net meeting)
FPS : 15
Auto- Answer ,No– Gatekeeper, P-in-P enabled
27. Observations :H.263 Video and G.723 Codec Audio
Testing Over the N/W
Quality of transmission of audio and video are quite
good.
Video transmission is successful over H323.
Audio transmission is successful only on one side.
(Scope for improvement).
Video transmission on one side is getting mixed up
with unwanted frame, thus adding noise. (Scope for
improvement)
Possible causes for Audio and Video Fine tuning::
Camera driver compatibility and /or Portable
Windows Library upgradation required. On the go!
ALSA core for audio to be installed. Now on OSS!
28. H.263 Video Codec Testing
Observations
Transfer rate of 1024 Kbps was achieved (Test) @15fps
Statistics (for observation period of 2 min 40 sec):
Packets sent : 4201
Packets received : 1275
Packet lost : 0
Average Send time : 45 ms
Maximum Send time : 109 ms
Minimum Send time : 2
Average Receive time : 173 ms
Maximum Receive Time : 310 ms
Minimum Receive time : 1
Average jitter : 135
Maximum jitter : 212
Octets sent : 2640725
Octets received : 981652
29. Ist Half
of
May
IInd Half
of
May
Ist Half
of
Jun
IInd Half
of
Jun
Ist Half
of
Jul
IInd Half
of
Jul
Ist Half
of
Aug
System Scope
& Specification
Test Plans &
Preliminary
GUI Design
Preliminary
System
Architecture
Resource
Requirement
& Estimation
Refined
System
Architecture
Codec Evaluation Report,
Bill of Materials
Market Survey,
Feasibility,
Requirement
Capture
Conceptual
Test
Environment
Setup
Basic H/W
Requirement
Analysis,
Industry Std.
Selection
H/W & S/W
Resource
Estimation
H/W Platform
& Component
Selection
Codec Execution, Network
Protocol Simulation, Board
Procurement, CIF to 4CIF
Static Interpolation, Serial
IR Circuit Testing
IInd Half
of
Aug
Ist Half
of
Sep
IInd Half
of
Sep
Ist Half
of
Oct
IInd Half
of
Oct
Soft Simulation
Results, Test Reports,
Detail Design
Document
Technical
Specification
I
Technical
Specification
II
User Documentation,
User Manual,
Test Reports
(Comprehensive)
Integration Test Reports
Reserved For
Any leftover
Audio and Video Soft
Demos,
Reverse Engineering,
CIF to 4CIF
Interpolated
Streaming
Porting of the S/W
& Setting up the
Enviroment,
GUI Development,
Remote Control,
Camera Motion
Control
Voice Controlled
Interface,
Code optimization,
System Integration,
GUI Enhancement,
VCI Enhancement
?
TimeReportsTasksTimeReportsTasks
30. Work Allocation
1) Video Processing Programmer [GAURAV]
(+ tasks includes Digital Zoom + Horizontal Flip + 4CIF conversion)
(2) Electronics Hardware Engineer [SANTANU]
(+ tasks includes CMC + speech reorganization + echo-cancellation) + SUNIL in CMC
(3) AV CODEC + AV Drivers Programmer [SUNIL + SANTANU]
(+ tasks includes Optimizing H263 + VP3 code-optimization methods) + RAVI in
Optimizing H263
(4) Platform Engineer [ALL]
(+ tasks includes Motherboard with OS integration, maintenance, troubleshooting, etc)
(5) Network Engineer [SEAN]
For Internal Network (+ tasks includes error-concealment, adaptive transmission control)
For External Network (Not yet confirmed)
(6) Communication Engineer [SEAN + GAURAV]
(+ tasks includes joystick integration, IR + BT implementation)
(7) GUI Programmer [SUNIL + SEAN]
(8) Power Electronics Engineer [RAVI]
(+ tasks includes power supply management + Out-of-range LED + photodiode)
(9) System Integration Engineer [RAVI + SANTANU]
(+ tasks includes integration of modules/components to the platform)