rawtektv, Version 1.0: A File Format For Storing Video Sequences

Size: px
Start display at page:

Download "rawtektv, Version 1.0: A File Format For Storing Video Sequences"

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

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 information

Effective Programming in C and UNIX Lab 6 Image Manipulation with BMP Images Due Date: Sunday April 3rd, 2011 by 11:59pm

Effective 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 information

MULTIMEDIA AND CODING

MULTIMEDIA 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 information

CP SC 4040/6040 Computer Graphics Images. Joshua Levine

CP 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 information

These notes are designed to provide an introductory-level knowledge appropriate to understanding the basics of digital data formats.

These 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 information

INF5063: Programming heterogeneous multi-core processors. September 17, 2010

INF5063: 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 information

How to: Objectively Scoring Your Video

How 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 information

Specification of the PFS File Format version 1.5

Specification 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 information

CSE COMPUTER USE: Fundamentals Test 1 Version D

CSE 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 information

INFS 2150 / 7150 Intro to Web Development / HTML Programming

INFS 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 information

Data encoding. Lauri Võsandi

Data 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 information

PVR File Format. Specification

PVR 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 information

Appendix G C/C++ Notes. C/C++ Coding Style Guidelines Ray Mitchell 475

Appendix 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 information

Data Representation 1

Data 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 information

BMP file format - Wikipedia

BMP 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.

'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 information

C Language, Token, Keywords, Constant, variable

C 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 information

What is the Box Model?

What 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 information

An Introduction to Video Compression in C/C++ Fore June

An 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 information

Data Storage JMU Computer Science Content Teaching Academy 2014

Data 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 information

Lecture Coding Theory. Source Coding. Image and Video Compression. Images: Wikipedia

Lecture 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 information

Basics of Java: Expressions & Statements. Nathaniel Osgood CMPT 858 February 15, 2011

Basics 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 information

CHAPTER 5 VARIABLES AND OTHER BASIC ELEMENTS IN JAVA PROGRAMS

CHAPTER 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 information

INFS 2150 Introduction to Web Development

INFS 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 information

INFS 2150 Introduction to Web Development

INFS 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 information

IMAGE COMPRESSION USING FOURIER TRANSFORMS

IMAGE 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 information

Introduction to Video Encoding

Introduction 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 information

Digital 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 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 information

Avro Specification

Avro 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 information

An Introduction to Digital Video Data Compression in Java. Fore June

An 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 information

Universal 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 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 information

Memory and C/C++ modules

Memory 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 information

Introduction to Computer Science (I1100) Data Storage

Introduction 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 information

MPEG: It s Need, Evolution and Processing Methods

MPEG: 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 information

Groups 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,...

Groups 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 information

FotoScript: The Language Reference Manual

FotoScript: 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 information

3 Data Storage 3.1. Foundations of Computer Science Cengage Learning

3 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 [MS-RDPNSC]: Remote Desktop Protocol: NSCodec Extension Intellectual Property Rights Notice for Open Specifications Documentation Technical Documentation. Microsoft publishes Open Specifications documentation

More information

Session 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 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 information

Using animation to motivate motion

Using 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 information

ECE 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 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 information

How to lay out a web page with CSS

How 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 information

DigiPoints Volume 1. Student Workbook. Module 8 Digital Compression

DigiPoints 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 information

Multimedia Systems Image III (Image Compression, JPEG) Mahdi Amiri April 2011 Sharif University of Technology

Multimedia 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 information

pybdg Documentation Release 1.0.dev2 Outernet Inc

pybdg 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 information

Wireless Communication

Wireless 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 information

OptimiData. JPEG2000 Software Development Kit for C/C++ Reference Manual. Version 1.6. from

OptimiData. 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 information

1. Introduction to Microsoft Excel

1. 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 information

C Language Programming

C 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 information

Avro Specification

Avro 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 information

YouTube Break. https://www.youtube.com/watch?v=lvtfd_rj2he

YouTube 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 information

VP 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: 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 information

Instruction Set Principles and Examples. Appendix B

Instruction 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 information

Week 14. Video Compression. Ref: Fundamentals of Multimedia

Week 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 information

Elementary Computing CSC 100. M. Cheng, Computer Science

Elementary 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 information

INTERNATIONAL TELECOMMUNICATION UNION 4%,%-!4)# 3%26)#%3 4%2-).!, %15)0-%.43!.$ 02/4/#/,3 &/2 4%,%-!4)# 3%26)#%3

INTERNATIONAL 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 information

COMM 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 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 information

Lecture 19 Media Formats

Lecture 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 information

Slide 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 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 information

Reminder: compiling & linking

Reminder: 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 information

CS367 Test 1 Review Guide

CS367 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 information

Chapter 2 Bits, Data Types, and Operations

Chapter 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 information

Computer and Machine Vision

Computer 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 information

KaleidaGraph Quick Start Guide

KaleidaGraph 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 information

Laboratoire d'informatique, de Robotique et de Microélectronique de Montpellier Montpellier Cedex 5 France

Laboratoire 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 information

CS 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 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 information

Page 1. Structure of von Nuemann machine. Instruction Set - the type of Instructions

Page 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 information

Homework Assignment: Sudoku Board

Homework 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 information

IMAGE COMPRESSION. October 7, ICSY Lab, University of Kaiserslautern, Germany

IMAGE 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 information

High Efficiency Video Coding. Li Li 2016/10/18

High 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 information

Copyright Detection System for Videos Using TIRI-DCT Algorithm

Copyright 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]: 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 information

Selected coding methods in H.265/HEVC

Selected 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 information

CSE-1520R Test #1. The exam is closed book, closed notes, and no aids such as calculators, cellphones, etc.

CSE-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 information

Optimizing A/V Content For Mobile Delivery

Optimizing 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 information

ENVI Tutorial: Introduction to ENVI

ENVI 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 information

Texture Compression. Jacob Ström, Ericsson Research

Texture 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 information

Common File Formats. Need a standard to store images Raster data Photos Synthetic renderings. Vector Graphic Illustrations Fonts

Common 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 information

EZ- ASCII: Language Reference Manual

EZ- 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 information

Digital Imaging and Communications in Medicine (DICOM) Supplement 61: JPEG 2000 Transfer Syntaxes

Digital 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 information

OpenEXR File Layout. Last Update: 04/24/07

OpenEXR 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 information

This is not yellow. Image Files - Center for Graphics and Geometric Computing, Technion 2

This 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 information

Test Requirement Catalog. Generic Clues, Developer Version

Test 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 information

5 Control Reference! "! # $ # % " &

5 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 information

CpSc 101, Fall 2015 Lab7: Image File Creation

CpSc 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 information

Table of Contents THE ANALYZEAVW IMAGE FILE FORMAT. 1. Organizing a List of DICOM Files page 2

Table 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 information

Objectives. Connecting with Computer Science 2

Objectives. 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 information

CS 216 Fall 2007 Final Exam Page 1 of 10 Name: ID:

CS 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 information

Data 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. 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 information

Chapter 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 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 information

CS103L PA4. March 25, 2018

CS103L 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 information

Administrivia. Expect new HW out today (functions in assembly!)

Administrivia. 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 information

Fundamentals of Programming Session 8

Fundamentals 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 information

The Scope of Picture and Video Coding Standardization

The 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 information

Binary representation and data

Binary 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 information

C++ Basics. Lecture 2 COP 3014 Spring January 8, 2018

C++ 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 information

C Concepts - I/O. Lecture 19 COP 3014 Fall November 29, 2017

C 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 information

Data Representation and Networking

Data 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 information

Mobile 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 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 information

Release notes for version 3.0

Release 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