DOC PREVIEW
Berkeley COMPSCI 150 - Checkpoint 2 Video Encoder

This preview shows page 1-2-3 out of 9 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 9 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

EECS150 Spring 2006 Checkpoint 2 UCB 1 2006 UNIVERSITY OF CALIFORNIA AT BERKELEY COLLEGE OF ENGINEERING DEPARTMENT OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE ASSIGNED: Week of 3/7 DUE: Week of 3/14, 10 minutes after start (xx:20) of your assigned lab section. Checkpoint 2 Video Encoder 1.0 Motivation This checkpoint serves three purposes: 1. Create a video encoder module for use in your painting game 2. Acquaint you with digital video in general and NTSC (TV) in particular 3. Provide your first major FSM design problem With the first goal in mind you should make sure to design your Verilog ahead of time, comment you code and test everything thoroughly. Because you will be keeping and relying on this code for months, it will actually save you many stressful hours to ensure it works well now, rather than when you are about to finish the project. Many of you will be at least reasonably familiar with video as it is used on computer systems, with standard VGA or DVI interfaces, complicated video cards and high-resolution data grade CRT or LCD monitors. In this checkpoint you will be introduced to the far older and more universal world of broadcast video. You will be working with NTSC standard video, as used in the U.S. broadcast TV industry, and in fact on your TV at home. NTSC is a reasonably simple standard, which is widely used and readily available. But one of the primary reasons to use it is that despite advances such as DVI and HDTV, the video standards we will be using (which have survived from the invention of black-and-white television) will continue to affect video for a long time to come. “BECAUSE YOU WILL BE KEEPING AND RELYING ON THIS CODE FOR MONTHS, IT WILL ACTUALLY SAVE YOU MANY STRESSFUL HOURS TO ENSURE IT WORKS WELL NOW, RATHER THAN WHEN YOU ARE ABOUT TO FINISH THE PROJECT” 2.0 Introduction The module you will building for this checkpoint is a simple protocol bridge, connecting a memory structure, in this case a simple ROM-like module, to a byte wide video data stream. The primary responsibilities of your module are: 1. Request the video data to be transmitted a. Must track which line and pixel is being sent when 2. Generate video framing signals a. Start-of-active-video and end-of-active-video (SAV and EAV) signals to delineate row boundariesEECS150 Spring 2006 Checkpoint 2 UCB 2 2006 b. Blanking and field control to indicate what type of data will be sent c. Black data to fill blanking periods 3. Clip the video data to the allowable value range a. Data values less than 0x10 or more than 0xF0 must be clipped 4. Initialize and control the Analog Devices ADV7194 hardware a. The ADV7194 is a digital-to-analog converter which generates analog video signals b. Use I2C to initialize the ADV7194 to the proper mode Your module will be responsible for abstracting away all the complexities of dealing with the ADV7194 and properly framing the data, leaving only the task of supplying valid video data, which for this checkpoint will be provided by a simple ROM-like module to generate a test pattern of solid color bars. 2.1 ITU-R BT.601 Video When television broadcasts were slated to move from black-and-white to color, there was a significant concern over the existing investments in black-and-white sets. Not only were engineers concerned that old TV sets would be unable to receive newer signals, making old equipment useless, but they were worried that signals from older stations would not be received by the new color sets, preventing the adoption and sales of color TVs. As such a compromise was made resulting in the color scheme outlined below. 2.1.1 RGB Coloring & Human Perception The standard color scheme used when dealing with light, as we are in video applications, is based on the three primary colors: Red, Green and Blue. Human eyes have two sets of photoreceptors which detect incoming light: • Rods cannot detect color, but they are very sensitive to brightness • Cones can detect color, but they are significantly less sensitive The primary colors Red, Green and Blue derive from the fact that cones come in three colors: Red, Green and Blue. This means that rather than generating any possible color, it is enough to be able to mix varying proportions of Red, Green and Blue, as our eyes perceive every other color in terms of the RGB proportions in them. Just as important is the relative sensitivity of the rods and cones in our eyes, for example, because cones are not particularly sensitive, it is more than sufficient to store 8bits of intensity for each color in RGB, leading to the widespread use of 24bit color. Less known but even more important is the fact that the rods in our eyes, which are sensitive only to brightness, are much more sensitive. This means that while we can easily perceive slight differences in brightness using our cones, it is more difficult to perceive subtle shades of color. 2.1.2 YUV Coloring As a result of the economic pressures to maintain compatibility between older black and white TVs and the newer color models, as well as the way in which humansEECS150 Spring 2006 Checkpoint 2 UCB 3 2006 perceive light, engineers designed a video format which would transmit intensity, or luminance, and color, or chrominance, separately. This means that instead of storing the Red, Green and Blue content of a pixel in our video, we will store its luminance (Y) or brightness and its red (CR/V) and blue (CB/U) chrominance, or color. Figure 1: RGB/YCRCB with Sub-Sampling As shown above, we also can take advantage of the fact that the cones in the human eye are significantly less sensitive, by storing only half as much color information as brightness information, as shown by the chrominance sub-sampling map in Figure 1. In order to transmit the data serially, it is reduced to pixel pairs, each of them 32bits wide with two luminance (Y) values, and one each of the chrominance values, red (CR) and blue (CB). Line i-1: CB Y CR Y CB Y CR Y CB Y CR Y ... Line i: CB Y CR Y CB Y CR Y CB Y CR Y ... Line i+1: CB Y CR Y CB Y CR Y CB Y CR Y ... 2.2 ITU-R BT.656 Video The ITU-R BT.601 standard outlined above covers how the pixels are sampled digitally and encoded with brightness and color information. The ITU-R BT.656 standard outlines how to organize, frame and transmit the data.EECS150 Spring 2006 Checkpoint 2 UCB 4 2006 Because these video standards are meant to be the digital equivalent of the older analog


View Full Document

Berkeley COMPSCI 150 - Checkpoint 2 Video Encoder

Documents in this Course
Lab 2

Lab 2

9 pages

Debugging

Debugging

28 pages

Lab 1

Lab 1

15 pages

Memory

Memory

13 pages

Lecture 7

Lecture 7

11 pages

SPDIF

SPDIF

18 pages

Memory

Memory

27 pages

Exam III

Exam III

15 pages

Quiz

Quiz

6 pages

Problem

Problem

3 pages

Memory

Memory

26 pages

Lab 1

Lab 1

9 pages

Memory

Memory

5 pages

Load more
Download Checkpoint 2 Video Encoder
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Checkpoint 2 Video Encoder and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Checkpoint 2 Video Encoder 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?