One major aspect of the competitive struggle in the marketplace for
control of data flow to a household of the near future is the
consolidation of various functions—including TV, phone, Internet, media
content, and other information-oriented services—into a single
multimedia center that handles these functions seamlessly. This paper
presents a case study of such a consolidated home media center that is
based on a system using PowerPC architecture and Linux OS.
In the effort to facilitate and standardize the flow of data into
the home, the delivery method and management of services are crucial
considerations. In many cases, delivery depends on two-way
communication and guaranteed control of proprietary media content.
This paper focuses on handling the multimedia content after it is
delivered. The various data streams to consolidate and manage are
ranging from voice and video over IP, cable/satellite TV with DVR
functionality, and Internet services to on-demand media delivery and
online gaming.

The wide variety of formats and the potential need to interchange them
pose unique challenges for a multimedia center (MMC) or a multimedia
home platform (MHP). In this paper, the term MMC designates the actual
hardware (center) and the MM system (MMS) integrates the software
component of the design.
Traditionally, each unique media function is handled by a dedicated
device and often a dedicated communication line. The result is the
redundant duplication of, for example, a digital cable delivering TV
programming, an Internet provider with IP phone service, and a regular
phone line all using essentially the same infrastructure but different
delivery methods and different dedicated devices. The current trend is
to consolidate this multiple functionality into a single device. In
many instance a home computer plays this role, but in a consumer
friendly way the challenges of price, simplicity, and efficiency
remains open.
To address these challenges, this paper presents a general marketing
case for an MMC implementation using software techniques. It considers
PowerPC architecture as a candidate for such an implementation and
provides performance measurements to support these claims.
Current implementations
As an example of the consolidation trend let us point to several recent
offerings in the area. Several solutions built around the Intel Viiv
Digital Right Management (DRM) [1] platform have been recently
announced (PC Fusion 2 [2], The Ace® LH series of Digital
Entertainment systems [3]; AVidius® Media Systems [4]). All of thse
closely resemble a general computational platform with a SW layer to
provide multimedia handling capabilities and a unified interface. The
general purpose dual-core CPU (Core Duo) is used in this model.
Another example is Viiv's direct rival " AMD Live! [5] with a very
similar approach. Both platforms illustrate the idea of an
implementation based mainly on a software solution with substantial
computation power dedicated from a general purpose core. At the same
time both platforms incorporate Digital Right Management and will be
using Microsoft Windows OS (for instance Windows XP Media Center
Edition " XP MCE).
Earlier system examples include the following [21]:
1) THOMPSON
IP900 (introduced back in 2003), is a MIPS-based SoC, while the
next-generation IP100x is based on Intel x86. Both systems are
nominally IP STB boxes, but the IP1000 decodes MPEG-4 and H.264 and the
IP900 handles only the MPEG-2 stream. (See
Table , below) [21]
2) SAMSUNG
SMT-7000S is based on Intel Celeron and is marketed by Samsung
as an IP/DSL STB.
3) FUJITSU
SIEMENS Series 200, 300 IP-STB (uses a 1.25 GHz Intel CPU).
Another recent example - the ACTIVY Media Center 500 series [6] (shown in Table 1 below)..
4) Handan (Korea)
uses the Celeron 733 MHz or 1 GHz CPU.
5) Humax (Korea) uses the VIA
Eden CPU (800MHz) [7]
6) Softier [8] IP STB based
on TI DSP and Linux OS.
 |
| Table
1. Thompson IP900/IP100x |
All of these examples illustrate an approach that uses a
general-purpose CPU with limited peripherals to implement MMC.
On the other end of the spectrum are numerous systems with an
extremely light-weight general-purpose core to execute control
functions and several peripherals serving as a dedicated hardware
solution. These systems represent today's vision of a collection of
many dedicated components, each executing a specific function. These
platforms target the high volume, low price market and tend to be very
rigid in their implementation.
Feature set
There is a wide design space for MM systems, as well as general
disagreement about their definition and classification. The design
space can be loosely defined as several tiers according to
implementation, cost, and feature set, as shown in Classification of MM
Systems by Functionality 1. The DRM (Digital Right Management) is a
part of any system by default.
 |
| Figure
1. Classification of MM Systems by Functionality |
To define an exemplary tier 3 MMS, which will be considered in this
work, we describe the desired feature set in greater detail:
1) Set top box (STB) with
digital video recording (DVR) functionality. Ability to receive
(terrestrial, satellite, IP TV carriers), view, pause, rewind and
record live TV (timeshift). The system handles two SDTV streams
simultaneously, one viewed (deinterlacing, if needed) and another
recorded or overlaid as a picture-in-picture. There is programming
guide retrieval with advanced DVR management: schedule recordings ahead
of time, following programming changes, and resolving conflicts between
multiple recordings.
2) DVD, CD, VCD
playback, management (transcoding) and writing/burning.
3) Media
cataloging and reliable storage that can seamlessly interface to
NAS or implement an on-board RAID system. Redundancy enabled storage
such as RAID can be a significant marketing point, but is also very
sensitive to the form-factor of the system. For the current design,
simple high-capacity HD is used for content storage. RAID is targeted
as future work.
4) Internet
access console that includes browsing, automated information
retrieval (weather, news headlines) and elements of data management
(headline analysis for key words of interest, offensive content
filtering). Functionality may include networking appliance
capabilities: in-house router functionality, software firewall
maintenance, and VPN support. The proposed system handles only
automated data retrieval, which depends on external content providers
such as the CNN web news site and the weather channel web site.
5) On-demand
delivery of media such as movies, music, and games. The delivery
requires digital rights management. This feature requires external
provider interaction, so it cannot be tested and therefore is not
implemented in our design.
6) Gaming
support in both the on-demand and game console modes. This
option may demand major changes in system design, thus defining many
other aspects of the system such as the level of graphic card support.
We use the system only as a game console and implement several open
source games.
7) Voice over
IP and Video over IP functionality such as video conferencing or
simply digital phone service using an IP connection. This functionality
puts a specific demand on a variety of protocol support, both for
connection management and for voice/video codec (SIP, H263, G711, G729,
and so on). This feature is fully implemented and allows us to conduct
a full duplex video call.
8) A primitive
artificial intelligence (AI) functionality is a bonus to improve
the human interface and feel. It can assist in searching a program
guide based on close caption or programming guide descriptions. It
enables easy, hands-free voice recognition and text-to-speech,
navigation among features, and so on. The text-to-speech feature is
implemented but not currently integrated with the rest of the system.
The AI component is also reserved as future work.
Most of these features require high computational power and are well
suited to a powerful CPU plus software solution. The form-factor for
such a system, in addition to likely in-room positioning, would yield
the benefits of a noiseless (fan-less) low power system. Given these
requirements, the ratio between processing power and power dissipation
as well as cost sensitivity is extremely important.
Although many of these functions overlap with the role PCs play
today, in MMC they are limited mainly to consumption, not creation, of
the media, non-modular design, and emphasis on a seamless human
interface.
<> Open Source Approach
The open source community widely facilitated by the Linux OS is a
step away from the closed world of high budget implementations and
proprietary operating systems and a step towards open cooperation and
collaboration. The open source community provides anyone with access to
implementation of various algorithms and standards that provide an
excellent starting point for a design. >
A variety of open source projects implement MM server functionality.
Most are collections of multiple features as discussed in Section 2,
but two of them deserve inspection: MythTV [9] and Freevo [10]. Both
projects implement a digital video recorder (DVR) for an STB-like
design and both have certain advantages and drawbacks.
After both applications were tested in two independent
implementations, MythTV was chosen for its final design. A significant
advantage of the MythTV project is its configurability. Additional
plugins/components can be integrated seamlessly into the common GUI
front end, which in turn is easily customized to meet vendor
requirements.
This system yields the benefit not only of design flexibility but
also easy distribution between the main server and multiple satellite
stations. The main server runs the MythBackend with MySql database and
any high intensity jobs, while the satellite station runs MythFrontend
thin client, which receives only processed content and outputs it to a
user console (regular TV or progressive monitor).
Thus, the actual compute intensive processing can be physically
partitioned from the access console, which can be very important in a
design space where too much processing power and too many features are
concentrated in a single location (tier 4 in our classification " See Figure 1, above). In this
scenario, a
backbone system with RAID storage and a powerful processing core can
reside outside the entertainment room in a basement or a closet with
light profile satellite stations located throughout the house.
It is worth mentioning that open source multimedia server projects
are sometimes criticized for their installation complexity and high
initial investment in the software configuration. These arguments are
voiced by Linux enthusiasts who configure the software for their custom
systems. In a production environment, these criticisms do not apply.
However, updates and maintenance of previously released software
components requires attention to the version of the underlying Linux
OS.
Multiple vendors package free Linux code and redistribute it under
various brand names and different packaging options [11][12][13]. Such
packages include preselected (and often precompiled) sets of
features/applications.
One notable exception is Gentoo Linux [14], which markets not a
distribution but rather a system knowledge tool that allows designers
to create their own custom distributions tailored to a specific
platform and need. The designer is in charge of selecting the required
components, and the system knowledge tool guarantees that all the
appropriate packages are delivered and all dependencies are respected.
The high-level end application (such as MythTV) check out prompts an
automated yet very complex process of verifying components and package
presence on the system, their interdependency, necessary source code
delivery, and a custom build followed by installation of required
components—all from a single command.
Not only is development time minimized but also there is a guarantee
that any future updates and/or bug fixes in any of the components
prompts updating and rebuilding as needed. The result is an improved
version of the final product. With an MMS built with a general-purpose
CPU at a known location, adding new features and fixing problems
becomes very similar to the software update mechanism used by most
commercial software vendors. For details, refer to [15]
Platform Specific Implementation
In selecting the PowerPC architecture to implement the multimedia
server, we note that the main advantage of the PowerPC G4/G4plus class
cores [16] is the excellent performance-to-power ratio. The PowerPC
architecture system can use passive cooling to provide a zero-noise,
fan-less implementation that meets the aggressive goal of high
processing power to handle multiple HDTV decoding streams in software
or conduct a video conference while recording an HDTV stream.
The PowerPC architecture is inherently friendly to multimedia
content. All G4/G4plus class processors [16] offer the advantage of the
AltiVec SIMD unit [15][17]. AltiVec technology was originally conceived
and developed by a design consortium consisting of Apple Inc., Motorola
SPS (now Freescale Semiconductor Inc.), and IBM Inc. to accelerate
multimedia processing.
The AltiVec technology augments the processing power of a
sophisticated superscalar core by offering additional vector/parallel
programming capabilities that can significantly speed-up many classes
of communications and multimedia applications: IP telephone gateways,
multi-channel modems, VPN systems, speech processing systems, echo
cancellers, digital image and video processing systems, scientific
array processing systems, and so on.
The 128-bit wide AltiVec engine remains the most sophisticated and
powerful option for SIMD extension processing to a general-purpose
superscalar core. Numerous applications are written for it, and most
trade-offs and design nuances are well understood. All new G4/G4plus
PowerPC cores from Freescale include AltiVec technology, which is fully
backward-compatible with all the software developed for it [16].
To illustrate the potential of the AltiVec unit, we reference the
independent EEMBC benchmarking consortium [18], which has published
multiple benchmarking scores in many application categories over the
years. Of interest for the work discussed here is the Digital
Entertainment subcommittee, which contains standardized benchmarks for
MPEG2 and MPEG4 encoding end decoding, MP3 decoding, JPEG processing
and much more [19].
This subcommittee has produced a total of 15 benchmarks with 69 data
sets grouped for convenience in several so called sub-marks: MPEG
Decode Mark, MPEG Encode Mark, Encryption Mark and Static Image Mark.
For details, consult [19], [20]. Additionally, there is a single
aggregate score for the entire 69 benchmark/data set permutations,
known as Digital Entertainment Mark or DENMark.
 |
| Figure
2. Breakdown of the EEMBC |
Here we present scores for several comparable general-purpose CPUs,
including IBM PowerPC 750GX and 970FX cores (970 FX runs in 32-bit
mode), AMD Geode NX1500, Analog Devices BF533, and two CPUs from
Freescale Inc. (See Figure 3, above
and Figure 3, below).
 |
| Figure
3. Aggregate Digital Digital entertainment sub-marks |
The MPEG_Decode_Mark is composed of scores for MPEG2, MPEG4, and MP3
decoding. The MPEG Encode mark comprised of MPEG2 and MPEG4 encoding
scores. Static ImageMark is a collection of Compess/Decompress JPEG
image and several color processing filters. EncryptionMark is of little
interest for our current discussion. The legend for tested parts is as
follows: vendor name_part name_core frequency_memory frequency. In
addition, Freescale processors have two score variations:
1) Regular.
Known in EEMBC as out-of-the-box (OOB) and used by default for all
certifications. It is obtained by a simple compilation of the standard
C code with a fixed set of compiler options.
2) Optimized (OPT).
Adds core-specific intrinsics to the C code.
The difference between OOB and OPT is what we want to concentrate on
" it shows the performance advantage of AltiVec technology and yields a
217 percent average performance increase for the entire benchmarking
suite. Figure 3 also illustrates the single aggregate for all the
scores " the DENmark which exhibits a similar trend. For details and an
individual benchmark breakdown, refer to the EEMBC web site [18][19].
For the Freescale products, typical power dissipation while running
this code measures at about 20 watts for MPC7447a at 1.4 GHz, and about
15 Watts (L Spec) for MPC7448 at 1.7GHz [16]. This low power
dissipation is well within the limits for a passively-cooled simple
heat sink solution. The AltiVec technology measures at a negligible 5
percent of the total power dissipation while delivering a several times
performance boost.
This amalgamation of a high performance superscalar CPU with the 128
bit wide parallel SIMD engine, along with low power dissipation, makes
the general-purpose PowerPC core very attractive for multimedia server
implementations.
Most algorithms in our system use AltiVec technology in different
degrees, which enables the design and permits the use of a much slower
CPU for the function.
Using SIMD to handle multimedia content
The most likely, and one of the most demanding, algorithms to be
encountered by the MMS is software MPEG decoding for broadcast TV and
DVD playback. The performance numbers based on EEMBC MPEG2 are
representative of a DVD playback in both resolution and decoder
configuration. MPEG decoding for TV broadcasting is very similar.
 |
| Table
2. ATSC DTV standards |
Generally, MPEG2 is most commonly used as the compression algorithm
for both SDTV and HDTV broadcasts. Although MPEG2 supports up to 4:2:2
YUV chroma subsampling and 10-bit quantization, which EEMBC uses in
most data sets, DTV broadcasts use only 4:2:0 and 8-bit quantization to
save bandwidth, which in turn changes CPU workload slightly. Some HDTV
broadcasters plan also to use MPEG4, which offers a slightly higher
compression rate for a given perceived quality and/or possibly multiple
channels to deliver a high-end HDTV signal.
The North American Advanced Television Standard Committee (ATSC)
defines 18 formats for DTV (Table 2, above). Here the MPEG2 data rate
is a close approximation and can vary slightly. Also, notice that the
actual NTSC signal has some overhead for audio and transport
organization so the end data rate varies to some extent. HDTV is using
the Dolby Digital (AC-3) format to support 5.1 surround sound, theater
quality audio track. Nevertheless the data rate for audio track is
negligible compared to the rate of the video signal.
 |
| Figure
4. Pegasos ODW Block Diagram |
MPEG2 MP ML (Main Profile, Main Level) decoding in software can be
roughly separated into four operations, some of which are
parallelizable. That is, they are locally data independent and can be
executed in parallel (Figure 4, above).
As the EEMBC scores in Table 3 below,
AltiVec technology can be used very effectively to perform these
decoding operations. This optimization can dramatically accelerate the
performance of individual algorithms. For example, AltiVec unit can
accelerate 2D IDCT in a stand-alone mode by nearly 500 percent (five
times).
 |
| Table
3. MPEG2 Decode profile |
Dequantization (iquant) can be accelerated by about 200 percent, and
motion estimation can be improved by 200 percent. Nevertheless, when
all components are integrated for TV MPEG2 decoding, the overall
speedup (an average of 10 data sets, different from EEMBC) is about 245
percent [22].
This increase is in line with the performance gains reported by the
EEMBC set of benchmarks for DVD-like MPEG decoding. MPEG2 encoding is
much more work intensive than decoding and presents more opportunities
for vectorization with AltiVec technology. For encoding, the average
speedup is measured at around 480 percent [22]. Encoding is a factor in
MM system when transcoding is performed between various formats. In a
similar analysis for digital audio decompression (playback) tested for
an MP3 algorithm with DVD quality, AltiVec unit delivers an average 220
percent speedup compared to the original implementation [22].
All these examples underscore the effectiveness of AltiVec
technology in different multimedia formats processing and the overall
suitability of the PowerPC architecture for an integrated home media
center.
System-level design considerations
In a reference design with real-time performance analysis and workload
balance trade-offs, the bulk data flow dictates all design trade-offs.
To this point, we have considered a general-purpose CPU with a
software-oriented implementation as more flexible and application
independent. Benchmarking measurements justify the use of PowerPC core
with AltiVec technology in the design. To address the cost/feature
trade-off and conduct system-level benchmarking, we proceed to
implement the system.
This system shown below in Figure
4 above is an off-the-shelf design for a general-purpose Linux
desktop PC that is not specifically targeted for multimedia
applications, so some trade-offs are not addressed. However, as a proof
of concept, this system serves its purpose. The system is designed by
Genesi Inc. [23] and is in fact the Pegasos Open Desktop Workstation
(ODW) [24] platform, meaning that all design and implementation details
(gerber files, schematics, component list, and so on) are freely
available [25] and, with the open source software layer implementation,
add up to a truly open design.
In this design exist some functional latitude to configure
applications to explore potential design space and illuminate important
design trade-offs. One example is the use of the CPU for the graphical
rendering, minimizing the requirement for video card functionality.
Indeed, the multimedia system mainly addresses 2D graphical
applications, with limited support for gaming applications and simple
3D graphics (based on OpenGL). Therefore, we can use the simplest video
card in a frame buffer (FB) mode (just capable of displaying memory
buffer content without processing it).
One of the most important trade-offs in such a system design is
where the MPEG2 TV signal decoding takes place. To guarantee that the
TV signal is distributed freely throughout the system built around PCI
bus (PCI 32 bits at 33 MHz bandwidth = 133 Mbps = 1Gbps), the raw SDTV
(data rate is about 105 Mbps; the raw HDTV is up to 1.4 Gbps) is
delivered by the TV tuner in compressed form.
The TV tuner used in this case is Hauppauge WinTV PVR 500MCE. The
compressed data rate is about 2 Mbps for SDTV and up to 18 Mbps for
HDTV (See Table 2). Of course,
the compressed data must be decompressed/decoded prior to rendering, a
function frequently outsourced to a coprocessing unit. In addition to
decompressing, the following steps may be necessary:
1) Deinterlacing to display
the data on a progressive screen, a time-consuming algorithm that can
consume a non-trivial amount of processing power.
2) Adding overlay information.
3) Blending with another
stream for a picture-in-picture. Please note, that the
picture-in-picture feature requires two TV tuners, which are available
at the Hauppauge WinTV PVR 500MCE, and simultaneous decoding of two
MPEG2 streams.
One option available in our system is to take the MPEG2 encoder
output from the tuner card, use the DMA controller to transfer the data
directly to the ATI Radeon 9250 built-in MPEG decoder, and output the
decoded video in interlaced form for display. The use of DMA minimizes
the amount of processing required from the CPU, freeing the CPU to
perform other tasks.
The disadvantage of this approach is the interlaced output unless
additional hardware is used, difficult overlay and picture-in-picture
construction, decoding of only one stream at a time, and the actual
need to use the Radeon 9250 or another video card with an MPEG decoder
in the final design. The preferred option is to allow the PowerPC core
to do all the work and use the Radeon 9250 in frame buffer mode only
(to be potentially replaced by a cheaper video card).
Contrary to the situation with the graphic card, the Creative Sound
Blaster Audigy2ZS (SB 0350) audio card is used to its full potential.
It delivers a true 5.1 channel surround sound experience for
appropriate media. The software sound manager is ALSA [26].
DVD playback algorithmically is similar to TV decoding. The player
for our system is Xine [27], which is built using the FFMPEG project
[28]. For CD and VCD as well as most other video file formats (MPEG4
derivatives), playback does not represent a significant design
challenge and can be handled by the same codec.
Transcoding on the other hand might require non-standard output
formats and/or resolutions, but due to the nature of the transcoding
process, it does not have to be done in real time, so critical
performance requirements are relaxed in this case.
Another interesting aspect of this design is the seamless
integration of the video, voice over IP, and instant messaging into the
system. MythPhone [29] is the default plugin used in MythTV to provide
this functionality (see Figure 6). Its feature set includes the SIP
communication protocol, G.711 or GSM for voice, and H.263 for video
calls.
Another option is the Gnomeeting project [30] that is based on the
OpenH323 Library [31] and supports numerous formats, including H261
(video), G711, G726, G723.1, GSM (audio), and a variety of connection
protocols. Also, Gnomeeting is fully interoperable with Microsoft
NetMeeting.
Results
For experimental part of the work we have conducted study of several
common scenarios which are summarized in Table 4, below. The purpose is
mainly a system level benchmarking " making a realistic estimate of the
system capabilities in addition to existing core-centric benchmarks.
The TV signal in this case is US Cable NTSC signal with 480i
resolution, which in most cases is getting converted to 480p
(deinterlacing).
 |
| Table
4. CPU Workload results for common system level scenarios |
As a result of this experiment, the system was proven capable of
recording one SDTV channel (no rendering required, just write to a
file, no deinterlacing) and playback of another channel at the same
time. This amount of processing is representative of the peak workload
for the system (for the given tier three category) while handling TV
programming.
Also an indirect comparison between scenario five myth frontend
workload (no deinterlacing done) and any other scenario where the
deinterlacing is performed demonstrates the non trivial amount of work
to interface a progressive monitor. This might be worth another design
tradeoff consideration whether to address a standard interlaced TV or
high definition progressive monitor.
The amount of workload required for MPEG2 decode is just slightly
different between the TV and DVD playback (scenario four vs. any other
TV playback) and hovers in a single digit percentage difference. Actual
rendering adds surprisingly little to overall workload (15-18% for the
whole X windows functionality, which includes rendering) and further
supports the claim about PPC capability to absorb this function.
Conclusion
In this work we attempted to present an appealing case for defining a
multimedia consumer-oriented system and justifying PowerPC core with
AltiVec technology as an appropriate platform for its implementation.
The system was built using open source software and off-the-shelf
components to serve as a test case or a general-purpose prototype for
system level trade-off analysis. The results demonstrated that a 1GHz
PowerPC core with AltiVec technology is very capable of handling two
SDTV data streams simultaneously, with CPU cycles left to spare. Future
work will implement HDTV functionality on the same or a similar system,
with RAID integration and human interface improvements.
Sergei
Y. Larin is senior applications engineer at Freescale Semiconductor and
Pieter Van den Abeele is affiliated with Genesi Inc.
This article is excerpted from a
paper of the same name presented at the Embedded Systems Conference
Silicon Valley 2006. Used with permission of the Embedded Systems
Conference. For more information, please visit www.embedded.com/esc/sv.
References
[1] Intel Corp. www.intel.com
[2] Digital Home PC Inc. - www.digitalhomepc.com/fusion.htm
[3] Ace Computers -www.acedigitalhome.com
[4] Computer Connections - www.paconnect.com/avidius.asp
[5] Advanced Micro Devices, Inc. www.amd.com.
[6] Fujitsu
Siemens Computers
[7] Via Technologies, Inc. - www.via.com.tw/en/products/processors/eden-esp/
[8] Softier, Inc. - www.softier.com/iptv_stb.asp
[9] MythTV Project " www.mythtv.org
[10] Freevo Project - freevo.sourceforge.net
[11] Red Hat, Inc. - www.redhat.com
[12] Software in the Public Interest, Inc. - www.debian.org
[13] Terra Soft Solutions, Inc. - www.yellowdoglinux.com, www.terrasoftsolutions.com
[14] Gentoo Foundation, Inc. " www.gentoo.org
[15] Sergei Larin " "Home Media Center Built with Linux on PowerPC
Architecture" Embedded Systems Conference and Design Seminars 2006,
April 3-7, 2006, San Jose McEnery Convention Center, Ca.
[16] Freescale Semiconductor, Inc. " www.freescale.com/powerpc
[17] Freescale Semiconductor, Inc. " www.freescale.com/altivec
[18] Embedded Microprocessor Benchmark Consortium - www.eembc.org
[19] Embedded Microprocessor Benchmark Consortium, Digital
Entertainment subcommittee
[20] Sergei Larin " "EEMBC V2 Benchmarking Overview "- (SBG844) " Freescale Technology Forum (FTF)
2005 - Orlando, FL
[21] In-Stat Marketing Research Report - www.instat.com
[22] Sergei Larin " "AltiVec in Multimedia Applications "- (H1125) "
Smart Networks Developer Forum
(SNDF) 2004 - Dallas, TX
[23] Genesi USA Inc. - www.genesippc.com
[24] Open Desktop Workstation -www.pegasosppc.com/odw.php
[25] Power.org Consortium - power.org
[26] The Advanced Linux Sound
Architecture Project
[27] The Xine Project " www.xinehq.de
[28] The FFmpeg Project - ffmpeg.sourceforge.net
[29] Paul Volkaerts " MythPhone Project " www.zen13655.zen.co.uk/mythphone.html
[30] GnomeMeeting Project " Ekiga - www.ekiga.org;
www.gnomemeeting.org
[31] The OpenH323 Project " www.openh323.org