http:^^www.cs.cornell.edu^info^projects^zeno^rivl^rivl.html
来自「This data set contains WWW-pages collect」· HTML 代码 · 共 343 行 · 第 1/3 页
HTML
343 行
MIME-Version: 1.0
Server: CERN/3.0
Date: Sunday, 01-Dec-96 18:48:29 GMT
Content-Type: text/html
Content-Length: 34803
Last-Modified: Monday, 18-Mar-96 00:39:16 GMT
<HTML><TITLE>A Resolution Independent Video Language</TITLE><BODY>
<b> ACM Multimedia 95 - Electronic Proceedings <br>
November 5-9, 1995 <br> San Francisco, California</b>
<!-- Place an horizontal line. -->
<HR>
<H1>A Resolution Independent Video Language*</A></H1><DL><DT><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><!WA0><a href="http://www.cs.cornell.edu/Info/People/swartz/swartz.html">Jonathan Swartz</a><DT> <DD>Department of Computer Science <DD>4130 Upson Hall <DD>Cornell University <DD>Ithaca, NY 14853-7501 US <DD>swartz@cs.cornell.edu<P><DT><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><!WA1><a href="http://www.cs.cornell.edu/Info/Faculty/Brian_Smith.html">Brian C. Smith</a><DT> <DD>Department of Computer Science <DD>4130 Upson Hall <DD>Cornell University <DD>Ithaca, NY 14853-7501 US <DD>bsmith@cs.cornell.edu</dl><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><!WA2><a href="http://www.cs.cornell.edu/Info/Projects/zeno/rivl/rivl.html">http://www.cs.cornell.edu/Info/Projects/zeno/rivl/rivl.html</a><p>* This work is supported by funding for the Xerox Design ResearchInstitute and the US Air Force, under contract F49620-94-1-0198<p><hr><!-- Place here link to ACM Copyright Notice. -->
<H4> <!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><!WA3><A HREF="http://www.cs.cornell.edu/Info/Projects/zeno/rivl/acmcopyright.html">
ACM Copyright Notice </A> </H4>
<hr><H2><A NAME="toc">Table of Contents</A></H2><UL><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><!WA4><A HREF="http://www.cs.cornell.edu/Info/Projects/zeno/rivl/mm-95.html#HDR1"><B>ABSTRACT</B></A><BR><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><!WA5><A HREF="http://www.cs.cornell.edu/Info/Projects/zeno/rivl/mm-95.html#HDR2"><B>1. INTRODUCTION</B></A><BR><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><!WA6><A HREF="http://www.cs.cornell.edu/Info/Projects/zeno/rivl/mm-95.html#HDR3"><B>2. THE RIVL LANGUAGE</B></A><UL><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><!WA7><A HREF="http://www.cs.cornell.edu/Info/Projects/zeno/rivl/mm-95.html#HDR4">2. 1. Image Operations</A><BR><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><!WA8><A HREF="http://www.cs.cornell.edu/Info/Projects/zeno/rivl/mm-95.html#HDR5">2. 2. Sequence Operations</A></UL><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><!WA9><A HREF="http://www.cs.cornell.edu/Info/Projects/zeno/rivl/mm-95.html#HDR6"><B>3. THE RIVL INTERPRETER</B></A><UL><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><!WA10><A HREF="http://www.cs.cornell.edu/Info/Projects/zeno/rivl/mm-95.html#HDR7">3. 1 Implementation of Image Computing</A><BR><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><!WA11><A HREF="http://www.cs.cornell.edu/Info/Projects/zeno/rivl/mm-95.html#HDR8">3. 2 Implementation of Sequences</A><BR><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><!WA12><A HREF="http://www.cs.cornell.edu/Info/Projects/zeno/rivl/mm-95.html#HDR9">3. 3 Memory Management</A></UL><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><!WA13><A HREF="http://www.cs.cornell.edu/Info/Projects/zeno/rivl/mm-95.html#HDR10"><B>4. RELATED AND FUTURE WORK</B></A><BR><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><!WA14><A HREF="http://www.cs.cornell.edu/Info/Projects/zeno/rivl/mm-95.html#HDR11"><B>5. REFERENCES</B></A></UL><HR><!-- This file was created with the fm2html filter.The filter is copyright Norwegian Telecom Research and was programmed by Jon Stephenson von Tetzchner. --><H2><A NAME="HDR1">Abstract</A></H2>As common as video processing is, programmers still implement video programs as manipulations of arrays of pixels. This paper presents a language extension called Rivl (pronounced "rival") where video is a first class data type. Programs in Rivl use high level operators that are independent of video resolution and format, increasing a program's portability, simplifying code reuse, and reducing development time. This paper also describes a Rivl interpreter and the strategies the interpreter uses to optimize Rivl programs. These optimizations include classical programming language optimizations, such as common subexpression elimination and out of order execution, image and video specific optimizations, such as computing only those images that will affect the output, and an optimized memory manager.<p><H2><A NAME="HDR2">1. Introduction</A></H2>In order to support the development of multimedia applications, programming languages should include audio, video, and images as true data types just as characters, text, and numerical values are true data types in today's languages. The operators in a multimedia language should be format independent, so that video and images of different formats can be easily intermixed, like integers and floating point numbers in most modern programming languages. The operators in a multimedia language should be resolution independent, so that high or low resolution input data produces better or worse results, just like single and double precision floating point numbers produce more or less accurate results in numeric computations. Platform independence and code reuse will be a useful side effect of multimedia programming languages, and just as optimizing and parallel compilers can take existing programs and make them run faster, so optimizing multimedia compilers will speed up multimedia programs.<p>Rivl (pronounced "rival") is a language extension and optimizing system designed with these goals in mind. Rivl provides a video data type and video operators that are format and resolution independent. Format independence means that MPEG<!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><!WA15><A HREF="http://www.cs.cornell.edu/Info/Projects/zeno/rivl/mm-95.html#REF21336">[5]</A> video can be freely intermixed with JPEG<!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><!WA16><A HREF="http://www.cs.cornell.edu/Info/Projects/zeno/rivl/mm-95.html#REF68172">[7]</A>, Postscript<!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><!WA17><A HREF="http://www.cs.cornell.edu/Info/Projects/zeno/rivl/mm-95.html#REF59020">[9]</A>, and uncompressed images. Resolution independence means that operations in Rivl (e.g., "cut the first five seconds of the video clip") are well defined whether the film resolution is 16 or 30 frames per second or the image size is 100x75 or 4000x3000. These features relieve the programmer of tedious, low level details and allow a runtime system to execute a Rivl program quickly on low resolution data for crude output (e.g., for prototyping or debugging) and slowly on high resolution data for more refined output.<p>Rivl's approach to video manipulation has significant advantages over current approaches:<p><UL><LI>Rivl programs are easier to read, write, and maintain than their low-level counterparts.<BR><LI>Rivl code is platform independent.<BR><LI>Rivl expresses video and image editing operations in a format and resolution independent way.<BR><LI>Rivl separates the description of video operations from their implementation, allowing the Rivl runtime system to improve the execution efficiency of Rivl programs.<BR></UL>We have implemented an interpreter for Rivl as an extension to the Tcl language <!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><!WA18><A HREF="http://www.cs.cornell.edu/Info/Projects/zeno/rivl/mm-95.html#REF53096">[11]</A>, an approach that allows us to easily embed Rivl in other applications. This paper describes the design and implementation of the Rivl language, the Rivl interpreter, and its optimizer. The rest of the paper is organized as follows. Section 2 illustrates the Rivl language through a series of examples. Section 3 discusses the Rivl interpreter and how it optimizes image and video operations. Section 4 reviews related work, and concludes with current status and future research directions.<p><H5><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><!WA19><A HREF="#toc"><-- Table of Contents</A></H5><H2><A NAME="HDR3">2. The Rivl Language</A></H2>This section illustrates Rivl programs through a series of examples. Since Rivl is an extension of Tcl, Rivl programs have access to all the primitives of the Tcl language. Rivl extends Tcl with two data types: images<!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><!WA20><A HREF="http://www.cs.cornell.edu/Info/Projects/zeno/rivl/mm-95.html#FN1">(1)</A>, which represent still images, and sequences, which represent video segments (a timestamped set of images).<p>Table 1 lists some of the Rivl primitives for manipulating images and sequences. The table is divided into five classes:<p><UL><LI>Input/output. Currently supported formats include pgm/ppm[<!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><!WA21><A HREF="http://www.cs.cornell.edu/Info/Projects/zeno/rivl/mm-95.html#REF31620">8</A>], JPEG[<!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><!WA22><A HREF="http://www.cs.cornell.edu/Info/Projects/zeno/rivl/mm-95.html#REF68172">7</A>], MPEG[<!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><!WA23><A HREF="http://www.cs.cornell.edu/Info/Projects/zeno/rivl/mm-95.html#REF21336">5</A>], and Postscript[<!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><!WA24><A HREF="http://www.cs.cornell.edu/Info/Projects/zeno/rivl/mm-95.html#REF59020">9</A>]. <BR><LI>Geometric. The image operations in this class move and resize the image; the sequence operations speed up, slow down, and temporally shift the sequences.<BR>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?