clarify my doubt

Discussion in 'Highly Technical' started by sashankteja, Jun 1, 2012.

  1. sashankteja

    sashankteja Junior Member

    Joined:
    Jun 1, 2012
    Messages:
    2
    Likes Received:
    0
    i am new to this forum so my question may be little silly for you
    can anyone explain how video and image is understood by the cpu and how they are displayed on the screen in detail
     
  2. uclabachelor

    uclabachelor Senior member

    Joined:
    Nov 9, 2009
    Messages:
    447
    Likes Received:
    0
    It's a little more complicated than this and I'm sure others that with experience in PCs and graphics field can chime in, but in a nutshell, I/O devices (a monitor is an output device) in a system have their own range of address space mapped to the device.

    Think of the address space like a city: You have special areas in the city that's reserved to perform special tasks, such as city hall. When you need to get a permit, you go to city hall. With the processor, when it needs to update the monitor, it writes data to that address space.

    The address space usually points to an external graphics controller, which provides the physical interface to the monitor, provides memory to store data from the main processor, and does housekeeping to keep everyone happy.

    When the main processor is ready to "draw" on the monitor, it writes data to that special address space. After the burst of data is sent, the graphics controller takes care of the rest. What happens between the graphics controller and the monitor is a separate subject.

    Well, what happens if the processor needs to constantly update the monitor so often that it's tied up doing it and cannot perform other tasks?

    That's where a DMA controller comes in. In this case, instead of writing to the address space that's allocated for the graphics controller, the processor writes to an address space that's dedicated to its own memory. After sending out the data to memory, it tells the DMA controller to copy that data to the graphics controller. The processor is then free to do other tasks.

    Writing to memory and having the DMA controller copy that to the graphics controller has an extra step, but that extra step is a small price to pay for not having to wait to write data to the graphics controller since that is taken care of by the DMA controller!
     
    #2 uclabachelor, Jun 1, 2012
    Last edited: Jun 1, 2012
  3. ZeroRift

    ZeroRift Member

    Joined:
    Apr 13, 2005
    Messages:
    177
    Likes Received:
    0
    To go a bit deeper:

    A processor doesn't really "understand" an image at the hardware level. It only sees the data and memory locations uclabachelor described. The operating system is the part of the computer that understands the difference between an image and, say, a text file, and it is responsible for providing the appropriate instructions to the processor for a given set of data.

    The operating system is not only responsible for drawing its own images (windows loading screens, desktop backgrounds, etc.), but is also responsible for telling the processor how to draw images from applications (web browsers, games, etc.). Those applications talk to the operating system through an API (for example: DirectX), which, in simplest terms, is just a set of commands that both the OS and the application can understand. The operating system then translates commands sent through the API into driver functions, and the drivers, in turn, translate those functions into information the processor can understand.

    So the software / OS is responsible for "understanding" data, while the processor / hardware is responsible for running the OS code and doing what the OS says.

    You could say that the OS is the "brain" of the computer, while the processor / hardware are the muscles and bones of the computer.
     
  4. Modelworks

    Modelworks Lifer

    Joined:
    Feb 22, 2007
    Messages:
    16,237
    Likes Received:
    0
    uclabachelor pretty much summed it up .
    If you really want to understand it in full details you are best starting with the early VGA video cards and looking at what was involved then progressing to things like where cpu are graphics aware.

    What I mean by graphics aware is in a cpu , video used to be just any other data, the cpu processed it the same way it processed a text document, it was just bits and bytes. Processors now have progressed to the point where they understand that data being sent is video data, not just bits from a text document, they have special instructions in the hardware to better process that information.

    If you look at the older computers, the ones common in the home during the 1980's you can see the process of getting video onto a screen was really simple. .

    All of those type of task now are integrated into a video controller chip so the main cpu is free to do other things, but even today people still find use in the old method of generating a video signal. For example it is possible to get a $3 chip and program it to output graphics to a display using the same timing technique from the 1980's.
    Here is some examples with code that show how a cpu can be used to generate video for a display. In these the cpu is doing all the work, there is no video chips used, just re-purposing what the cpu already has in hardware.

    http://www.javiervalcarce.eu/wiki/TV_Video_Signal_Generator_with_Arduino
    http://geoffg.net/Pong.html
    http://www.pic24.ru/doku.php/en/osa/articles/vga_game
    http://www.micro-examples.com/public/microex-navig/doc/089-pic-pal-tv
     
  5. sashankteja

    sashankteja Junior Member

    Joined:
    Jun 1, 2012
    Messages:
    2
    Likes Received:
    0
    thanks for the info regarding video if a file is of size some mb or gb wat does it exactly contain in that
     
  6. BrightCandle

    BrightCandle Diamond Member

    Joined:
    Mar 15, 2007
    Messages:
    4,763
    Likes Received:
    0
    I would recommend reading a book called "Code". Its not about programming code but the codes in use in computers and I think you'll find that quite interesting.

    Computers are all about finding mappings from some human concept to binary. Text is defined with UTF-8 (or earlier ascii), colours are encoded in Red+Green+Blue into 24 bits. An image is just a collection of colours organised so we know which colour goes where. Its all just a "code".
     
  7. Harivenkatesh

    Harivenkatesh Junior Member

    Joined:
    Jun 29, 2012
    Messages:
    1
    Likes Received:
    0
    Hi
    I am searching answer for one question which is a networks shortest paths topic.i.e what is Randomized Discretization and Path Delay Discretization.
    what is descretization error?
    I search in google finally I got it.

    The randomized Discretization cancels out link errors along a path. The path delay Discretization works on the path delays instead of the individual link delays, which eliminates the problem of error accumulation.


    But I got answer but I can't understood please any one explain with one real world example

    thanks in advance