rawtektv, Version 1.0: A File Format For Storing Video Sequences
|
|
- Nelson Bridges
- 5 years ago
- Views:
Transcription
1 rawtektv, Version 1.0: A File Format For Storing Video Sequences Todd Brunhoff, TV Test& Measurement Every image processing system recognizes some file format for storing images and their attributes, such as color space and dimensions; and there are many such formats: for example, JPEG, TIFF and GIF. A sequence of images, such as NTSC video, must include other attributes such as frame rate, number of frames and so on. There are a few such formats: MPEG, AVI, QuickTime and a few others. For the PQA 200 product, we needed a simple, uncompressed format that expresses all of attributes of images and sequences plus the ability to add tags that can express measurements associated with individual fields, frames or the entire sequence. This document describes the format of the file, internally known as rawtektv. 1. Overview This file format is very simple because to consists of merely of three components: an ascii file header, a binary header for each frame, and the raw data associated with each frame; hence, the name rawtektv. It is a descriptive format that details the parameters of the sequence and images, including color space, sample rate, interlace style, dimensions, and so on. Essentially, any continuous sequence of multi-channel images can be stored in this format as long as the distance from pixel to pixel and line to line remains constant. Typically, this is true for all uncompressed sequences. Below is a simple representation of the file layout: file header 8192 bytes frame 1 data w*h*d bytes frame N data... per-frame header 4+12*s bytes w: width h: height d: depth (bytes per pixel) s: # of summary tags Figure 1: Diagram of file layout The size of the file can be calculated from the size of the header (8192 bytes) plus the size of all the frame headers and data, the per-frame headers are calculated from the number of summary tags for the sequence (t); the frame data is calculated from the width and height and depth of the frames. All of these numbers are constant for the entire sequence. The following sections describe each of these parts in detail. rawtektv file format 1 Tektronix Proprietery
2 2. File Header The file header is an ascii, parametric description of the sequence, embedded in an 8K byte block. An (abbreviated) example of the header appears below: rawtektv sample=4:2:2 color=yc pixbytes=1 pixbits=8 size=720x486 frames=60 ^L There are a few observations worth making about this example. Note that the header begins with the ascii string rawtektv. This token must appear alone on the first line of the file. The ^L at the end of the file is an ascii control-l, otherwise known as a form-feed. If you have some unix tools available, then you can look at the contents of the file header with the more command and it will stop when it encounters the ^L. This is more convenient than having a special command whose only purpose is to dissect a binary header and print the contents. Also note that all the other entries in the file appear in the form of keyword assignments to variables, such as size=720x486. Remember that this is an abbreviated example. A complete list of keywords and their meanings appear in section Frame Header The frame header is a binary array of triples that record per-frame information such as measurement results. The structure of the header is equivalent to the C-language declaration of Summary below: struct Cell { int fieldtype; int tagtype; float tagvalue; }; struct Summary { int nsummaries; struct Cell cells[ nsummaries ]; }; An experienced C programmer will recognize that it the array declaration is illegal -- you can t declare an array size with anything but a constant, and nsummaries is not a constant. Nevertheless, this is the structure of every frame header. If the keyword summaries appears in the file header, its value is used for nsummaries. This yields the formula for the size of the header from figure 1: 4+12*s, where s is nsummaries. There is one exception to this formula: if nsummaries is zero or missing from the file header, then the size of the frame header is also zero (not four). The values for fieldtype and tagtype are intended for internal use. However, a few interesting values appear in the table below. Any other values are not documented here and can be ignored. Note that the meaning of the values may change at any time. rawtektv file format 2 Tektronix Proprietery
3 Table 1: Tag and Field Types element value meaning tagtype 0 empty; no meaning 23 frame number; the tagvalue is the frame number for the following frame data 26 sequence ID; the tagvalue is the sequence identifier serial number; for example, 1 is the Cheerleader sequence 27 stripe type; if the tagvalue is zero, the sequence is striped with a header-only stripe; if non-zero, the stripe is a header-plus 28 user defined; if the tagvalue is zero, then the sequence is a Tektronix sequence; otherwise it is a user-defined sequence fieldtype 0 empty; this only occurs when tagtype is zero. 3 all of the non-zero tagtypes listed above will have this value 4. Frame Data Depending on the type of sequence described in the file header, the calculation of the size of each frame can range from simple to complex. In general, the size of the frame data is equal to width*height*depth where depth is number of bytes per pixel.the parameter that makes it complex is the sample rate. An RGB image is always 4:4:4 (or 1:1:1 for the math purist) sample rate, meaning that all three channels have the same number of samples. Or to put it another way, every pixel has one red, one green and one blue sample. If the size of each sample is one byte, then the size of the frame is width*height*3. Chroma subsampling achieves a sort of compression by storing fewer samples in the chroma channels than the luma channel. RGB can t have chroma subsampling because all three channels contain both color and lightness. Y/Cr/Cb is used in most video systems and because the luma channel (Y) is separate from the two chroma channels (Cr and Cb) the latter can be subsampled. If you were to take a close look at a pixel grid in a Y/Cr/Cb image, the storage for 4:2:2 sampling would look like: = Y = Cr and Cb Note that every pixel has a Y sample, but that only every two pixels has a Cr and Cb sample. If you consider just the first four pixels in the first row, there are four Y, two Cr and two Cb samples; hence, the term 4:2:2. If the channels are all one-byte samples, then the size of the image is width*height*( ), or more simply width*height*2. A Y/Cr/Cb image, sometimes called YC, can be sampled at 4:4:4, 4:2:2 or 4:2:0. One final twist to the frame data is the relative positioning of the samples, which is specified by pix- rawtektv file format 3 Tektronix Proprietery
4 elinterleave. Mostly this is a subject for the next section, Frame Data Layout, but can affect the size as well. RGB images sometimes store their pixels on 32-bit boundaries. This requires a zero sample at one end or the other: RGB0 or 0RGB. In this case the size of the image is width*height*4. The table below shows how to calculate the most common frame sizes, assuming all channels are one byte wide.: Table 2: How to Calculate Frame Data Size pixel sampling 4:4:4 4:2:2 4:2:0 ABC, CBA, CAB width*height*3 width*height*2 width*height*3/2 pixel Interleave ABC0, 0ABC, CBA0, 0CBA width*height*4 N/A N/A 5. Frame Data Layout The layout of frame data can be arbitrarily complex, but in practice, occurs in a handful of forms. The parameters that control the layout already discussed are width, height, bytes per channel and sampling. Three others, pixelinterleave, interlace and field1mem also affect the image layout. The parameter pixelinterleave, discussed in the previous section, describes the relative placement of one channel with respect to another. The nomenclature used is a simple ABC, where A corresponds to the first channel, B to the second and C the third. An optional zero can be added on either end to express zero-padding. Although the channels can be arranged in a several different ways, only a few are ever used in practice, and only three are used in a file format: ABC, CBA and CAB. One other form of pixel interleave is none at all. That is, each channel appears in a sub-image by itself. This form of pixelinterleave is called separate.the table below shows what each of the pixelinterleave values mean for different color spaces and sample rates: Table 3: Channel Layout pixelinterleave separate RGB RRRR..., then GGGG..., then BBBB... Y/Cr/Cb 4:4:4 YYYY..., then CrCrCr..., then CbCbCb... Y/Cr/Cb 4:2:2 YYYY..., then CrCrCr..., then CbCbCb... Y/Cr/Cb 4:2:0 YYYY..., then CrCrCr..., then CbCbCb... Gray YYYY... ABC RGBRGB... YCrCbY... YCrYCbYCr... not used not used CAB not used CbYCrCbYCr... CbYCrYCbY... not used not used CBA BGRBGR... not used not used not used not used The interlace keyword specifies the type of interlacing used between two fields of a frame. There are really two dimensions to interlacing and these are both expressed in the value of the keyword. The first is whether the interlacing is done line-by-line or field-by-field. Line-interlacing lays out an image so that it is spatially correct and the lines in the file appear as they would on the screen. Field interlacing has the advantage of presenting each field so that it is temporally correct; the first field appears before the second field. Figure 2 rawtektv file format 4 Tektronix Proprietery
5 illustrates field- and line-interlaced images. Note, that the appearance of a field- or line-interlaced file will be identical, this parameter only describes the layout in the file. field 1 field 2 field 1 field 2 field interlaced line interlaced Figure 2: field- and line-interlaced layout The second dimension specifies which field occupies the top spatial line of the display. This is important only because the two big video standards NTSC and PAL do it differently. In NTSC, the first line of the second field occupies the top line of the display. In PAL, the first line of the first field occupies the top line of the display. These two parameters together yield four values for the interlace parameter: Table 4: Values for interlace value layout which field occupies top line bylinetopfieldfirst line-interlaced first field bylinetopfieldsecond line-interlaced second field bypicttopfieldfirst field-interlaced first field bypicttopfieldsecond field-interlaced second field As a convenience, the keyword standard is abbreviation for the keywords size and fps and provides necessary information for the use of the keyword layout, described below. The values implied by standard are shown in table 5. Table 5: Values Implied by Standard standard value implied values NTSC PAL size 720x x576 fps The keyword layout is an abbreviation for color, field1, interlace, interleave, pixbits, pixbytes and sample. Note that it is dependent on another keyword, standard, which must appear before layout. The values implied by layout are shown in table 6. rawtektv file format 5 Tektronix Proprietery
6 Table 6: Values Implied by Layout layout value implied values color field1 interlace abekas NTSC: bypicttopfieldsecond PAL: bypicttopfieldfirst YC firstinmem interleave CAB pixbits 8 pixbytes 1 sample 4:2:2 rec601 NTSC: bylinetopfieldsecond PAL: bylinetopfieldfirst 6. File Header Details The table below shows each of the keywords that may appear in the ascii file header, their meaning and constraints. Table 7: File Header Keywords, Values and Meaning keyword values meaning byteorder 0x the file was created on a little-endian machine, such as Intel 0x10203 the file was created on a big-endian machine, such as Sparc or Alpha bytesperfield positive integer This is used to describe the number of bytes per field when the size of the frame data cannot be calculated; that is, when the value of type is not public. color gray gray-scale color space, one channel of data per image yc, YC yuv, YUV rgb, RGB color difference, sometimes called luma-chroma another color difference used in the PQR algorithm red, green, blue colorspace comment any string used to store arbitrary comments in the file header field1 firstinmem obsolete; the data for field 1 appears before the data for field 2 secondinmem obsolete; opposite of firstinmem fps real number frame rate expressed in frames per second (not fields per second) frames integer number of frames in the file; it is possible that this number is unreliable if the process that created the file terminated abnormally interlace notinterlaced the sequence is not interlaced bylinetopfieldfirst line interlaced, first field occupies top line bylinetopfieldsecond line interlaced, second field occupies top line bypicttopfieldfirst field interlaced, first field occupies top line bypicttopfieldsecond field interlaced, second field occupies top line interleave separate, ABC, CAB, CBA See Frame Data Layout in section 5 and Channel Layout in table 3 rawtektv file format 6 Tektronix Proprietery
7 Table 7: File Header Keywords, Values and Meaning keyword values meaning layout abekas, rec601 See Values Implied by Layout in table 6 pixbits positive integer number of significant bits in each sample; the value must be 8*pixbytes pixbytes positive integer number of bytes in each sample rawtektv must appear alone, without = or a value, on the first line of the header sample 4:4:4, 4:2:2, 4:2:0 see the discussion on sample rate under Frame Data in section 4 sequence block of values See Sequence Summary Values in section 7 size NxM where N and M are positive integers expressing width and height; the x is literal and there must be no space between the numbers and the x. standard NTSC, PAL See Values Implied by Standard in table 5 summaries positive integer specifies the number of summaries that appear before each frame in the file; see Frame Header in section 3. type public All RGB and YC images are considered type=public, which is the default value; hence, the type keyword does not normally appear in the file header. jndlumaprecompute jndchromaprecompute jndcompositeprecompute These values imply that the image data is opaque, defined only for internal use. The image data is the result of preprocessing a type=public sequence for use in the PQR measurement. The keywords color, field1, interlace, interleave, pixbits, pixbytes, size apply to the original sequence and cannot be used to calculate the size of the frame data. In this case, a value for bytesperfield will be present. 7. Sequence Summary Values Sequence summary values do not pertain to the geometry of a sequence, but fall into three categories: single source measurements, such as detected crop, level, gain and shift impairments; multi-source measurements such as PSNR or PQR measurements; and other non-measured information about sequences, such as a Tektronix serial number that may be used in a measurement. Each of the values in a sequence summary is associated with a field, which can be first, second or even both fields. The sequence summary is optional, and if present, appears as a block enclosed in braces, like this (the... are for illustration only): sequence { field=both sequenceid=1... field=first lumalevel= field=second lumalevel= } rawtektv file format 7 Tektronix Proprietery
8 Note that the appearance of a field keyword applies to all values following until another field keyword is encountered. The keywords and values that can appear in a sequence block are listed in table 8. Table 8: Sequence Summary Keywords, Values and Meaning keyword values meaning positive real number psnrluma psnrcomposite psnrcr psnrcb jndluma jndcomposite xshiftluma xshiftcr xshiftcb yshiftluma yshiftcr yshiftcb x y width height lumalevel crlevel cblevel lumagain crgain cbgain originalwidth originalheight positive real number real number non-negative integer real number real number non-negative integer result from a PSNR measurement, only one of these values will appear result from a PQR measurement, only one of these values will appear Specifies the detected shift in each channel (Luma, Cr, Cb) in both horizontal and vertical (x, y). A positive value means that the detected shift is to the right (x) or down (y). Specifies the detected cropping in whole pixels. The x and y specify the offset from the left and top; the width and height specify the size of the uncropped region. Note that x+width must be the sequence width and y+height must be sequence height. Specifies the detected level change in each channel (Luma, Cr, Cb). A positive value means an increased level. Specifies the detected gain change in each channel (Luma, Cr, Cb). A positive value means an increased gain. Specifies the width and height of the original sequence. This typically appears in a measurement output file (sometimes called a map file), and describes the size of the input sequence before the cropping was applied. The is because the map file is frequently reduced to the size of the cropped image. sequenceid non-negative integer Specifies the sequence serial number, used internally to identify the sequence content headerplusbody 1.0 Specifes the that the type of sequence is one with striping in both the header frames and body frames. userdefinedsequence 1.0 Specifies that the sequence id pertains to a user-defined set, not the those supplied by Tektronix. phase 0, 90, 180, 270 Specifies the detected phase of colorburst of the first frame in the sequence. This only appears if the software is aware that the input signal is analog NTSC or PAL. missingfields field list of non-negative integers first second both Specifies holes or missing fields in the sequence. The form is a list of integers, like missingfields={0,1,2} Keywords following this apply to the first field, second field or both fields, respectively. There must be a field assignment made at the start of a sequence summary block. rawtektv file format 8 Tektronix Proprietery
BMP file format. Contents. Pixel storage. The BMP file format, sometimes called bitmap. or DIB file format (for device-independent
1 of 7 BMP file format From Wikipedia, the free encyclopedia Windows Bitmap The BMP file format, sometimes called bitmap File extension:.bmp or.dib or DIB file format (for device-independent MIME type:
More informationEffective Programming in C and UNIX Lab 6 Image Manipulation with BMP Images Due Date: Sunday April 3rd, 2011 by 11:59pm
15-123 Effective Programming in C and UNIX Lab 6 Image Manipulation with BMP Images Due Date: Sunday April 3rd, 2011 by 11:59pm The Assignment Summary: In this assignment we are planning to manipulate
More informationMULTIMEDIA AND CODING
07 MULTIMEDIA AND CODING WHAT MEDIA TYPES WE KNOW? TEXTS IMAGES SOUNDS MUSIC VIDEO INTERACTIVE CONTENT Games Virtual reality EXAMPLES OF MULTIMEDIA MOVIE audio + video COMPUTER GAME audio + video + interactive
More informationCP SC 4040/6040 Computer Graphics Images. Joshua Levine
CP SC 4040/6040 Computer Graphics Images Joshua Levine levinej@clemson.edu Lecture 03 File Formats Aug. 27, 2015 Agenda pa01 - Due Tues. 9/8 at 11:59pm More info: http://people.cs.clemson.edu/ ~levinej/courses/6040
More informationThese notes are designed to provide an introductory-level knowledge appropriate to understanding the basics of digital data formats.
A brief guide to binary data Mike Sandiford, March 2001 These notes are designed to provide an introductory-level knowledge appropriate to understanding the basics of digital data formats. The problem
More informationINF5063: Programming heterogeneous multi-core processors. September 17, 2010
INF5063: Programming heterogeneous multi-core processors September 17, 2010 High data volumes: Need for compression PAL video sequence 25 images per second 3 bytes per pixel RGB (red-green-blue values)
More informationHow to: Objectively Scoring Your Video
How to: Objectively Scoring Your Video Video Clarity, Inc. Version 2.0 A Video Clarity Application Note page 1 of 9 ClearView has the ability objective score the video quality, graph the result, and show
More informationSpecification of the PFS File Format version 1.5
Specification of the PFS File Format version 1.5 October 14, 2008 1 Introduction This document contains a detailed specification of the pfs file format. PFS file format is intended to store in particular
More informationCSE COMPUTER USE: Fundamentals Test 1 Version D
Name:, (Last name) (First name) Student ID#: Registered Section: Instructor: Lew Lowther Solutions York University Faculty of Pure and Applied Science Department of Computer Science CSE 1520.03 COMPUTER
More informationINFS 2150 / 7150 Intro to Web Development / HTML Programming
XP Objectives INFS 2150 / 7150 Intro to Web Development / HTML Programming Designing a Web Page with Tables Create a text table Create a table using the , , and tags Create table headers
More informationData encoding. Lauri Võsandi
Data encoding Lauri Võsandi Binary data Binary can represent Letters of alphabet, plain-text files Integers, floating-point numbers (of finite precision) Pixels, images, video Audio samples Could be stored
More informationPVR File Format. Specification
PVR File Format Public. This publication contains proprietary information which is subject to change without notice and is supplied 'as is' without warranty of any kind. Redistribution of this document
More informationAppendix G C/C++ Notes. C/C++ Coding Style Guidelines Ray Mitchell 475
C/C++ Notes C/C++ Coding Style Guidelines -0 Ray Mitchell C/C++ Notes 0 0 0 0 NOTE G. C/C++ Coding Style Guidelines. Introduction The C and C++ languages are free form, placing no significance on the column
More informationData Representation 1
1 Data Representation Outline Binary Numbers Adding Binary Numbers Negative Integers Other Operations with Binary Numbers Floating Point Numbers Character Representation Image Representation Sound Representation
More informationBMP file format - Wikipedia
Page 1 of 3 Bitmap file header This block of bytes is at the start of the file and is used to identify the file. A typical application reads this block first to ensure that the file is actually a BMP file
More information'UYVY' 4:2:2 Compression Four 8-bit unsigned components (CCIR 601) are packed into one 32-bit little-endian word.
Video Formats This article contains information regarding the organisation of data in video formats supported by Decklink. 'UYVY' 4:2:2 Compression Four 8-bit unsigned components (CCIR 601) are packed
More informationC Language, Token, Keywords, Constant, variable
C Language, Token, Keywords, Constant, variable A language written by Brian Kernighan and Dennis Ritchie. This was to be the language that UNIX was written in to become the first "portable" language. C
More informationWhat is the Box Model?
CSS Box Model What is the Box Model? The box model is a tool we use to understand how our content will be displayed on a web page. Each HTML element appearing on our page takes up a "box" or "container"
More informationAn Introduction to Video Compression in C/C++ Fore June
1 An Introduction to Video Compression in C/C++ Fore June 1 Chapter 1 Image and Video Storage Formats There are a lot of proprietary image and video file formats, each with clear strengths and weaknesses.
More informationData Storage JMU Computer Science Content Teaching Academy 2014
Data Storage JMU Computer Science Content Teaching Academy 2014 Florian Buchholz buchhofp@jmu.edu Abstraction layers to interpret data and information Physical layer Data is physically stored Device BIOS
More informationLecture Coding Theory. Source Coding. Image and Video Compression. Images: Wikipedia
Lecture Coding Theory Source Coding Image and Video Compression Images: Wikipedia Entropy Coding: Unary Coding Golomb Coding Static Huffman Coding Adaptive Huffman Coding Arithmetic Coding Run Length Encoding
More informationBasics of Java: Expressions & Statements. Nathaniel Osgood CMPT 858 February 15, 2011
Basics of Java: Expressions & Statements Nathaniel Osgood CMPT 858 February 15, 2011 Java as a Formal Language Java supports many constructs that serve different functions Class & Interface declarations
More informationCHAPTER 5 VARIABLES AND OTHER BASIC ELEMENTS IN JAVA PROGRAMS
These are sample pages from Kari Laitinen s book "A Natural Introduction to Computer Programming with Java". For more information, please visit http://www.naturalprogramming.com/javabook.html CHAPTER 5
More informationINFS 2150 Introduction to Web Development
INFS 2150 Introduction to Web Development 3. Page Layout Design Objectives Create a reset style sheet Explore page layout designs Center a block element Create a floating element Clear a floating layout
More informationINFS 2150 Introduction to Web Development
Objectives INFS 2150 Introduction to Web Development 3. Page Layout Design Create a reset style sheet Explore page layout designs Center a block element Create a floating element Clear a floating layout
More informationIMAGE COMPRESSION USING FOURIER TRANSFORMS
IMAGE COMPRESSION USING FOURIER TRANSFORMS Kevin Cherry May 2, 2008 Math 4325 Compression is a technique for storing files in less space than would normally be required. This in general, has two major
More informationIntroduction to Video Encoding
Introduction to Video Encoding Preben N. Olsen University of Oslo and Simula Research Laboratory preben@simula.no August 26, 2013 1 / 37 Agenda 1 Introduction Repetition History Quality Assessment Containers
More informationDigital Image Fundamentals. Prof. George Wolberg Dept. of Computer Science City College of New York
Digital Image Fundamentals Prof. George Wolberg Dept. of Computer Science City College of New York Objectives In this lecture we discuss: - Image acquisition - Sampling and quantization - Spatial and graylevel
More informationAvro Specification
Table of contents 1 Introduction...2 2 Schema Declaration... 2 2.1 Primitive Types... 2 2.2 Complex Types...2 2.3 Names... 5 3 Data Serialization...6 3.1 Encodings... 6 3.2 Binary Encoding...6 3.3 JSON
More informationAn Introduction to Digital Video Data Compression in Java. Fore June
An Introduction to Digital Video Data Compression in Java 1 Fore June Chapter 4 Image and Video Storage Formats There are a lot of proprietary image and video file formats, each with clear strengths and
More informationUniversal Format Plug-in User s Guide. Version 10g Release 3 (10.3)
Universal Format Plug-in User s Guide Version 10g Release 3 (10.3) UNIVERSAL... 3 TERMINOLOGY... 3 CREATING A UNIVERSAL FORMAT... 5 CREATING A UNIVERSAL FORMAT BASED ON AN EXISTING UNIVERSAL FORMAT...
More informationMemory and C/C++ modules
Memory and C/C++ modules From Reading #5 and mostly #6 More OOP topics (templates; libraries) as time permits later Program building l Have: source code human readable instructions l Need: machine language
More informationIntroduction to Computer Science (I1100) Data Storage
Data Storage 145 Data types Data comes in different forms Data Numbers Text Audio Images Video 146 Data inside the computer All data types are transformed into a uniform representation when they are stored
More informationMPEG: It s Need, Evolution and Processing Methods
MPEG: It s Need, Evolution and Processing Methods Ankit Agarwal, Prateeksha Suwalka, Manohar Prajapati ECE DEPARTMENT, Baldev Ram mirdha institute of technology (EC) ITS- 3,EPIP SItapura, Jaipur-302022(India)
More informationGroups of two-state devices are used to represent data in a computer. In general, we say the states are either: high/low, on/off, 1/0,...
Chapter 9 Computer Arithmetic Reading: Section 9.1 on pp. 290-296 Computer Representation of Data Groups of two-state devices are used to represent data in a computer. In general, we say the states are
More informationFotoScript: The Language Reference Manual
FotoScript: The Language Reference Manual Matthew Raibert mjr2101@columbia.edu Norman Yung ny2009@columbia.edu James Kenneth Mooney jkm2017@columbia.edu Randall Q Li rql1@columbia.edu October 23, 2004
More information3 Data Storage 3.1. Foundations of Computer Science Cengage Learning
3 Data Storage 3.1 Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: List five different data types used in a computer. Describe how
More information[MS-RDPNSC]: Remote Desktop Protocol: NSCodec Extension
[MS-RDPNSC]: Remote Desktop Protocol: NSCodec Extension Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation
More informationSession 3.1 Objectives Review the history and concepts of CSS Explore inline styles, embedded styles, and external style sheets Understand style
Session 3.1 Objectives Review the history and concepts of CSS Explore inline styles, embedded styles, and external style sheets Understand style precedence and style inheritance Understand the CSS use
More informationUsing animation to motivate motion
Using animation to motivate motion In computer generated animation, we take an object and mathematically render where it will be in the different frames Courtesy: Wikipedia Given the rendered frames (or
More informationECE 417 Guest Lecture Video Compression in MPEG-1/2/4. Min-Hsuan Tsai Apr 02, 2013
ECE 417 Guest Lecture Video Compression in MPEG-1/2/4 Min-Hsuan Tsai Apr 2, 213 What is MPEG and its standards MPEG stands for Moving Picture Expert Group Develop standards for video/audio compression
More informationHow to lay out a web page with CSS
How to lay out a web page with CSS A CSS page layout uses the Cascading Style Sheets format, rather than traditional HTML tables or frames, to organize the content on a web page. The basic building block
More informationDigiPoints Volume 1. Student Workbook. Module 8 Digital Compression
Digital Compression Page 8.1 DigiPoints Volume 1 Module 8 Digital Compression Summary This module describes the techniques by which digital signals are compressed in order to make it possible to carry
More informationMultimedia Systems Image III (Image Compression, JPEG) Mahdi Amiri April 2011 Sharif University of Technology
Course Presentation Multimedia Systems Image III (Image Compression, JPEG) Mahdi Amiri April 2011 Sharif University of Technology Image Compression Basics Large amount of data in digital images File size
More informationpybdg Documentation Release 1.0.dev2 Outernet Inc
pybdg Documentation Release 1.0.dev2 Outernet Inc April 17, 2016 Contents 1 Source code 3 2 License 5 3 Documentation 7 Python Module Index 15 i ii Bitloads, or bit payloads, are compact payloads containing
More informationWireless Communication
Wireless Communication Systems @CS.NCTU Lecture 6: Image Instructor: Kate Ching-Ju Lin ( 林靖茹 ) Chap. 9 of Fundamentals of Multimedia Some reference from http://media.ee.ntu.edu.tw/courses/dvt/15f/ 1 Outline
More informationOptimiData. JPEG2000 Software Development Kit for C/C++ Reference Manual. Version 1.6. from
OptimiData for optimized data handling JPEG2000 Software Development Kit for C/C++ Reference Manual Version 1.6 from 2004-07-29 (Windows and Linux Versions) www.optimidata.com OptimiData JPEG2000 C-SDK
More information1. Introduction to Microsoft Excel
1. Introduction to Microsoft Excel A spreadsheet is an online version of an accountant's worksheet, which can automatically do most of the calculating for you. You can do budgets, analyze data, or generate
More informationC Language Programming
Experiment 2 C Language Programming During the infancy years of microprocessor based systems, programs were developed using assemblers and fused into the EPROMs. There used to be no mechanism to find what
More informationAvro Specification
Table of contents 1 Introduction...2 2 Schema Declaration... 2 2.1 Primitive Types... 2 2.2 Complex Types...2 2.3 Names... 5 2.4 Aliases... 6 3 Data Serialization...6 3.1 Encodings... 7 3.2 Binary Encoding...7
More informationYouTube Break. https://www.youtube.com/watch?v=lvtfd_rj2he
Layout Jeff Avery YouTube Break https://www.youtube.com/watch?v=lvtfd_rj2he Positioning Visual Components Previously, we learned about event handling and model-view-control architecture. Next, we need
More informationVP 729 Command Sets. 1 Serial Configuration: 2 Command Format: - Baud rate:9600(bits per second) - Data bits:8bits - Parity:None - Stop bits:1bit
VP 729 Command Sets 1 Serial Configuration: - Baud rate:9600(bits per second) - Data bits:8bits - Parity:None - Stop bits:1bit 2 Command Format: 2.1 Communication confirm Send Reply 2.2 Set Command CR
More informationInstruction Set Principles and Examples. Appendix B
Instruction Set Principles and Examples Appendix B Outline What is Instruction Set Architecture? Classifying ISA Elements of ISA Programming Registers Type and Size of Operands Addressing Modes Types of
More informationWeek 14. Video Compression. Ref: Fundamentals of Multimedia
Week 14 Video Compression Ref: Fundamentals of Multimedia Last lecture review Prediction from the previous frame is called forward prediction Prediction from the next frame is called forward prediction
More informationElementary Computing CSC 100. M. Cheng, Computer Science
Elementary Computing CSC 100 1 Graphics & Media Scalable Outline & Bit- mapped Fonts Binary Number Representation & Text Pixels, Colors and Resolution Sound & Digital Audio Film & Digital Video Data Compression
More informationINTERNATIONAL TELECOMMUNICATION UNION 4%,%-!4)# 3%26)#%3 4%2-).!, %15)0-%.43!.$ 02/4/#/,3 &/2 4%,%-!4)# 3%26)#%3
INTERNATIONAL TELECOMMUNICATION UNION )454 4 TELECOMMUNICATION (03/93) STANDARDIZATION SECTOR OF ITU 4%,%-!4)# 3%26)#%3 4%2-).!, %15)0-%.43!.$ 02/4/#/,3 &/2 4%,%-!4)# 3%26)#%3 ).&/2-!4)/. 4%#(./,/'9 /0%.
More informationCOMM 2555: Interactive Digital Communication / Spring 2018 Lab 9: Basic layout techniques with CSS
COMM 2555: Interactive Digital Communication / Spring 2018 Lab 9: Basic layout techniques with CSS Goals Practice working with the CSS box model, positioning and layout Step 1. Create your infrastructure
More informationLecture 19 Media Formats
Revision IMS2603 Information Management in Organisations Lecture 19 Media Formats Last week s lectures looked at MARC as a specific instance of complex metadata representation and at Content Management
More informationSlide Set 5. for ENEL 353 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary
Slide Set 5 for ENEL 353 Fall 207 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary Fall Term, 207 SN s ENEL 353 Fall 207 Slide Set 5 slide
More informationReminder: compiling & linking
Reminder: compiling & linking source file 1 object file 1 source file 2 compilation object file 2 library object file 1 linking (relocation + linking) load file source file N object file N library object
More informationCS367 Test 1 Review Guide
CS367 Test 1 Review Guide This guide tries to revisit what topics we've covered, and also to briefly suggest/hint at types of questions that might show up on the test. Anything on slides, assigned reading,
More informationChapter 2 Bits, Data Types, and Operations
Chapter 2 Bits, Data Types, and Operations How do we represent data in a computer? At the lowest level, a computer is an electronic machine. works by controlling the flow of electrons Easy to recognize
More informationComputer and Machine Vision
Computer and Machine Vision Deeper Dive into MPEG Digital Video Encoding January 22, 2014 Sam Siewert Reminders CV and MV Use UNCOMPRESSED FRAMES Remote Cameras (E.g. Security) May Need to Transport Frames
More informationKaleidaGraph Quick Start Guide
KaleidaGraph Quick Start Guide This document is a hands-on guide that walks you through the use of KaleidaGraph. You will probably want to print this guide and then start your exploration of the product.
More informationLaboratoire d'informatique, de Robotique et de Microélectronique de Montpellier Montpellier Cedex 5 France
Video Compression Zafar Javed SHAHID, Marc CHAUMONT and William PUECH Laboratoire LIRMM VOODDO project Laboratoire d'informatique, de Robotique et de Microélectronique de Montpellier LIRMM UMR 5506 Université
More informationCS 4300 Computer Graphics. Prof. Harriet Fell Fall 2012 Lecture 5 September 13, 2012
CS 4300 Computer Graphics Prof. Harriet Fell Fall 2012 Lecture 5 September 13, 2012 1 Today s Topics Vectors review Shirley et al. 2.4 Rasters Shirley et al. 3.0-3.2.1 Rasterizing Lines Shirley et al.
More informationPage 1. Structure of von Nuemann machine. Instruction Set - the type of Instructions
Structure of von Nuemann machine Arithmetic and Logic Unit Input Output Equipment Main Memory Program Control Unit 1 1 Instruction Set - the type of Instructions Arithmetic + Logical (ADD, SUB, MULT, DIV,
More informationHomework Assignment: Sudoku Board
Homework Assignment: Sudoku Board Back Overview of the project This assignment is part of a larger project to create a Sudoku application. Assignment: Sudoku Board Assignment: Sudoku Model Assignment:
More informationIMAGE COMPRESSION. October 7, ICSY Lab, University of Kaiserslautern, Germany
Lossless Compression Multimedia File Formats Lossy Compression IMAGE COMPRESSION 69 Basic Encoding Steps 70 JPEG (Overview) Image preparation and coding (baseline system) 71 JPEG (Enoding) 1) select color
More informationHigh Efficiency Video Coding. Li Li 2016/10/18
High Efficiency Video Coding Li Li 2016/10/18 Email: lili90th@gmail.com Outline Video coding basics High Efficiency Video Coding Conclusion Digital Video A video is nothing but a number of frames Attributes
More informationCopyright Detection System for Videos Using TIRI-DCT Algorithm
Research Journal of Applied Sciences, Engineering and Technology 4(24): 5391-5396, 2012 ISSN: 2040-7467 Maxwell Scientific Organization, 2012 Submitted: March 18, 2012 Accepted: June 15, 2012 Published:
More information[MS-RDPNSC]: Remote Desktop Protocol: NSCodec Extension. Intellectual Property Rights Notice for Open Specifications Documentation
[MS-RDPNSC]: Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation ( this documentation ) for protocols,
More informationSelected coding methods in H.265/HEVC
Selected coding methods in H.265/HEVC Andreas Unterweger Salzburg University of Applied Sciences May 29, 2017 Andreas Unterweger (Salzburg UAS) Selected coding methods in H.265/HEVC May 29, 2017 1 / 22
More informationCSE-1520R Test #1. The exam is closed book, closed notes, and no aids such as calculators, cellphones, etc.
9 February 2011 CSE-1520R Test #1 [B4] p. 1 of 8 CSE-1520R Test #1 Sur / Last Name: Given / First Name: Student ID: Instructor: Parke Godfrey Exam Duration: 45 minutes Term: Winter 2011 The exam is closed
More informationOptimizing A/V Content For Mobile Delivery
Optimizing A/V Content For Mobile Delivery Media Encoding using Helix Mobile Producer 11.0 November 3, 2005 Optimizing A/V Content For Mobile Delivery 1 Contents 1. Introduction... 3 2. Source Media...
More informationENVI Tutorial: Introduction to ENVI
ENVI Tutorial: Introduction to ENVI Table of Contents OVERVIEW OF THIS TUTORIAL...1 GETTING STARTED WITH ENVI...1 Starting ENVI...1 Starting ENVI on Windows Machines...1 Starting ENVI in UNIX...1 Starting
More informationTexture Compression. Jacob Ström, Ericsson Research
Texture Compression Jacob Ström, Ericsson Research Overview Benefits of texture compression Differences from ordinary image compression Texture compression algorithms BTC The mother of all texture compression
More informationCommon File Formats. Need a standard to store images Raster data Photos Synthetic renderings. Vector Graphic Illustrations Fonts
1 Image Files Common File Formats Need a standard to store images Raster data Photos Synthetic renderings Vector Graphic Illustrations Fonts Bitmap Format - Center for Graphics and Geometric Computing,
More informationEZ- ASCII: Language Reference Manual
EZ- ASCII: Language Reference Manual Dmitriy Gromov (dg2720), Feifei Zhong (fz2185), Yilei Wang (yw2493), Xin Ye (xy2190), Joe Lee (jyl2157) Table of Contents 1 Program Definition... 3 2 Lexical Conventions...
More informationDigital Imaging and Communications in Medicine (DICOM) Supplement 61: JPEG 2000 Transfer Syntaxes
1 2 3 5 Digital Imaging and Communications in Medicine (DICOM) 6 7 Supplement 61: JPEG 2000 Transfer Syntaxes 8 9 10 11 12 13 1 15 16 17 18 19 20 DICOM Standards Committee, Working Group Compression 1300
More informationOpenEXR File Layout. Last Update: 04/24/07
OpenEXR File Layout Last Update: 04/24/07 This document gives an overview of the layout of OpenEXR image files as byte sequences. The text assumes that the reader is familiar with OpenEXR terms such as
More informationThis is not yellow. Image Files - Center for Graphics and Geometric Computing, Technion 2
1 Image Files This is not yellow Image Files - Center for Graphics and Geometric Computing, Technion 2 Common File Formats Need a standard to store images Raster data Photos Synthetic renderings Vector
More informationTest Requirement Catalog. Generic Clues, Developer Version
Version 4..0 PART 1: DATA TYPES Test Requirement Catalog SIMPLE DATA TYPES... 4 BOOLEAN... 4 CASES... 4 COUNTS... 5 INTERVALS... 5 [LOW, HIGH] an interval that contains both LOW and HIGH... 6 [LOW, HIGH)
More information5 Control Reference! "! # $ # % " &
5 2 Control Definition Parts Reference Controls are the functional components of the parts which contain them. A control is called by either the Operation Parameter (must be enabled) or by a program. If
More informationCpSc 101, Fall 2015 Lab7: Image File Creation
CpSc 101, Fall 2015 Lab7: Image File Creation Goals Construct a C language program that will produce images of the flags of Poland, Netherland, and Italy. Image files Images (e.g. digital photos) consist
More informationTable of Contents THE ANALYZEAVW IMAGE FILE FORMAT. 1. Organizing a List of DICOM Files page 2
1 Table of Contents 1. Organizing a List of DICOM Files page 2 2. AVW_VolumeFile as a Header to a Single Binary File page 4 3. Organizing a List of Unknown Files page 5 4. AnalyzeAVW Image File Format
More informationObjectives. Connecting with Computer Science 2
Objectives Learn why numbering systems are important to understand Refresh your knowledge of powers of numbers Learn how numbering systems are used to count Understand the significance of positional value
More informationCS 216 Fall 2007 Final Exam Page 1 of 10 Name: ID:
Page 1 of 10 Name: Email ID: You MUST write your name and e-mail ID on EACH page and bubble in your userid at the bottom of EACH page including this page. If you do not do this, you will receive a zero
More informationData Storage. Slides derived from those available on the web site of the book: Computer Science: An Overview, 11 th Edition, by J.
Data Storage Slides derived from those available on the web site of the book: Computer Science: An Overview, 11 th Edition, by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Data Storage Bits
More informationChapter 2. C++ Syntax and Semantics, and the Program Development Process. Dale/Weems 1
Chapter 2 C++ Syntax and Semantics, and the Program Development Process Dale/Weems 1 Chapter 2 Topics Programs Composed of Several Functions Syntax Templates Legal C++ Identifiers Assigning Values to Variables
More informationCS103L PA4. March 25, 2018
CS103L PA4 March 25, 2018 1 Introduction In this assignment you will implement a program to read an image and identify different objects in the image and label them using a method called Connected-component
More informationAdministrivia. Expect new HW out today (functions in assembly!)
Caching 1/25/19 Administrivia Expect new HW out today (functions in assembly!) Memory so far Big array indexed by the memory address accessed by load and store of various types Implicitly assumed: One
More informationFundamentals of Programming Session 8
Fundamentals of Programming Session 8 Instructor: Reza Entezari-Maleki Email: entezari@ce.sharif.edu 1 Fall 2013 These slides have been created using Deitel s slides Sharif University of Technology Outlines
More informationThe Scope of Picture and Video Coding Standardization
H.120 H.261 Video Coding Standards MPEG-1 and MPEG-2/H.262 H.263 MPEG-4 H.264 / MPEG-4 AVC Thomas Wiegand: Digital Image Communication Video Coding Standards 1 The Scope of Picture and Video Coding Standardization
More informationBinary representation and data
Binary representation and data Loriano Storchi loriano@storchi.org http:://www.storchi.org/ Binary representation of numbers In a positional numbering system given the base this directly defines the number
More informationC++ Basics. Lecture 2 COP 3014 Spring January 8, 2018
C++ Basics Lecture 2 COP 3014 Spring 2018 January 8, 2018 Structure of a C++ Program Sequence of statements, typically grouped into functions. function: a subprogram. a section of a program performing
More informationC Concepts - I/O. Lecture 19 COP 3014 Fall November 29, 2017
C Concepts - I/O Lecture 19 COP 3014 Fall 2017 November 29, 2017 C vs. C++: Some important differences C has been around since around 1970 (or before) C++ was based on the C language While C is not actually
More informationData Representation and Networking
Data Representation and Networking Instructor: Dmitri A. Gusev Spring 2007 CSC 120.02: Introduction to Computer Science Lecture 3, January 30, 2007 Data Representation Topics Covered in Lecture 2 (recap+)
More informationMobile Computing Professor Pushpendra Singh Indraprastha Institute of Information Technology Delhi Java Basics Lecture 02
Mobile Computing Professor Pushpendra Singh Indraprastha Institute of Information Technology Delhi Java Basics Lecture 02 Hello, in this lecture we will learn about some fundamentals concepts of java.
More informationRelease notes for version 3.0
Release notes for version 3.0 Important! Create a backup copy of your projects before updating to the new version. Behavior changes 1. Function iferror(expression, expression) behaved incorrectly and has
More information