COMS3006A CGV Lesson 0b - Introduction to Graphics

COMS3006A CGV Lesson 0b - Introduction to Graphics

Introduction and Course Structure

This section provides an introduction to the course and explains the structure of the course. The instructor mentions that due to protests and late registrations, they will be starting slowly. They also discuss the use of Discord for communication.

Course Introduction

  • The last video was an introductory video about the course.
  • The instructor explains that they are starting slowly due to protests and late registrations.
  • Discord is used as a communication platform for the course.

Chapter 1: Introduction

This section corresponds to chapter one of the textbook. It covers some introductory information about the course.

Content Overview

  • This video corresponds to chapter one of the textbook.
  • There will be another short video corresponding to the first part of chapter two.
  • Students are encouraged to work through these materials.

Lab Practical Session and Tutorial Sessions

This section discusses lab practical sessions, tutorial sessions, and how students can access them through Discord.

Lab Practical Session and Tutorial Sessions

  • Students will have their first lab practical session.
  • Live tutorial sessions with tutors will be scheduled soon.
  • Discord is used for tutorials, with separate text channels for each tutorial group.
  • Tutors will be available online during lab time on Tuesday afternoons.
  • Voice channels in Discord can be used for group discussions during tutorials.

Accessing Discord Channels via VPN

This section provides information on accessing Discord channels using VIT's VPN service.

Accessing Discord Channels via VPN

  • Everyone is expected to join the Discord server.
  • Good news: VIT has added Discord and its services to their list of domains accessible through their VPN service.
  • Text channels and voice channels should now be accessible through VIT's VPN.
  • Data usage for Discord channels will come from the data bundle and VPN connection.

Tutorial Groups and Communication

This section explains how students are divided into tutorial groups and how communication within these groups should take place.

Tutorial Groups and Communication

  • Students are divided into different tutorial groups.
  • A spreadsheet with group information is shared on Moodle.
  • Text channels in Discord correspond to each tutorial group, while voice channels are used for group discussions.
  • Tutors will be online during lab time and encourage students to chat within their tutorial groups.

Lab Time Schedule and Voice Channels

This section provides information on the lab time schedule and using voice channels during tutorials.

Lab Time Schedule and Voice Channels

  • Lab time is split between machine learning (first hour) and touch groups for computer graphics visualization (second hour).
  • An announcement on Moodle will confirm the schedule.
  • During lab time, students should join the voice channel corresponding to their touch group for discussions.
  • Connecting to a voice channel allows for real-time communication with other group members.

Attendance, Data Issues, and Big Blue Button

This section covers attendance, reporting data issues, and the possibility of using Big Blue Button for certain tutorial groups.

Attendance, Data Issues, and Big Blue Button

  • Attendance is important; tutors will take register during tutorials.
  • If unable to attend, students should inform their tutor in advance about any problems they may have.
  • Data usage should not be an issue as VIT's data bundles can be used.
  • If there are multiple students experiencing similar data issues, a separate tutorial group may be created using Big Blue Button (zero-rated platform).
  • Students who prefer this option should inform their tutor so that necessary arrangements can be made.

Conclusion

The transcript provides an introduction to the course, discusses the structure and content of the course, explains how to access Discord channels via VPN, and provides information on tutorial groups and communication. It also covers lab time schedules, voice channels for group discussions, attendance requirements, reporting data issues, and the possibility of using Big Blue Button for certain tutorial groups.

Introduction to Graphics and Color Spaces

In this section, the lecturer introduces the topic of graphics and color spaces. The purpose is to provide an overview of the concepts discussed in the first chapter of the book.

Basics of Pixels and Color Spaces

  • A pixel is a picture element, which is a tiny rectangle or square that serves as the building block of a screen.
  • Screens are made up of thousands or millions of pixels, each representing a single color.
  • The smaller the pixels, the better the quality of the image or video.
  • Each pixel can be controlled individually but can only have a single value, such as red, green, blue, etc.

Additive and Subtractive Color Spaces

  • The most common way to represent colors on screens is through RGB (red, green, blue), which is an additive color space.
  • In additive color space, more red light is added to create different colors.
  • Subtractive color space is used in painting and involves absorbing certain colors to create different shades.
  • Other color spaces include hue saturation value (HSV), where hue represents color, saturation represents purity, and value represents brightness.

Hue Saturation Value Color Space

This section focuses on explaining hue saturation value (HSV) as a color space.

Understanding Hue Saturation Value (HSV)

  • HSV consists of three components: hue (color), saturation (purity), and value (brightness).
  • Hue corresponds to an angle in polar coordinates that represents different colors.
  • Saturation determines how pure or grayish a color appears. Low saturation means more grayness while high saturation means more purity.
  • Value indicates brightness. A high value corresponds to white while a low value corresponds to dark shades.

The transcript does not provide further content beyond this point.

Understanding Color Spaces

In this section, the speaker discusses different color spaces and their complexities. They compare RGB color space to HSL color space and highlight the importance of intuitive representations in computer vision and machine learning.

RGB Color Space

  • The RGB color space is represented by axes for red, green, and blue.
  • It is not very intuitive to understand colors based on specific values of red, green, and blue.
  • Intuitive representation becomes important when working with machine learning on images.

HSL Color Space

  • HSL (Hue Saturation Lightness) is an alternative color space that provides more intuitive descriptions of colors.
  • Each component in HSL can be imagined as a feature.
  • Representation of features and the image itself can change how intuitive these ideas are.

Importance of Color Spaces

  • Different color spaces have different levels of intuitiveness.
  • The choice of color space can impact the interpretation of features in computer vision tasks.
  • Understanding color spaces is crucial for working with images in machine learning applications.

Describing Colors using RGB Values

This section explains how colors are described using RGB values. Each pixel in an image has a single value representing its color intensity for red, green, and blue channels. The concept of pixels and their sizes are also discussed.

Pixel Description

  • Each pixel corresponds to a tiny box on the screen with a single value representing its color.
  • A pixel's color is described by three numbers: intensity of red, intensity of green, intensity of blue.
  • An image with four million pixels would have 3 times 4 million numbers describing the RGB values for each pixel.

Image Representation

  • An image is represented as a matrix of pixels on the screen.
  • Pixels can be turned on and off in different ways using various technologies.
  • The quality of the final image depends on the size of the pixels, with smaller pixels resulting in better image quality.

Grayscale Images

  • Grayscale images or screens only have brightness values for each pixel, without color information.
  • Grayscale values range from 0 to 256, where 256 represents the brightest and 0 represents the darkest pixel.
  • The color gamut of a screen determines the range and quality of colors that can be displayed.

Quality and Color Gamut

This section focuses on the relationship between pixel size, image quality, and color gamut. It explains how advancements in technology allow for better representation of colors and higher-quality images.

Pixel Size and Image Quality

  • As technology improves, pixels become smaller, resulting in better image quality.
  • Smaller pixels make it harder to distinguish individual blocks or pixels when representing curves or fine details.

Color Gamut

  • High-quality screens can display black colors that are very dark and bright colors that are very light.
  • The color gamut refers to the range of colors that a screen can display accurately.
  • Advancements in technology enable the creation of high-quality displays with pure and vibrant colors.

Construction noise was present during this section.

Grayscale and Color Screens

This section discusses the concept of grayscale and color screens, explaining how each pixel corresponds to a light and how different colors are achieved through subpixels.

Grayscale Screens

  • Grayscale screens have every pixel on the screen corresponding to a light that can be on or off, or at varying levels of brightness.
  • The voltage over the light bulb controls the brightness of each pixel.
  • In grayscale screens, there is no concept of subpixels.

Color Screens

  • Color screens have subpixels within each pixel, typically red, green, and blue (RGB).
  • The intensity of each subpixel determines the overall color displayed.
  • By mixing different intensities of RGB, specific colors can be achieved.
  • When viewed from a distance, our eyes perceive the mix of subpixels as a specific color.

Cathode Ray Tube (CRT) Monitors

This section explains CRT monitors, which were used before modern displays like OLEDs and LCDs. It describes how cathode ray tubes work to create images on the screen.

CRT Monitors

  • CRT monitors use cathode ray tubes to display images.
  • Subpixels in CRT monitors consist of red, green, and blue components.
  • An electron beam is shot out from the back of the screen towards different pixels using magnets.
  • The electron beam scans across the screen line by line to create a scan line pattern.
  • As electrons hit chemicals on the screen's surface, pixels start to glow based on their subpixel values.

LCD Displays

This section introduces LCD displays as an advancement from CRT monitors. It explains how LCD displays work with matrices of pixels and backlighting.

LCD Displays

  • LCD displays consist of matrices of pixels with red, green, and blue subpixels.
  • Behind the pixel matrix, there is a bright light source.
  • The LCD grid controls the amount of light passing through each subpixel to create different colors.
  • LCD displays are similar to projectors in terms of how light passes through the pixel matrix.

The transcript does not provide timestamps for every bullet point.

New Section

This section discusses the difference between LCD and LED screens, focusing on backlighting and pixel control.

LCD vs. LED Screens

  • LCD screens have a large backlight behind them that shines light through, resulting in a constant backlight even when displaying black pixels.
  • LED screens use individual LEDs behind an LCD filter for each pixel, allowing for better control of brightness and contrast.
  • LED screens can dim or turn off individual LEDs to achieve darker or black pixels, resulting in improved contrast.
  • The use of individual LEDs per pixel reduces light bleeding and allows for deeper blacks and higher contrast ratios.

New Section

This section recommends watching a video by "The Slow Mo Guys" on YouTube to gain a better understanding of how different types of screens work.

Recommended Video: "The Slow Mo Guys"

  • Watch the 10-minute video by "The Slow Mo Guys" on YouTube to learn more about screen technologies and see demonstrations.
  • The video covers various types of screens, including CRT monitors, LED LCD displays, and LED displays.
  • It provides insights into how these screen technologies function and what they look like in slow motion.

New Section

This section encourages pausing the current video to watch "The Slow Mo Guys" video before continuing with the lecture.

Pause and Watch "The Slow Mo Guys" Video

  • Pause this video and watch "The Slow Mo Guys" video recommended earlier.
  • The link to the video will be provided on Moodle or in the description of this YouTube video.
  • Once you have finished watching, return to this video to continue.

New Section

This section assumes that the viewer has watched "The Slow Mo Guys" video and discusses the fundamental concept of screen technology.

Understanding Screen Technology

  • Assuming you have watched "The Slow Mo Guys" video, you now have a better understanding of how screens work.
  • Regardless of the type of screen (CRT, LCD, LED), the basic idea is to create an image on a computer or graphics card and send it to the screen.
  • The screen then renders the image based on a matrix of colors or brightness values.
  • Older screens like CRT monitors require constant refreshing to maintain their glow, while modern screens like LCDs, LEDs, and OLEDs retain images until changed.
  • Screens refresh at a certain rate (e.g., 30 or 60 times per second) and redraw the image as it changes.

New Section

This section introduces the concept of a frame buffer and its role in displaying images on screens.

Frame Buffer

  • A frame buffer is a block of memory where an image is created on the computer side before being sent to the screen.
  • The frame buffer represents all the pixels that will be displayed on the screen.
  • Drawing operations are performed on this block of memory, which can then be copied onto the screen's internal memory for display.

New Section

This section explains how screens with higher refresh rates handle constructing frames and redrawing images.

Refresh Rates and Redrawing

  • Screens with higher refresh rates (e.g., 30 or 60 times per second) construct frames by drawing lines, shapes, and other elements onto the frame buffer.
  • As the image changes, the screen redraws whatever is in the frame buffer.
  • This allows for smooth transitions and updates on the screen.

New Section

This section concludes the lecture by summarizing the fundamental concept of screen technology and frame buffers.

Recap

  • The fundamental concept of all screens is to create an image on a computer or graphics card and send it to the screen for rendering.
  • Different types of screens (CRT, LCD, LED) have varying methods of displaying images, but they all rely on a frame buffer as an intermediate step.
  • The frame buffer is a block of memory where images are constructed before being copied onto the screen for display.

The transcript does not provide timestamps beyond this point.

Understanding Visual Artifacts in Computer Graphics

In this section, the speaker discusses visual artifacts in computer graphics and introduces the concept of double buffering.

Visual Artifacts and Tearing

  • Visual artifacts occur when an old version of a frame is seen alongside a new version halfway through.
  • High refresh rates in gaming can reduce the likelihood of visual artifacts.
  • Tearing is one type of visual artifact that can be observed during fast movements.

Double Buffering

  • Double buffering involves using two separate buffers to draw frames.
  • Buffer A contains the current image displayed on the screen, while Buffer B is used for drawing.
  • The process involves drawing everything to Buffer B, then flipping the buffers to display the updated image on Buffer A.
  • This technique helps avoid visual artifacts by ensuring smooth transitions between frames.

Frame Buffers and Flipping

This section explains the concept of frame buffers and how flipping between buffers helps in displaying images smoothly.

Frame Buffers and Flipping

  • Frame buffers are blocks of memory used to store images for display.
  • Double buffering involves drawing an entire frame on a back buffer before flipping it with the front buffer.
  • Flipping refers to switching which buffer is being drawn to and which one is displayed on the screen.
  • By continuously flipping between buffers, smooth animation without visual artifacts can be achieved.

Raster vs Vector Graphics

The speaker introduces raster graphics and vector graphics as two different approaches to representing images.

Raster Graphics

  • Raster graphics represent images as matrices of pixels on a screen or image file.
  • Each pixel has a specific color or brightness value assigned to it.
  • Rasterization refers to the process of painting individual pixels to create an image.
  • Raster graphics focus on remembering the individual pixel values rather than the structure of the image.

Vector Graphics

  • Vector graphics represent images using mathematical descriptions of shapes and objects.
  • Instead of storing pixel values, vector graphics store information about the components that make up an image.
  • This allows for infinite zooming without loss of quality, as shapes are defined by their mathematical properties.

The transcript continues with further discussions on vector graphics and rasterization.

New Section

This section discusses the difference between raster graphics and vector graphics, their characteristics, and how they are used in displaying images.

Raster Graphics vs Vector Graphics

  • Raster graphics are made up of pixels and represent images as a grid of colored blocks. They can become blurry when zoomed in and lose image quality due to compression artifacts.
  • Vector graphics use mathematical equations to represent shapes and lines. They can be scaled without losing quality and allow for easy manipulation of individual components.
  • Fonts are often represented as vectors, allowing for precise rendering at different sizes.
  • Rasterization is the process of converting vector graphics into raster graphics for display purposes.
  • In raster graphics, objects are represented by coloring individual blocks of pixels, while in vector graphics, objects are described by their shape using lines, curves, and primitives like rectangles or circles.
  • Vector graphics provide more flexibility but can be complex to describe natural images with many details. Natural images are usually represented as raster graphics, while logos and computer-generated images tend to be vector-based.

New Section

This section highlights the challenges of representing natural images using vector graphics.

Representing Natural Images with Vector Graphics

  • Describing natural scenes with primitives like lines and circles becomes complex in vector graphics.
  • Natural images typically rely on raster graphics due to their complexity and level of detail.

The transcript does not provide further sections or timestamps beyond this point.

[t=0:42:46s] Raster vs Vector Graphics

This section discusses the difference between raster and vector graphics, using examples and visuals to illustrate the concepts.

Raster Graphics

  • Raster graphics are made up of pixels.
  • Each pixel has a specific color value.
  • Examples of raster graphics include bitmaps (BMP), PNGs, and JPEGs.
  • These formats store a matrix of colors to represent the image.

Vector Graphics

  • Vector graphics use mathematical descriptions of shapes.
  • Primitives like lines, curves, and arcs are used to create images.
  • Scalable Vector Graphics (SVG) is a popular format for vector graphics.
  • Other formats like Encapsulated PostScript (EPS) and PDF also support vector graphics.

Painting vs Drawing

  • Painting involves adding color to an existing canvas or image.
  • It is similar to working with raster graphics.
  • Drawing involves creating shapes using primitives in a vector graphic sense.
  • Shapes are described mathematically and can be scaled or transformed easily.

Compression in Images and Videos

  • Uncompressed images and videos can take up a lot of storage space.
  • Different compression schemes are used to reduce file sizes.
  • Lossless compression retains all information without quality loss (e.g., Huffman coding).
  • Lossy compression sacrifices some details for smaller file sizes (e.g., H.264).

[t=0:43:22s] Additional File Formats

This section introduces additional file formats commonly used for graphics, including EPS, PDF, and compressed video formats.

Additional File Formats

Encapsulated PostScript (EPS)

  • EPS is a format used in LaTeX documents for representing drawings or figures.

Portable Document Format (PDF)

  • PDF files can contain vector-based representations of drawings or figures.

Compressed Video Formats

  • Storing uncompressed videos can result in massive file sizes.
  • Compressed video formats like H.264 significantly reduce file sizes without noticeable quality loss.

[t=0:46:39s] Importance of Compression

This section emphasizes the importance of compression in managing storage space for images and videos.

Storage Space Considerations

  • Uncompressed images and videos can quickly fill up storage drives.
  • Recording 4K resolution videos at 25 frames per second resulted in large file sizes (45-50 MB per frame).
  • Compressing these videos using H.264 reduced the size to around 200-250 MB for an hour and a half-long video.

Lossless vs Lossy Compression

  • Huffman coding is an example of lossless compression, where no information is lost.
  • Lossy compression sacrifices some details to achieve smaller file sizes.
  • Different types of compression schemes are used depending on the specific requirements.

The transcript provided does not include any timestamps beyond this point.

Lossless and Lossy Compression in Music

In this section, the speaker discusses the concept of lossless and lossy compression using music as an example.

Lossless Compression (WAV files)

  • Lossless compression refers to a compression method where the original waveform is preserved.
  • WAV files are an example of lossless compression in music.
  • Humans may not notice or hear very high frequencies that are included in lossless compression.
  • Storing all this extra information becomes unnecessary if humans cannot perceive it.

Playback Device and Sound System

  • The quality of playback devices and sound systems affects the reproduction of original sounds.
  • Expensive sound systems with multiple drivers can recreate original sounds with various frequencies, resulting in rich sound quality.
  • However, when using small headphones or low-quality speakers, certain frequencies may be missing or not reproduced accurately.
  • Encoding high-quality information becomes pointless if the playback device cannot reproduce it effectively.

Lossy Compression (MP3 files)

  • MP3 files are a good example of lossy compression in music.
  • In MP3 compression, unnecessary high frequencies that humans wouldn't hear or reproduce are discarded.
  • Only the frequencies that matter are stored, resulting in a more compressed representation of the original data.
  • Reconstruction from these stored frequencies may have slight approximation errors but generally goes unnoticed by listeners.

Lossy and Lossless Compression in Images

This section focuses on lossy and lossless compression techniques used for images, specifically JPEG and PNG formats.

JPEG (Lossy Compression)

  • JPEG is an excellent example of lossy image compression.
  • As the quality of a JPEG image decreases, its file size reduces significantly.
  • JPEG uses discrete cosine transform to convert images into frequency domains and discards high-frequency information deemed less important for human perception.
  • Lower quality JPEG images may appear blurry and exhibit block artifacts due to compression.

PNG (Lossless Compression)

  • PNG is an example of lossless image compression.
  • PNG files retain the exact quality of the original image but have larger file sizes compared to JPEG.
  • Lossless compression ensures no data is lost during the compression process.

Hierarchical Modeling and Coordinate Systems

This section introduces hierarchical modeling and coordinate systems used in complex image drawing.

Hierarchical Modeling

  • Hierarchical modeling involves creating complex images by breaking them down into smaller components.
  • A car can be modeled as an example, where individual parts are placed within a coordinate system specific to the car itself.
  • The car's coordinate system can then be placed within another coordinate system representing the scene or environment.

Coordinate Systems

  • Coordinate systems are used to position, orient, and size objects within a scene.
  • Moving an entire coordinate system allows for easy manipulation of objects without individually adjusting each component.
  • Hierarchical modeling simplifies complex drawings by focusing on manipulating coordinate systems rather than individual elements.

New Section

This section discusses the concept of coordinate systems in 3D modeling and the hierarchy of objects within a scene.

Coordinate Systems and Transformations

  • A car has its own coordinate system, as does the world itself.
  • The world coordinate system is chosen for convenience in representing the scene.
  • Transformations are used to convert between different object coordinate systems and the world coordinate system.
  • Each object in the scene has its own coordinate system, such as one for the fridge, microwave, couch, etc.
  • Hierarchical modeling involves placing objects within each other and then into the world coordinate system.

New Section

This section explains how linear algebra is used for transformations in 3D modeling.

Linear Algebra and Transformations

  • Linear algebra plays a crucial role in performing transformations between different coordinate systems.
  • Modeling transformations are used to place object coordinate systems inside each other and into the world.
  • Another set of transformations is performed to ensure that the camera captures the scene from the desired angle and perspective.
  • Additional transformations include normalizing size, orientation, and view of the scene.

New Section

This section discusses geometric modeling in 3D scenes using vector graphics.

Geometric Modeling with Primitives

  • Geometric modeling involves working with points, line segments, and triangles as fundamental primitives.
  • Different graphics processing systems provide various geometric primitives beyond these three basics.
  • The simplicity or complexity of available primitives depends on the level of abstraction provided by a graphics system.

New Section

This section explores hierarchical modeling and defines geometric primitives.

Hierarchical Modeling and Coordinate System

  • Hierarchical modeling involves creating objects that are part of other objects in a hierarchical structure.
  • Geometric primitives, such as points, line segments, and triangles, are defined by a specific number of points.
  • The world coordinate system in 3D modeling typically uses x, y, and z axes.

The transcript is already in English.

Video description

Introduction to Computer Graphics Chapter 1 - http://math.hws.edu/graphicsbook/c1/index.html The Slow Mo Guys - How a TV Works in Slow Motion - https://youtu.be/3BJU2drrtCM Raster vs Vector Graphics - https://youtu.be/1vUG2AbZTnI