Browse Prior Art Database

Modified Method for Scaling Digital Video from 240 to 288 Lines of Output

IP.com Disclosure Number: IPCOM000114244D
Original Publication Date: 1994-Nov-01
Included in the Prior Art Database: 2005-Mar-28
Document File: 4 page(s) / 158K

Publishing Venue

IBM

Related People

Smith, DA: AUTHOR

Abstract

Described is a modified implementation of a set of algorithms used for converting digital video using algorithms similar to area weighted averaging techniques for scaling 240 lines to 288 lines. A pseudo area weighted averaging scaling technique is explained.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 37% of the total text.

Modified Method for Scaling Digital Video from 240 to 288 Lines of
Output

      Described is a modified implementation of a set of algorithms
used for converting digital video using algorithms similar to area
weighted averaging techniques for scaling 240 lines to 288 lines.  A
pseudo area weighted averaging scaling technique is explained.

      Converting MPEG video to H.261 or converting digitized NTSC
video to PAL or SECCAM video requires converting from 240 lines to
288 lines of video data.  It is possible to leave the new lines
blank, or to scale the video picture up to fill all 288 lines.  The
concept described herein provides a psuedo area weighted averaging
scaling technique uses only shift and add operations to perform the
required scale up operation.  The concept limits the scaling to shift
and add operations and reduces the implementation time required for
the conversion.

      Area weighted averaging is considered to be a common technique
to scale images.  A typical approach used would be to give each pixel
in the original picture an equal weight in the scaled picture, since
each pixel contributes the same amount to the output.  For the
specific case of 240 lines to 288 lines, or a twenty percent
increase, each incoming pixel contributes 120% of its red, green, and
blue color values to the final screen.  Another way of looking at
this method, given input lines A through E, output lines 1 through 6
could be constructed by using the following algorithm:
      Line 1 = Line A
      Line 2 = 0.2*Line A + 0.8*Line B
      Line 3 = 0.4*Line B + 0.6*Line C
      Line 4 = 0.6*Line C + 0.4*Line D
      Line 5 = 0.8*Line D + 0.2*Line E
      Line 6 = Line E

      However, in real time video scaling, the above algorithms would
take too long to compute, since it involves multiplication in
hardware.  However, if the concepts area weighted averaging is used
to scale up to a factor of 1.25, the multiplication can be
eliminated.  Therefore, the weighted averaging algorithm for a scale
factor of 1.25 would be as follows;
      Line 1 = Line A
      Line 2 = 0.25*Line A + 0.75*Line B
      Line 3 = 0.50*Line B + 0.50*Line C
      Line 4 = 0.75*Line C + 0.25*Line D
      Line 5 = Line D

      When stated in terms of shifts (designated by the >> symbols)
and adds, the algorithm becomes as follows:
      Line 1 = Line A
      Line 2 = (Line A > > 2) + (Line B > > 1) + (Line B > > 2)
      Line 3 = (Line B > > 1) + (Line C > > 1)
      Line 4 = (Line C > > 1) + (Line C > > 2) + (Line D > > 2)
      Line 5 = Line D

      Scaling up by a factor of 1.25 yields 300 lines of output for
every 240 lines of input.  It is therefore necessary to "clip" or
"crop" the picture by 12 lines.  This is achieved by clipping twelve
lines at the top or the bottom, or clipping six lines at both the top
and the bottom.  However, if an additional input lin...