Browse Prior Art Database

Method for Scaling 240 Video Lines to 288 Lines for Converting from MPEG to H.61 or American Video Systems to European Versions

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

Publishing Venue

IBM

Related People

Smith, DA: AUTHOR

Abstract

Described is the implementation of a set of algorithms used for converting digital video using area weighted averaging techniques for scaling 240 lines to 288 lines.

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

Method for Scaling 240 Video Lines to 288 Lines for Converting from
MPEG to H.61 or American Video Systems to European Versions

      Described is the implementation of a set of algorithms used for
converting digital video using area weighted averaging techniques for
scaling 240 lines to 288 lines.

      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 method whereby an area weighted
averaging scaling technique uses only shift and add operations,
combined with clipping the generated output to perform required scale
up operations.  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.

      The implementation of this scaler uti...