John F. McGowan, Ph.D.

Video Engineer

E-Mail: jmcgowan@veriomail.com Web Page: http://www.jmcgowan.com/

Services Offered:

Multimedia: MPEG-1, MPEG-2, MPEG-4, Dolby Digital (AC-3), JPEG, Independent JPEG Group’s (IJG) JPEG software, DVD, VideoCD

Image and Signal Processing: Models of Human Visual System, Infinite Impulse Response (IIR) Filters, Discrete Cosine Transform, Fast Fourier Transform, Edge Detection Algorithms, Wavelets, Pattern Recognition

GUI/Graphics: MS Windows C API (Petzold), Microsoft MCI, X Window System ( X11R5 and X11R6 ), Motif, XView, Xlib, PHIGS, PEX-SI, InterViews 3.1, PostScript, User Interface Design, 2D/3D Graphics

Operating Systems: Windows NT 4.0 and 3.51, Windows 95/98, MS Windows for Workgroups 3.11, MS Windows 3.1, MS-DOS, UNIX ( Linux, AIX, SunOS, SGI ), VMS, VM/XA

Computer Languages: C++, C, Perl, Java, FORTRAN, Mathematica, awk, Rexx, BASIC, PASCAL, MIPS Assembler

Database: Sybase SQL Server, SQL language, Microsoft Access, FoxPro, sybperl

Word Processing and Typesetting: Microsoft Word for Windows, emacs, vi, TeX, LaTeX

Networking/Communications: TCP/IP, HTML, NNTP, RS-232 Serial Communications, Cellular Telephony

Other Computer: Structured Analysis, Structured Design, Real-time software, UNIX C shell, UNIX Bourne Shell

Mathematics: Linear Algebra, Analytic Geometry, Discrete Cosine Transform, Calculus, Ordinary and Partial Differential Equations, Statistics, Mathematical Modeling Methods, Curve and Function Fitting, Non-Linear Optimization Methods, Maximum Likelihood Methods

Physics: Kinematics, Classical Mechanics, Classical Electrodynamics, Physics of Electrons, X-rays, Gamma Rays, Neutrons, and Protons. Design, construction, and operation of Multi Wire Proportional Chambers, also known as Drift Chambers. EGS4 Electron Gamma Shower Simulation Software

Education:

Ph.D., Physics 1993

University of Illinois at Urbana-Champaign

B.S., Physics 1985

California Institute of Technology

Experience:

Technical Lead, Desktop Video Expert Center (July 1998-Present)

Raytheon/NASA Ames Research Center

The Vision Science and Technology Group at NASA Ames Research Center has developed an algorithm known as DVQ, an abbreviation for Digital Video Quality, to estimate the quality of compressed digital video using a model of the human visual system. Designed, coded, and optimized a portable ANSI C implementation of the DVQ algorithm that runs on Windows NT, SGI, and Macintosh platforms. This program was submitted to the International Telecommunication Union (ITU)’s Video Quality Experts Group (VQEG) competition for a digital video quality metric standard on August 7, 1998.

Added additional features, improved the user interface, and optimized the ANSI C implementation of DVQ for subsequent research and development including further participation in VQEG. Designed and developed Hypertext Markup Language (HTML) web pages and Common Gateway Interface (CGI) Perl scripts for a system to submit DVQ batch jobs to SGI Origin 2000 supercomputer at NASA Ames to analyze several hundred test video sequences used by VQEG. Performed system administration tasks for the SGI computers used for the DVQ research including administration of an Apache HTTP server.

Prepared an in-depth study for NASA Ames Research Center of a video system for a proposed NASA Mars Airplane to fly down the Valles Marineris canyon on the planet Mars including power, weight, volume, bit rate, and bit error rate requirements for the system using MPEG digital video technology. Presentations of this work have been made at the Second International Convention of the Mars Society (University of Colorado at Boulder, August 12-15, 1999) and the 1999 International Symposium on Space Communications and Navigation Technologies sponsored by the Jet Propulsion Laboratory (Pasadena, California, September 21-23, 1999). A paper is forthcoming in the proceedings of the Mars Society Convention.

Conducted some research into ways to use mobile probes such as airplanes, balloons, or rovers to seek past or present life on Mars. These probes are ideal platforms for video systems. Presented a paper on these ideas, "Oil and natural gas on Mars", to the Instruments, Methods, and Missions for Astrobiology III conference, part of the 45th Annual Meeting of the SPIE, San Diego, California, August 1-2, 2000.

Investigated the feasibility of radiation hardened video compression systems for missions to Mars and other space missions. Demonstrated that MPEG-1 and MPEG-2 video encoders can be fabricated in one chip or a few chips using state-of-the-art radiation hardened CMOS semiconductor processes such as Honeywell RICMOS-V. Presented a paper on this, "Real-Time Television Quality Full Motion Video for Mars Missions", at the Third International Mars Society Convention, August 10-13, 2000, Toronto, Ontario, Canada.

Designed and implemented an ANSI C implementation of the Spatial Standard Observer (SSO), a visual quality model for still images. Ported Mathematica prototype of SSO from Power Macintosh to Windows NT. Developed C code for SSO using FFTW (Fastest Fourier Transform in the West) that compiles and reproduces Mathematica prototype under Microsoft Visual C/C++ under Windows NT, GNU C/C++ on Sun workstation, and Metrowerks CodeWarrior on Power Macintosh..

Conducted research into low bitrate video coding including the Discrete Wavelet Transform, H.263, and MPEG-4. Miscellaneous system administration and network engineering for Windows NT 4.0 Server, Windows 95, and Silicon Graphics computers in Desktop Video lab.

Technical Lead, Desktop Video Expert Center (Jan. 1997 – June 1998)

Sterling Software/NASA Ames Research Center

The Vision Science and Technology Group at NASA Ames Research Center has a patented technology known as DCTune (U.S. Patent 5,426,512) to improve JPEG still image compression by determining the best quantization matrices for specified viewing conditions based on a psychovisual model. DCTune was implemented as a Mathematica prototype. Mathematica is a slow interpreted symbolic manipulation language.

Working with the Vision Group, designed and coded a strict ANSI C implementation of DCTune that compiles and runs on PC/Windows 95/NT (Visual C/C++), PowerMacintosh (CodeWarrior), and Unix (GNU C/C++) computers. The C language DCTune reads Portable Pixmap (PPM) images and outputs perceptually optimized JPEG images. See http://vision.arc.nasa.gov/dctune/dctune2.0.html for further information and downloadable binary executables.

Software Engineer/Project Manager

(Jan., 1995 - Oct., 1996)

CompCore Multimedia Inc.

Note: CompCore was acquired by Zoran Corporation in early 1997.

Designed and coded user interface called CD Vision modelled on VCR remote control to play MPEG-1 audio/video files, CD-I, and Video CD CD-ROMs on PC’s running Windows 3.1 and Windows 95. CD Vision supports the Video CD 2.0 standard. CD Vision is written in C and C++, using Windows C language API for windowing and C++ for internal data structures. CD Vision uses the Microsoft MCI interface to communicate with the SoftPEG MPEG-1 decoder. Worked with graphic artist on layout and visual appearance of bitmap used in CD Vision.

CD Vision is shipping software, resold in Japan as SoftPEG ‘96 by R and D Products. It is resold by Kasan in Korea. It is also shipped by Digital Hollywood in the United States.

Wrote CompCore’s SoftDVD MPEG-2 Audio/Video Player for Pentium PC.

SoftDVD was demonstrated at the Intel Internet Media Symposium on July 24, 1996 playing MPEG-2 version of movie trailer for "Waterworld" in real-time with 5.1 channel Dolby Digital (AC-3) surround sound on a Pentium PC with MMX instructions.

Identified and implemented a more efficient algorithm for the MPEG-1 audio decoding. CompCore’s SoftPEG MPEG-1 Audio/Video Player product uses the new algorithm to provide full 44 Khz sample rate decoding of MPEG-1 audio, something that could not be done with previous algorithm.

SoftPEG is a shipping product, included on Packard Bell PC computers and marketed by several companies under various names.

Ported and optimized the MPEG-1 decoder to Power Macintosh using CodeWarrior C compiler, to MIPS and PowerPC based Windows NT platforms using Microsoft C, to the Sun and MIPS based Unix systems using GNU C/C++ compiler. Resolved extensive byte-order dependencies in implementation of algorithms, other non-portable C code, and optimized the algorithms for various platforms, achieving 25% speed improvement on MIPS R4400.

Senior Software Engineer (Oct., 1993 - Aug., 1994)

ASCNET Inc.

Performed requirements analysis, designed, implemented, tested, and debugged Cellular Telephone Programming station to program Mobile Identification Number (the cellular telephone number), Electronic Security Number, and other custom information into EEPROM in AMPS cellular telephones over RS232 serial connection. A Microsoft Windows program written in Borland C/C++ comprised most of this project.

Miscellaneous other tasks.

Research Assistant (1987 - 1993)

University of Illinois at Urbana-Champaign (Department of Physics)

( Please note that all of the work described below was done at the Stanford Linear Accelerator Center (SLAC) in Palo Alto, CA where I worked from 1988 to 1993 although employed by the University of Illinois. )

Developed and fit models of subatomic processes to experimental data using statistics and optimization methods.

Performed requirements analysis, designed, developed, tested, and debugged software system to monitor and control high voltage power supplies in real time. System monitored and controlled over 1000 channels of high voltages for a 2000 ton particle physics detector, the Stanford Large Detector (SLD) at SLAC. System operated 24 hours a day for many months. Developed and debugged user interface for this system. System used by wide range of users.

Translated pattern recognition trigger software from FORTRAN to C for data acquisition system. Software to run on embedded 68020's running VRTX real-time kernel. Trigger software told the data acquisition system that an "interesting" event had occurred. In the event of a trigger, full data acquisition was performed. Full data acquisition was time consuming ( 1 second ). Other events were ignored while full data acquisition took place. Only wanted to perform data acquisition when there is interesting data to acquire. Trigger software running on 68020 made decision in a few milliseconds. Decision can be made in microseconds if the pattern recognition algorithm is implemented in hardware.

Other projects as well.

Other: Author on numerous publications. Paid tour guide at SLAC.