Oracle interMedia Audio, Image, and Video User's Guide and Reference
Release 8.1.7

Part Number A85336-01

Library

Product

Contents

Index

Go to previous page Go to next page

1
Introduction

Oracle interMedia is a single product that enables Oracle8i to store, manage, and retrieve text, documents, geographic location information, images, audio, and video in an integrated fashion with other enterprise information. Oracle interMedia extends Oracle8i reliability, availability, and data management to text and multimedia content in Internet, electronic commerce, and media-rich applications as well as online Internet-based geocoding services for locator applications.

Oracle interMedia provides services for managing Web content. These services include:

Oracle interMedia provides content services to JDeveloper, Oracle Developer, Oracle Internet File System, WebDB, Oracle applications, and Oracle partners. This guide describes only the management of image, audio, and video data.

1.1 Oracle interMedia Audio, Image, and Video

The capabilities of interMedia audio, image, and video include the storage, retrieval, management, and manipulation of multimedia data managed by Oracle8i. Oracle interMedia supports multimedia storage, retrieval, and management of:

Multimedia applications have common and unique requirements. Oracle interMedia object types support common application requirements and can be extended to address application-specific requirements. With Oracle interMedia, multimedia data can be managed as easily as standard attribute data.

Oracle interMedia is accessible to applications through both relational and object interfaces. Database applications written in Java, C++, or traditional 3GLs can interact with interMedia through modern class library interfaces, or PL/SQL and Oracle Call Interface (OCI).

interMedia supports storage of all the popular file formats, including desktop publishing image, and streaming audio and video formats in Oracle8i databases. interMedia provides the means to add audio, image, and video columns or objects to existing tables, and insert and retrieve multimedia data. This enables database designers to extend existing application databases with multimedia data or to build new end-user multimedia database applications. interMedia developers can use the basic functions provided here to build specialized multimedia applications.

Oracle interMedia uses object types, similar to Java or C++ classes, to describe multimedia data. These object types are called ORDAudio, ORDImage, and ORDVideo. An instance of these object types consists of attributes, including metadata and the media data, and methods. Media data is the actual audio, image, or video. Metadata is information about the data, such as object length, compression type, or format. Methods are procedures that can be performed on the object like getContent( ) and setProperties( ).

interMedia objects have a common media data storage model. The media data component of these objects can be stored in the database, in a binary large object (BLOB) under transaction control. The media data can also be stored outside the database, without transaction control. In this case, a pointer is stored in the database under transaction control, and the media data is stored in:

Media data stored outside the database can provide a convenient mechanism for managing large, pre-existing, or new media repositories that reside as flat files on erasable or read-only media. This data can be imported into BLOBs at any time for transaction control. Section 1.7 describes several ways of loading multimedia data into an Oracle8i database.

Object metadata and methods are always stored in the database under Oracle interMedia control. Whether media data is stored within or outside the database, interMedia manages metadata for all the media types and may automatically extract it for audio, image, and video. This metadata includes the following attributes:

In addition, a minimal set of image and data manipulation methods is provided. For image, this includes verifying the image properties match the image, performing format conversion and compression, scaling, cropping, copying, and deleting images.

interMedia is designed to be extensible. It supports a base set of popular audio, image, and video data characteristics for multimedia processing that also can be extended, for example, to support additional formats, new digital compression and decompression schemes (codecs), data sources, and even specialized data processing algorithms for audio and video data.

It is possible to extend Oracle interMedia by:

interMedia is a building block for various multimedia applications rather than being an end-user application. It consists of object types along with related methods for managing and processing multimedia data. Some example applications for interMedia audio, image, and video are:

1.2 Audio Concepts

This section contains information about digitized audio concepts and using interMedia audio to build audio applications or specialized interMedia audio objects.

1.2.1 Digitized Audio

interMedia audio integrates the storage, retrieval, and management of digitized audio data in Oracle databases using Oracle8i.

Audio may be produced by an audio recorder, an audio source such as a microphone, digitized audio, other specialized audio recording devices, or even by program algorithms. Audio recording devices take an analog or continuous signal, such as the sound picked up by a microphone or sound recorded on magnetic media, and convert it into digital values with specific audio characteristics such as format, encoding type, number of channels, sampling rate, sample size, compression type, and audio duration.

1.2.2 Audio Components

Digitized audio consists of the audio data (digitized bits) and attributes that describe and characterize the audio data. Audio applications sometimes associate application-specific information, such as the description of the audio clip, date recorded, author or artist, and so forth, with audio data by storing descriptive text in an attribute or column in the database table.

The audio data can have different formats, encoding types, compression types, numbers of channels, sampling rates, sample sizes, and playing times (duration) depending upon how the audio data was digitally recorded. interMedia audio can store and retrieve audio data of any data format. interMedia audio can automatically extract metadata from audio data of a variety of popular audio formats. interMedia audio can also extract application attributes and store them in the comments field of the object in XML form identical to what is provided by the interMedia Annotator utility. Supported audio attributes depend upon available hardware capabilities or processing power for any user-defined formats. See Appendix A for a list of supported data formats from which interMedia audio can extract and store attributes and other audio features. interMedia audio is extensible and can be made to recognize and support additional audio formats.

The size of digitized audio (number of bytes) tends to be large compared to traditional computer objects, such as numbers and text. Therefore, several encoding schemes are used that squeeze audio data into fewer bytes, thus putting a smaller load on storage devices and networks.

1.3 Image Concepts

This section contains information about digitized image concepts and using interMedia image to build image applications or specialized interMedia image objects.

1.3.1 Digitized Images

interMedia image integrates the storage, retrieval, and management of digitized images in Oracle databases using Oracle8i.

interMedia image supports two-dimensional, static, digitized raster images stored as binary representations of real-world objects or scenes. Images may be produced by a document or photograph scanner, a video source such as a camera or VCR connected to a video digitizer or frame grabber, other specialized image capture devices, or even by program algorithms. Capture devices take an analog or continuous signal such as the light that falls onto the film in a camera, and convert it into digital values on a two-dimensional grid of data points known as pixels. Devices involved in the capture and display of images are under application control.

1.3.2 Image Components

Digitized images consist of the image data (digitized bits) and attributes that describe and characterize the image data. Image applications sometimes associate application-specific information, such as including the name of the person pictured in a photograph, description of the image, date photographed, photographer, and so forth, with image data by storing this descriptive text in an attribute or column in the database table.

The image data (pixels) can have varying depths (bits per pixel) depending on how the image was captured, and can be organized in various ways. The organization of the image data is known as the data format. interMedia image can store and retrieve image data of any data format. interMedia image can process and automatically extract properties of images of a variety of popular data formats. See Appendix B for a list of supported data formats for which interMedia image can process and extract metadata. In addition, certain foreign images (formats not natively supported by interMedia image) have limited support for image processing. See Appendix E for more information.

The storage space required for digitized images can be large compared to traditional attribute data such as numbers and text. Many compression schemes are available to squeeze an image into fewer bytes, thus reducing storage device and network load. Lossless compression schemes squeeze an image so that when it is decompressed, the resulting image is bit-for-bit identical with the original. Lossy compression schemes do not result in an identical image when decompressed, but rather, one in which the changes may be imperceptible to the human eye.

Image interchange format describes a well-defined organization and use of image attributes, data, and often compression schemes, allowing different applications to create, exchange, and use images. Interchange formats are often stored in or as disk files. They may also be exchanged in a sequential fashion over a network and be referred to as a protocol. There are many application subdomains within the digitized imaging world and many applications that create or utilize digitized images within these. interMedia image supports storage and retrieval of all image data formats, and processing and attribute extraction of many image data formats (see Appendix B).

1.4 Video Concepts

This section contains information about digitized video concepts and using interMedia video to build video applications or specialized interMedia video objects.

1.4.1 Digitized Video

interMedia video integrates the storage, retrieval, and management of digitized video data in Oracle databases using Oracle8i.

Video may be produced by a video recorder, a video camera, digitized animation video, other specialized video recording devices, or even by program algorithms. Some video recording devices take an analog or continuous signal, such as the video picked up by a video camera or video recorded on magnetic media, and convert it into digital values with specific video characteristics such as format, encoding type, frame rate, frame size (width and height), frame resolution, video length, compression type, number of colors, and bit rate.

1.4.2 Video Components

Digitized video consists of the video data (digitized bits) and the attributes that describe and characterize the video data. Video applications sometimes associate application-specific information, such as the description of the video training tape, date recorded, instructor's name, producer's name, and so forth, with video data by storing descriptive text in an attribute or column in the database table.

The video data can have different formats, compression types, frame rates, frame sizes, frame resolutions, playing times, compression types, number of colors, and bit rates depending upon how the video data was digitally recorded. interMedia video can store and retrieve video data of any data format. interMedia video can automatically extract metadata from video data of a variety of popular video formats. interMedia video can also extract application attributes and store them in the comments field of the object in XML form identical to what is provided by the interMedia Annotator utility. Supported video attributes depend upon available hardware capabilities or processing power for any user-defined formats. See Appendix C for a list of supported data formats from which interMedia audio can extract and store attributes and other video features. interMedia video is extensible and can be made to recognize and support additional video formats.

The size of digitized video (number of bytes) tends to be large compared to traditional computer objects, such as numbers and text. Therefore, several encoding schemes are used that squeeze video data into fewer bytes, thus putting a smaller load on storage devices and networks.

1.5 Object Relational Technology

Oracle8i is an object relational database management system. This means that in addition to its traditional role in the safe and efficient management of relational data, it provides support for the definition of object types, including the data associated with objects and the operations (methods) that can be performed on them. This powerful mechanism, well established in the object-oriented world, includes integral support for BLOBs to provide the basis for adding complex objects, such as digitized audio, image, and video to Oracle8i databases.

Within Oracle interMedia, audio data characteristics have an object relational type known as ORDAudio, image data characteristics have an object relational type known as ORDImage, and video data characteristics have an object relational type known as ORDVideo. All three store data source information in an object relational type known as ORDSource.

See the following references for extensive information on using BLOBs and BFILEs:

1.5.1 Multimedia Object Types and Methods

Oracle interMedia provides the ORDAudio, ORDImage, and ORDVideo object types and methods for:

1.5.2 ORDSource Object Type and Methods

Oracle interMedia provides the ORDSource object type and methods for multimedia data source manipulation. This section presents a conceptual overview of the ORDSource object type methods.


Note:

ORDSource methods should not be called directly. Instead, invoke the wrapper method of the media object corresponding to the ORDSource method. This information is presented for users who want to write their own user-defined sources. 


1.5.2.1 Storing Multimedia Data

interMedia can store multimedia data as an internal source within the Oracle8i database, under transactional control as a BLOB. It can also externally reference digitized multimedia data stored as an external source in an operating system-specific BFILE in a local file-system, as a URL on an HTTP server, as streaming audio or video stored on media servers, or as a user-defined source on other servers. Although these external storage mechanisms are particularly convenient for integrating pre-existing sets of multimedia data with an Oracle8i database, the multimedia data will not be under transactional control.

BLOBs are stored in the database tablespaces in a way that optimizes space and provides efficient access. BLOBs may not be stored inline with other row data. Depending on the size of the BLOB, a locator is stored in the row and the actual BLOB (up to 4 gigabytes) is stored in other tablespaces. The locator can be considered a pointer to the actual location of the BLOB value. When you select a BLOB, you are selecting the locator instead of the value, although this is done transparently. An advantage of this design is that multiple BLOB locators can exist in a single row. For example, you might want to store a short video clip of a training tape, an audio recording containing a brief description of its contents, a syllabus of the course, a picture of the instructor, and a set of maps and directions to each training center.

Because BFILEs are not under the transactional control of the database, users could change the external source without updating the database, thus causing an inconsistency with the BFILE locator. See Oracle8i Application Developer's Guide - Large Objects (LOBs) and Oracle Call Interface Programmer's Guide for detailed information on using BLOBs and BFILEs.

interMedia provides the ORDSource object type and methods for performing local attribute manipulation, updateTime attribute manipulation, source attribute manipulation, import/export operations, source content operations, source access operations, source read and write operations, and command process operations.

Using interMedia with Oracle Video Server

In the case of Oracle Video Server (OVS), the ORDSource object can store a pointer (either a URL or OVS MDS block) directly in the tablespace of your database that an application can resolve into a playable asset. The application can extract the metadata about the OVS source and store the metadata, along with the pointer to the media data in interMedia. In this case, you are using interMedia to store the media metadata and OVS to store the media data. Note that ORDVideo methods do not operate on OVS data.

1.5.2.2 Querying Multimedia Data

Once stored within an Oracle8i database, multimedia data can be queried and retrieved by using the various alphanumeric columns (attributes) of the table to find a row that contains the desired data. For example, you can select a video clip from the Training table where the course name is 'Oracle8i Concepts'.

The collection of multimedia data in the database can be related to some set of attributes or keywords that describe the associated content. The multimedia data content can be described with textual components and numeric attributes such as dates and identification numbers. With Oracle8i, data attributes can reside in the same table as the object type. Alternatively, the application designer could define a composite object type that contains one of the interMedia object types along with other attributes.

1.5.2.3 Accessing Multimedia Data

Applications access and manipulate multimedia data using SQL, PL/SQL, or Java through the object relational types ORDAudio, ORDImage, and ORDVideo. See Oracle interMedia Audio, Image, and Video Java Classes User's Guide and Reference for more information about using Java. The object syntax for accessing attributes within a complex object is the dot notation:

variable.data_attribute

The syntax for invoking methods of a complex object is also the dot notation:

variable.function(parameter1, parameter2, ...)

See Oracle8i Concepts for information on this and other SQL syntax.

1.6 Extending Oracle interMedia

interMedia audio, image, and video can be extended to support:

The following sections describe each of these topics and where to find more information.

1.6.1 Supporting Other External Sources and Other Audio, Image, and Video Data Formats

For each unique external audio, image, or video data source or each unique audio or video data format that you want to support, you must:

  1. Design your new data source or new audio or video data format.

  2. Implement your new data source or new audio or video data format.

  3. Install your new plug-in in the ORDPLUGINS schema.

  4. Grant EXECUTE privileges on your new plug-in to PUBLIC.

Supporting Other External Sources

To implement your new data source, you must implement the required interfaces in the ORDX_<srcType>_SOURCE package in the ORDPLUGINS schema (where <srcType> represents the name of the new external source type). Use the package body example in Section 7.3.2 as a template to create the package body. Then set the source parameter in the setSourceInformation( ) call to the appropriate source value to indicate to the audio, image, or video object that package ORDPLUG-INS.ORDX_<srcType>_SOURCE is available as a plug-in. Use the ORDPLUG-INS.ORDX_FILE_SOURCE and ORDPLUGINS.ORDX_HTTP_SOURCE packages as guides when you extend support to other external audio, image, or video sources.

See Section 2.4, Section 7.3.1, Section 7.3.2, and Section 7.3.4 for examples and for more information on extending the supported external sources of audio, image, and video data.

Supporting Other Audio and Video Data Formats

To implement your new audio or video data format, you must implement the required interfaces in the ORDPLUGINS.ORDX_<format>_<media> package in the ORDPLUGINS schema (where <format> represents the name of the new audio or video data format and <media> represents the media of the format). Use the ORDPLUGINS.ORDX_DEFAULT_<media> package as a guide when you extend support to other audio or video data formats. Use the package body examples in Section 4.4.2 and Section 6.4.2 as templates to create the audio or video package body, respectively. Then set the new format parameter in the setFormat( ) call to the appropriate format value to indicate to the audio or video object that package ORDPLUGINS.ORDX_<format>_<media> is available as a plug-in.

See Section F.1 and Section F.3 for more information on installing your own format plug-in and running the sample scripts provided.

See Section 2.1.12, Section 2.3.12, Section 4.4.1, and Section 6.4 for examples and for more information on extending the supported audio and video data attributes.

Supporting Other Image Data Formats

Oracle interMedia image supports certain other image formats through the setProperties( ) method for foreign images. This method allows other image formats to be recognized by writing the values supplied to the setProperties( ) method for foreign images to the existing ORDImage data attributes. See "setProperties( ) Method for Foreign Images" in Section 5.3.4 for more information.

1.6.2 Supporting Audio Data Processing

To support audio data processing, that is, the passing of an audio processing command and set of arguments to a format plug-in for processing, use the
processAudioCommand( ) method. This method is available only for user-defined formats.

See "processAudioCommand( ) Method" in Section 4.3.9 and Section 2.1.12 for a description.

1.6.3 Supporting Video Data Processing

To support video data processing, that is, the passing of a command and set of arguments to a format plug-in for processing, use the processVideoCommand( ) method. This method is only available for user-defined formats.

See "processVideoCommand( ) Method" in Section 6.3.9 and Section 2.3.12 for a description.

1.7 Loading Multimedia Data into Oracle8i Using interMedia

Multimedia data can be managed best by the Oracle8i database. Your multimedia data should be loaded into Oracle8i to take advantage of its reliability, scalability, availability, and data management capabilities. To bulk load multimedia data into Oracle8i, you can use:

An advantage of using SQL*Loader is that it is easy to create and test the control file that controls your data loading operation. See Section 8.3 for a description of a sample control file. See Section 8.6 for a description of a sample interMedia benchmark using SQL*Loader and a discussion of the performance results. See also Oracle8i Utilities for more information.

An advantage of using PL/SQL scripts to load your data is that you can use release 8.1.5, 8.1.6, or 8.1.7 to achieve the best load performance for bulk loading vast amounts of multimedia data. See Section 8.3 for a description of a sample PL/SQL multimedia data load script. See Section 8.6 for a description of a sample interMedia benchmark using PL/SQL scripts and stored procedures, and a discussion of the performance results. See also PL/SQL User's Guide and Reference for more information.

Loading Multimedia Data Using Oracle8i interMedia Web Agent and Clipboard

You can also use the Oracle8i interMedia Web Agent feature, the Clipboard, to easily integrate multimedia data into Web and Java applications, and to store, retrieve, and manage multimedia objects, such as audio, video, and image data, in an Oracle8i database server. The Clipboard is useful for individually managing multimedia objects by allowing you to:

Using the Clipboard, you can also:

You can use the drag-and-drop features of the Clipboard with many authoring tools, such as Microsoft Word, Microsoft FrontPage and Symantec Visual Page. When you drag-and-drop multimedia objects from a database into a Web authoring tool, the Clipboard generates the necessary URLs to retrieve the object from the database.

See Using Oracle8i interMedia with the Web for more information.

The Clipboard can be downloaded from the Oracle interMedia Utilities and Plugins section of the Oracle Technology Network Web site:

http://technet.oracle.com/

Loading Multimedia Data Using Oracle interMedia Annotator Utility

You can use the Oracle interMedia Annotator utility to upload media data and an associated annotation into an Oracle8i database where Oracle interMedia is installed. Annotator does this using an Oracle PL/SQL Upload Template, which contains both PL/SQL calls and Annotator-specific keywords.

Advanced users with PL/SQL experience can create their own PL/SQL Upload Templates in a text editor. Novice users can use the PL/SQL Template Wizard, which is a graphical user interface that progresses through each step of PL/SQL Upload Template creation.

With a PL/SQL Upload Template created, you use the Annotator utility to invoke the Upload Annotation window and perform a series of operations, entering user name, password, service name, and the path to the PL/SQL Template Folder and file specification for your PL/SQL Upload Template.

See Chapter 5 "Uploading Structured Annotations into a Database" in Oracle interMedia Annotator Utility User's Guide for more information.

Oracle interMedia Annotator can be downloaded from the Oracle interMedia Utilities and Plugins section of the Oracle Technology Network Web site:

http://technet.oracle.com/

1.8 Reading Data from a LOB

LOB read tests were conducted with:

A benchmark measured the performance of an Oracle-based system in a setting modeling a real-life audio server application. See Section 8.7 for a description of the PL/SQL script used to read LOBs from the database. See Section 8.8 for a description of the LOB-read benchmark tests and the results of these tests.

1.9 interMedia Architecture

Oracle interMedia is a single, integrated product that extends Oracle8i by offering services to store, manage, and retrieve image, audio, video, and text data, document search services, support for Web technologies, and annotation services for multimedia data.

The interMedia architecture provides a set of services and features (see Figure 1-1) that provides a framework on which media-rich content as well as traditional data are supported in the database. This content and data can then be securely shared across multiple applications written with popular languages and tools, easily managed and administered by relational database management and administration technologies, and offered on a scalable server that supports thousands of users.

Figure 1-1 interMedia ArchitectureText description of imarch.gif follows.
Text description of the illustration imarch.gif

Table 1-1 describes the interMedia services and features for specified operating systems and releases of Oracle8i.

Table 1-1 interMedia Services and Features -- Supported Systems and Oracle8i Releases  
Form of
DistributionFoot 1
 
interMedia
Services and Features
 
Operating Systems and PlatformsFoot 2  Release 
    Solaris  Linux  Windows NT  Macintosh  8.1.5  8.1.6  8.1.7 

CD-ROM 

Audio, Image, & Video server-side 

-- 

CD-ROM 

Audio, Image, & Video Java client 

-- 

CD-ROM 

Text 

-- 

OTN 

Web AgentFoot 3 

-- 

OTN 

Clipboard 

-- 

-- 

-- 

OTN 

Annotator utility 

-- 

-- 

X (MacOS 8.6) 

OTN 

MediaFinder 

-- 

-- 

OTN 

Plug-in for RealNetworks G2 Streaming Server 

-- 

OTN 

Plug-in for Macromedia Dreamweaver 2 

-- 

-- 

-- 

CD-ROM 

Locator 

-- 

CD-ROM 

Generic Geocoding
interfaceFoot 4 

-- 

-- 

OTN 

Custom DataSource and DataSink for JMF 2.0Foot 5 

-- 

-- 

OTN 

BFILE and BLOB Stream Adaptors for JAI 

 

-- 

-- 

Foot 1 Oracle software is distributed from CD-ROM or OTN -- Oracle Technology Network Web site:
http://technet.oracle.com/

Foot 2 interMedia server and client software are available on many other platforms; the platforms shown in this table describe only the ones on which the respective interMedia services and features listed are known to run.
Foot 3 Works with the following Web servers: Oracle Application Server, Apache Web Server, Microsoft Internet Information Server, or Sun/Netscape Alliance Web servers: iPlanet Web Server, Netscape Enterprise Server, or Netscape FastTrack Server.
Foot 4 Generic geocoding client written in Java, is embedded in Oracle8i database as a JSP, and published using PL/SQL interface.
Foot 5 Requires JMF V2.0, Oracle JDBC 8.1.5 or later. JDK version 1.1.x.

Section 1.9.1, Section 1.9.2, Section 1.9.3, and Section 1.9.4 describe these interMedia services and features that comprise the interMedia product.

1.9.1 interMedia Text Services

Oracle8i interMedia Text provides a truly fourth-generation text engine that is unmatched by other database or text management vendors. It is fully integrated into Oracle8i and enables application developers to transparently include powerful text searching capabilities into their SQL-based applications.

Oracle8i interMedia Text lets you build a text query application that provides search, retrieval, and viewing capabilities for text. It lets you deliver powerful, content-based retrieval on free text using industry-standard, classical, full text search features. These text search features include: exact word or phrase matching, Boolean, wild card, fuzzy matching, proximity, section searching, stemming, stop words, case sensitivity, thesaurus expansion, and search scoring. In addition, it uses advanced capabilities that include themes, rendering, filtering, and gists. Oracle8i interMedia Text is integrated with the database to fully utilize SQL, PL/SQL, Oracle Enterprise Manager, and SQL*Loader. It is extensible so you can add custom words and phrases to the Linguistics Knowledge Base. These text-retrieval capabilities are fundamental to Web applications, and any other applications storing and searching text.

Oracle8i interMedia Text indexes any documents or textual content to deliver fast, accurate retrieval of information in multiple languages from:

Oracle8i interMedia Text is easy to use by providing a single SQL API for all structured and text queries, and a single point of administration for applications. It is fast and scalable by utilizing kernel integration for database scalability, and uses a cost-based optimizer for optimum performance. It utilizes powerful text search features including full-text search for complete control, and about search for syntax-free, precise search and recall.

In addition, interMedia Text provides concept searching and theme analysis of English language documents.

To index and query, you use standard SQL with a domain index of type context. You can also use the supplied interMedia Text PL/SQL packages for advanced features such as document presentation and thesaurus maintenance.

Oracle8i interMedia Text uses a specific mechanism for processing text with the final result being an inverted index, which is a list of the words from the document with each word having a list of documents in which it appears. This process is like a pipeline; it begins with the datastore stage, then the filter stage, the sectioner stage, and finally the lexer stage, with options being available at each stage of this pipeline.

The datastore stage considers where the text is stored: within a database, in a file system managed by the database, as a URL datastore that allows a database to manage documents stored remotely on other servers, and accessed using HTTP or FTP.

The filter stage considers the format of the source text document. Oracle8i interMedia Text has filters for more than 150 file formats to convert the original source document into an HTML format while maintaining the integrity of the document with such things as headings, titles, and so forth. Application developers can easily replace the filter module with their own custom-built filter or with a third-party filter to add support for a document type.

The sectioner stage is responsible for identifying the containing sections for each text unit as predefined HTML or XML sections. XML documents are supported if they have custom attributes specified in inline DTDs (document type definitions). Enhanced XML support includes indexing and searching attribute text, using nest within for sophisticated queries, and support for doctype-limited tag detection. The set supplied with the sectioner recognizes standard XML and HTML sections, and automatically indexes the text as part of these sections. Application developers can define a simple mapping to give each section a name of their choice. Paragraphs and sentences within text are intelligently recognized to allow, for example two words to be found only where they both exist within the same paragraph.

The lexer stage is responsible for separating the text the sectioner produces into words or tokens, removing any stop words that are specified from a list, and adding any additional lexer preferences, for example, for handling contractions. The result is a final set of words that will be indexed. For European languages, base letter conversion, alternate spellings, and compound word processing are all supported. For multibyte languages, special lexers are available for Chinese, Japanese, and Korean texts to decide how to index groups of characters.

To build a query application, you must understand the roles for system administrators (CTXSYS role) and application developers (CTXAPP role) associated with interMedia Text.

The general steps for building a query application are the following:

  1. Load the documents using the SQL INSERT statement, ctxload executable, SQL*Loader, DBMS_LOB.LOADFROMFILE( ) PL/SQL procedure to load LOBs from BFILEs, or Oracle Call Interface. By default, the system expects your documents to be loaded in a text column of one of the following data types: VARCHAR2, CLOB, BLOB, CHAR, or BFILE.

  2. Index the documents using the standard SQL CREATE INDEX statement on the text column in which the indextype is always ctxsys.context.

  3. Issue two types of queries, an exact word or phrase query or an ABOUT query, using the CONTAINS operator in a standard SQL SELECT statement. ABOUT queries increase the number of relevant documents returned by a query. In English, ABOUT queries can use the theme component of the index, which is created by default, and return documents based on the concepts of your query, not only the exact word or phrase you specify.

  4. Present the documents that satisfy a query. Documents can be rendered in a number of different ways, such as present plain text or HTML documents with query terms highlighted, highlighted offset, or not highlighted, and so forth.

Oracle8i interMedia Text can be called from any application that has a SQL interface through an intermediate protocol such as ODBC, or directly using embedded SQL calls. Application developers can develop interMedia Text applications that integrate into applications that use Oracle Application Web Server or any other Web servers that are supported by Oracle interMedia Web Agent, CGI programs (perhaps using ODBC or OCI as the database interface), or through other proprietary callout mechanisms.

See Oracle8i interMedia Text Reference for details on building a text query application.

1.9.2 Annotation Services for Multimedia Data

Annotation services are essential for constructing and operating a media archive. In the sections that follow, the interMedia Annotator utility and a MediaFinder sample application are described. An annotation utility shows how content and format properties can be extracted from media data, collected as an annotation, stored in the database, and queried to locate media data based on the annotation's content. MediaFinder is a sample application that demonstrates how to build a media library.

interMedia Annotator Utility

Oracle interMedia Annotator utility makes it easy to store and search for rich media content in Oracle8i. Annotator is essential for constructing and operating a media archive. Oracle interMedia Annotator utility extracts content and format attributes from media sources (image, audio, and video files, audio CD, and URLs), and organizes the attributes into an XML formatted annotation. It lets you customize annotations to further describe the data, loads the annotation and the media data into Oracle8i, and automatically indexes the annotation for powerful full text and thematic media searches using interMedia Text services. Thus, the database can be queried to locate the media data based on the annotation's content.

See Oracle interMedia Annotator User's Guide for more information. interMedia Annotator utility can be downloaded from the Oracle interMedia Utilities and Plugins section of the Oracle Technology Network Web site:

http://technet.oracle.com/

MediaFinder - a Sample Application That Uses Oracle interMedia Annotator Utility

MediaFinder is a sample application that demonstrates how to build a media library by using Oracle interMedia components. The open source code is provided to assist developers in building their own applications.

MediaFinder is an application that uses Oracle interMedia to let you search a video library built using Oracle interMedia Annotator. MediaFinder allows searching by movie title or by keyword, retrieving movie annotation information along with the video clip, and launching QuickTime to play the video. QuickTime is streamed by the Oracle interMedia Plug-in for Apple QuickTime Streaming Server from the Oracle database. During a keyword search that will result in text sample matches, MediaFinder will locate the point where the match occurred, and allow you to start the playback from that point.

With the Apple QuickTime-For-Java library, interMedia Annotator can extract video frames as well as the text-track samples from the specified QuickTime movie. Consequently, MediaFinder can enrich the result set of your keyword search by retrieving the video frame that is closest to the matching text sample by means of timestamp comparisons.

MediaFinder uses interMedia Text services to perform a text search against an XML document as well as a plain text string. For more information, refer to the Oracle interMedia information provided on the Oracle Technology Network Web site:

http://technet.oracle.com/

MediaFinder also uses Oracle interMedia image and video objects for the storage of images and video in the Oracle8i database.

MediaFinder has a graphical user interface that allows you to use a Web interface to search a video library for a specific text sample, and retrieve the video frames associated with each text sample.

See "MediaFinder" - a Sample Application That Uses Oracle interMedia Annotator Utility Readme for Installation, Configuration, and Use for more information. The
MediaFinder sample application can be downloaded from the Oracle interMedia Utilities and Plugins section of the Oracle Technology Network Web site:

http://technet.oracle.com/

1.9.3 Streaming Content from an Oracle Database

You can stream content stored in an Oracle database using an Oracle interMedia plug-in that supports the streaming server, and deliver this content for play on a client that uses the browser-supported streaming player.

Oracle interMedia Plug-in for RealNetworks G2 Streaming Server

Oracle interMedia Plug-in for RealNetworks G2 Streaming Server allows RealServer G2 to stream multimedia data to a client directly out of the Oracle8i database. This plug-in is installed in RealServer G2 and defined in the RealServer G2 configuration file. The data is requested with a URL, which contains information necessary to select the multimedia data from the database.

For information on RealNetwork RealServer G2 Streaming Server, see the following URL:

http://www.real.com/

See Oracle interMedia Plug-in for RealNetworks G2 Streaming Server Readme for Installation and Configuration for more information. The Oracle interMedia Plug-in for RealNetworks G2 Streaming Server can be downloaded from the Oracle interMedia Utilities and Plugins section of the Oracle Technology Network Web site:

http://technet.oracle.com/

1.9.4 Support for Web Technologies

Using interMedia support for Web technologies, you can easily integrate multimedia data into Web and Java applications. You can store, retrieve, and manage rich media content in an Oracle8i database, and decode URLs to retrieve multimedia object data for use by popular Web authoring tools, and display in a Web browser.

Oracle8i interMedia Web Agent

interMedia Web Agent is a plug-in for Oracle Application Server.

Oracle8i interMedia Web Agent is implemented as:

interMedia Web Agent decodes database URLs to retrieve multimedia object data for display in a Web browser, or for other handling. The Web Agent returns the MIME type, content length, and content of the object to the Web application for display by a Web browser.

interMedia Web Agent consists of the Web Agent itself and an administrative component. It is available for the Windows NT, Linux, and Solaris platforms.

See Using Oracle8i interMedia with the Web for more information. Oracle8i interMedia Web Agent can be downloaded from the Oracle interMedia Utilities and Plugins section of the Oracle Technology Network Web site:

http://technet.oracle.com/

Oracle8i interMedia Web Agent and Clipboard Features

You can also use the Clipboard features of interMedia Web Agent to easily integrate multimedia data into Web and Java applications, and to store, retrieve, and manage multimedia objects, such as audio, video, and image data, in an Oracle8i database server. See Section 1.7 for a complete description of the Clipboard.

See Using Oracle8i interMedia with the Web for more information.

The Clipboard can be downloaded from the Oracle interMedia Utilities and Plugins section of the Oracle Technology Network Web site:

http://technet.oracle.com/

Oracle interMedia Plug-in for Macromedia Dreamweaver

Oracle interMedia Plug-in for Macromedia Dreamweaver allows a Dreamweaver user to retrieve interMedia multimedia object data directly from the Oracle8i database, insert it into a Dreamweaver Web document, and then, display it using a Web browser. Oracle8i interMedia Web Agent returns the MIME type, content length, and content of the multimedia object. This extension is installed in Dreamweaver and defined in the Dreamweaver 2 configuration directory.

For information on Macromedia Dreamweaver, see the following URL:

http://www.macromedia.com/

See Oracle interMedia Dreamweaver Extension Readme for Installation, Configuration, and Use for more information. The Oracle interMedia Dreamweaver Extension Plug-in can be downloaded from the Oracle interMedia Utilities and Plugins section of the Oracle Technology Network Web site:

http://technet.oracle.com/

1.9.5 Geocoding Services

Geocoding represents addresses and locations of interest (postal codes, demographic regions, and so forth) as geometric factors (points). These enable distances to be calculated and sites to be represented graphically in Web, data warehousing, customer information system, and enterprise resource planning applications.
Geocoding services can be used to add the exact location (latitude and longitude) of points of interest to existing data files stored in Oracle8i.

A geocoding service is used for converting tables of address data into standardized address, location, and possibly other data.

Oracle interMedia Locator

Oracle interMedia Locator is an Internet-ready tool developed exclusively to support standalone and online geocoding and Internet mapping requirements. Geocoded business information provides a necessary step in cleansing, enhancing, and visualizing customer records. Such information is proving vital in data warehousing, customer information systems, electronic commerce, and enterprise resource planning. In addition to geocoding support, Oracle interMedia Locator provides the technology that enables the deployment of simple, easy-to-use Internet-based mapping applications.

Oracle interMedia Locator enables Oracle8i to support online internet-based
geocoding facilities for locator applications and proximity queries.

Oracle interMedia Locator supports the leading online and batch geocoding services including MapXtreme from MapInfo Corporation, Centrus from Qualitative Marketing Software, MapQuest destination information solutions from MapQuest.com ("MapQuest"), and GeoZip from whereonearth.com Ltd.

MapInfo Corporation, Qualitative Marketing Software, MapQuest.com, and whereonearth.com currently provide the online and batch geocoding services for the Locator features. Each service offers a number of free geocoding calls at its Web site for trial purposes for online geocoding, and geocoding service software for batch geocoding. Locator users need to consent to the vendor policies and possibly register with them:

MapInfo Corporation: http://www.MapMarker.com/

Qualitative Marketing Software: http://www.centrus-software.com/oracle/

MapQuest.com: http://www.mapquest.com/

whereonearth.com: http://www.whereonearth.com/

During registration for online geocoding services, you are asked to create your own user ID and password. Please make a note of them for embedding into your sample geocoding service because the user ID/password combination is required for each geocoding call. Your free account is limited to a small number of address records per day.

Should you require the ability to geocode larger data sets, or for further information, contact:

These companies' Web sites will also have detailed documentation about the vendor-specific parameter information of the Locator features, such as match code or error code. Because Oracle provides an interface to facilitate the geocoding functions, you should contact the vendors with your questions.

See Oracle interMedia Locator Release Notes (ORACLE_HOME/md/doc/README.txt) for additional information about the geocoding services provided by these Oracle partners.

Oracle interMedia Locator also supports server-based geocoding and data scrubbing operations for data warehouse applications.

Using simple location queries, Oracle interMedia Locator allows Web and other applications to retrieve information based on distance. For example, using a set of geocoded address data and simple query-by-text or query-by-map operations, users can use a Web browser-based application, enter a distance, and identify the nearest location from a specific address or reference point on a map. For example, Oracle interMedia Locator applications can help you locate stores, offices, distribution points, and other points of interest based on their distance from a given postal (zip) code, address, or other reference point.

See Oracle interMedia Locator User's Guide and Reference for more information.

These features enable database designers to extend existing application databases with geocoded, spatial-point data, or to build new geocoded spatial-point applications. Web application developers can build specialized Web-enabled interMedia Locator applications.

Oracle interMedia Locator is Web-based and requests are formatted in HTTP. Thus, each request in SQL must contain the URL of the Web site, proxy for the firewall (if any), and user account information on the service provider's Web site. An HTTP approach potentially limits the utility or practicality of the service when dealing with large tables or undertaking frequent updates to the base address information. In such situations, it is preferable to use a batch geocoding service made available within an Intranet or local area network. The next section describes the interface for a facility that potentially contains this existing Oracle interMedia Locator HTTP-based solution.

Generic Geocoding Interface

A generic geocoding interface is available with Oracle Spatial for 8.1.6. This is a generic interface to third-party geocoding software that lets users geocode their address information stored in database tables, standardized addresses, and corresponding location information as instances of predefined object types. This interface is part of the geocoding framework in Oracle Spatial for 8.1.6 and Oracle interMedia Locator.

This generic geocoding interface describes a set of interfaces and metadata schema that enables geocoding of an entire address table, or a single row. It also describes the procedures for inserting or updating standardized address and spatial data into another table (or the same table). The third-party geocoding service is assumed to have been installed on a local network and to be accessible through standard communication protocols such as sockets or HTTP.

The generic geocoding client is written in Java and embedded in the Oracle8i database as a Java stored procedure (JSP). A fast, scalable, highly available, and secure Java Virtual Machine (Java VM or JVM) is integrated in the Oracle8i database server. The Java VM provides an ideal platform for enterprise applications written in Java as JSPs, Enterprise Java Beans (EJBs), or Java Methods of Oracle8i object types.

JSPs are published using the PL/SQL interface; thus, the generic geocoding interface can be compatible with existing Locator APIs.

The stored procedures have an interface, oracle.spatial.geocoder, that must be implemented by each vendor whose geocoder is integrated with Oracle Spatial and interMedia Locator. The procedures also require certain object types to be defined and metadata tables to be populated. The object types, metadata schema, and geocoder interface are described in Oracle interMedia Locator User's Guide and Reference and Appendix C of Oracle Spatial User's Guide and Reference.


Go to previous page Go to next page
Oracle
Copyright © 1996-2000, Oracle Corporation.

All Rights Reserved.

Library

Product

Contents

Index