Wednesday, April 9, 2008

Streaming

Streaming often is referred to as real-time; this is a somewhat vague term. It implies viewing an event as it happens. Typical television systems have latency; it may be milliseconds, but with highly compressed codecs the latency can be some seconds. The primary factor that makes a stream real-time is that there is no intermediate storage of the data packets. There may be some short buffers, like frame stores in the decoder, but the signal essentially streams all the way from the camera to the player. Streamed media is not stored on the local disk in the client machine, unless a download specifically is requested (and allowed).

Just because streaming is real-time does not mean it has to be live. Prerecorded files also can be delivered in real-time. The server delivers the packets to the network at a rate that matches the correct video playback speed.

Applications

Wherever electronic communication is used, the applications for streaming are endless. Streaming can be delivered as a complete video package of linear programming, as a subscription service, or as pay-per-view (PPV). It can form part of an interactive web site or it can be a tool in its own right, for video preview and film dailies. Some applications are:

  • Internet broadcasting (corporate communications)
  • Education (viewing lectures and distance learning)
  • Web-based channels (IP-TV, Internet radio)
  • Video-on-demand (VOD)
  • Music distribution (music on-demand)
  • Internet and intranet browsing of content (asset management)

Tuesday, April 8, 2008

Geographical Information System - GIS

Although many GIS have been successfully implemented, it has become quite clear that two-dimensional maps with most complex contours and color schema cannot precisely present multidimensional and dynamic spatial phenomena. Most GISs in use today have not been designed to support multimedia data and therefore have very limited capability due to the large data volumes, very rich semantics and very different modeling and processing requirements.


Introduction

Geographical Information Systems (GIS) are computer-based systems that enable users to collect, store, process, analyze and present spatial data.

It provides an electronic representation of information, called spatial data, about the Earth’s natural and man-made features. A GIS references these real-world spatial data elements to a coordinate system. These features can be separated into different layers. A GIS system stores each category of information in a separate "layer" for ease of maintenance, analysis, and visualization. For example, layers can represent terrain characteristics, census data, demographics information, environmental and ecological data, roads, land use, river drainage and flood plains, and rare wildlife habitats. Different applications create and use different layers. A GIS can also store attribute data, which is descriptive information of the map features. This attribute information is placed in a database separate from the graphics data but is linked to them. A GIS allows the examination of both spatial and attribute data at the same time. Also, a GIS lets users search the attribute data and relate it to the spatial data. Therefore, a GIS can combine geographic and other types of data to generate maps and reports, enabling users to collect, manage, and interpret location-based information in a planned and systematic way. In short, a GIS can be defined as a computer system capable of assembling, storing, manipulating, and displaying geographically referenced information.

GIS systems are dynamic and permit rapid updating, analysis, and display. They use data from many diverse sources such as satellite imagery, aerial photos, maps, ground surveys, and global positioning systems (GPS).

Multimedia and Geographical Information System (GIS)

Multimedia

Multimedia is a technology that encompasses various types of data and presents them in an integrated form. There are several types of data that are used by the technology, including text, graphics, hyperlinks, images, sound, digital and analogue video and animation.

Although many GIS have been successfully implemented, it has become quite clear that two-dimensional maps cannot precisely present multidimensional and dynamic spatial phenomena. Moreover, there is a growing need towards accessing spatial data. It seems that merging GIS and Multimedia is a way to deal with these issues.

The latest advances in computer industry especially in hardware have led to the development of the Multimedia and Geographical Information System (GIS) technologies. Multimedia provides communications using text, graphics, animation, and video. Multimedia GIS systems is a way to overcome the limitations displayed by the technologies when they are used separately. Multimedia can extend GIS capabilities of presenting geographic and other information. The combination of several media often results in a powerful and richer presentation of information and ideas to stimulate interest and enhance information retention. They can also make GIS more friendly and easier to use. On the other hand, multimedia can benefit from GIS by gaining an environment which facilitates the use and analysis of spatial data. The result is a system, which has the advantages of both worlds without retaining most of their disadvantages.


Monday, April 7, 2008

DM6437 Digital Video Development Platform

The TMS320C64x+™ DSPs (including the TMS320DM6437 device) are the highest-performance fixed-point DSP generation in the TMS320C6000™ DSP platform. The DM6437 device is based on the third-generation high-performance, advanced VelociTI™ very-long-instruction-word (VLIW) architecture developed by Texas Instruments (TI), making these DSPs an excellent choice for digital media applications. The C64x+™ devices are upward code-compatible from previous devices that are part of the C6000™ DSP platform. The C64x™ DSPs support added functionality and have an expanded instruction set from previous devices.

Click here to know more about TI DM6437 DSP


Thursday, April 3, 2008

Managing Memory Consumption

Memory consumption forms a major concern in the design of software for DSP/mobile devices. At the same time, a dynamically linked library is often the smallest unit of software that can be realistically managed when developing software for mobile devices. One particular detail that should be considered is that when managing memory consumption, some of the available memory will necessarily be allocated for implementing management routines.

Memory Limit

Setting explicit limits regarding memory usage for all parts of the system is one way to manifest the importance of controlling memory usage. Therefore, make all dynamically linked libraries (and other development-time entities) as well as their developers responsible for the memory they allocate. This can be achieved, for instance, by monitoring all memory reservations made by a library or a program. This can be achieved, for example, using the following routine, where MyLimit is the maximum amount of memory the library (or subsystem) can allocate and myMemory refers to the amount of allocated memory.

void * myMalloc(size_t size)
{
#ifdef MEMORY_LIMITATION_ACTIVE
if (myMemory + size > myLimit) return 0;
else { // Limit not reached.
void * tmp = malloc(size);
// Update myMemory if allocation succeeded.
if (tmp) myMemory = myMemory + size;
return tmp;
}
#else
return malloc(size);
#endif
}

While the above procedure only monitors memory space used for variables, the same approach is applicable to programs’ memory consumption as well. Then, the role of the approach is to place developers’ focus on memory consumption during the design. Furthermore, designing memory usage in advance creates an option to invest memory to some parts of a system for increased flexibility, and to optimize for small memory footprint on parts that are not to be altered. In order to be able to give realistic estimates for future releases when setting memory limits for them, one should maintain a database of memory consumption of previous releases to monitor the evolution of the consumption. Moreover, more precise estimates of the final results can be obtained by also including estimates made at different phases of the development project into the database, which can be used for evaluating the effect of errors in estimates made in the planning and design phases.


Wednesday, April 2, 2008

DSP Engineer

What is a DSP Engineer?

Click the above link for the detailed explanation from DSP Designline.