<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Supersampling interpolation in IPP in Intel® Integrated Performance Primitives</title>
    <link>https://community.intel.com/t5/Intel-Integrated-Performance/Supersampling-interpolation-in-IPP/m-p/974622#M20849</link>
    <description>&lt;DIV&gt;Hi all,&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;I am using the IPP (3.0) rotate and resize functions and have wondered about the specific implementation of the IPP_INTER_SUPER supersampling mode. What pixel neighbourhoods are used for computing the output pixel, and is for an e.g. resize operation the interpolation dependent on the resize factors?&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Take downsizing an image as an example: if the original image was sampled according to the Nyquist condition, correctly downsizing it would really require a spatial lowpass filter (to avoid aliasing) prior to interpolation. This could be implemented by evaluating a pixel neighbourhood and using pixel weights based on the distance from the sample location to each contributing pixel. For larger neighbourhoods this would probably be a costly operation, but it would permit to implement an arbitrary spatial frequency transfer function of the lowpass.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;But perhaps "supersampling interpolation" means something quite different after all...&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Thanks for all replies,&lt;/DIV&gt;
&lt;DIV&gt;Daniel&lt;/DIV&gt;</description>
    <pubDate>Tue, 20 Jan 2004 22:32:54 GMT</pubDate>
    <dc:creator>Weiss__Daniel</dc:creator>
    <dc:date>2004-01-20T22:32:54Z</dc:date>
    <item>
      <title>Supersampling interpolation in IPP</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Supersampling-interpolation-in-IPP/m-p/974622#M20849</link>
      <description>&lt;DIV&gt;Hi all,&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;I am using the IPP (3.0) rotate and resize functions and have wondered about the specific implementation of the IPP_INTER_SUPER supersampling mode. What pixel neighbourhoods are used for computing the output pixel, and is for an e.g. resize operation the interpolation dependent on the resize factors?&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Take downsizing an image as an example: if the original image was sampled according to the Nyquist condition, correctly downsizing it would really require a spatial lowpass filter (to avoid aliasing) prior to interpolation. This could be implemented by evaluating a pixel neighbourhood and using pixel weights based on the distance from the sample location to each contributing pixel. For larger neighbourhoods this would probably be a costly operation, but it would permit to implement an arbitrary spatial frequency transfer function of the lowpass.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;But perhaps "supersampling interpolation" means something quite different after all...&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Thanks for all replies,&lt;/DIV&gt;
&lt;DIV&gt;Daniel&lt;/DIV&gt;</description>
      <pubDate>Tue, 20 Jan 2004 22:32:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Supersampling-interpolation-in-IPP/m-p/974622#M20849</guid>
      <dc:creator>Weiss__Daniel</dc:creator>
      <dc:date>2004-01-20T22:32:54Z</dc:date>
    </item>
    <item>
      <title>Re: Supersampling interpolation in IPP</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Supersampling-interpolation-in-IPP/m-p/974623#M20850</link>
      <description>&lt;DIV&gt;Daniel,&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color="#000080" size="2"&gt;
&lt;P&gt;Supersampling interpolation mode for resize functions (only for factors &amp;lt; 1) is implemented as:&lt;BR /&gt;the intensity of destination pixel is equal to sum of intensity of all source pixels given contribution in this destination pixel multiplied on their weights.&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt; Vladimir&lt;/P&gt;&lt;/FONT&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 22 Jan 2004 16:10:59 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Supersampling-interpolation-in-IPP/m-p/974623#M20850</guid>
      <dc:creator>Intel_C_Intel</dc:creator>
      <dc:date>2004-01-22T16:10:59Z</dc:date>
    </item>
    <item>
      <title>Re: Supersampling interpolation in IPP</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Supersampling-interpolation-in-IPP/m-p/974624#M20851</link>
      <description>&lt;P&gt;Hi Vladimir,&lt;/P&gt;
&lt;P&gt;thanks for your reply. Can you be more specific as to how the weights are calculated? As a function of distance to the sample location? If so, what function? Where do the weights reach zero, i.e., what region size is used?&lt;/P&gt;
&lt;P&gt;Thanks for your help,&lt;/P&gt;
&lt;P&gt;Daniel&lt;/P&gt;
&lt;DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Thu, 22 Jan 2004 16:32:39 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Supersampling-interpolation-in-IPP/m-p/974624#M20851</guid>
      <dc:creator>Weiss__Daniel</dc:creator>
      <dc:date>2004-01-22T16:32:39Z</dc:date>
    </item>
    <item>
      <title>Re: Supersampling interpolation in IPP</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Supersampling-interpolation-in-IPP/m-p/974625#M20852</link>
      <description>&lt;DIV&gt;Hi Daniel,&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;I would like to recommend you to take a look to the IPP documentation, in particular, I recommend youread ippiman.pdf file,Annex B, Interpolation in Image Geometric Transform Functions.&lt;/DIV&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;DIV&gt;Regards,&lt;BR /&gt; Vladimir&lt;/DIV&gt;</description>
      <pubDate>Fri, 23 Jan 2004 15:25:54 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Supersampling-interpolation-in-IPP/m-p/974625#M20852</guid>
      <dc:creator>Intel_C_Intel</dc:creator>
      <dc:date>2004-01-23T15:25:54Z</dc:date>
    </item>
    <item>
      <title>Re: Supersampling interpolation in IPP</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Supersampling-interpolation-in-IPP/m-p/974626#M20853</link>
      <description>&lt;P&gt;Hi Vladimir,&lt;/P&gt;
&lt;P&gt;thanks for your response. Is it possible that this annex has only been added to the documentation in IPP version 4 and later? I don't find it in the ippiman.pdf that shipped with our version 3.0 IPP (length 1003 pages), nor do I find any references to this explanatory annex in the appropriate function descriptions (e.g. function Resize, page 12-5 or 533 by Acrobat counting). Is the new documentation available somewhere at the Intel site?&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Daniel&lt;/P&gt;</description>
      <pubDate>Fri, 23 Jan 2004 15:55:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Supersampling-interpolation-in-IPP/m-p/974626#M20853</guid>
      <dc:creator>Weiss__Daniel</dc:creator>
      <dc:date>2004-01-23T15:55:23Z</dc:date>
    </item>
    <item>
      <title>Re: Supersampling interpolation in IPP</title>
      <link>https://community.intel.com/t5/Intel-Integrated-Performance/Supersampling-interpolation-in-IPP/m-p/974627#M20854</link>
      <description>&lt;P&gt;Daniel,&lt;/P&gt;
&lt;P&gt;Yes, It's my mistake, I thought you use IPPv4.0. You are right, this annex was added in documentation for IPP v4.0. There is part of it you are interested, and picture is in attachment.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face="Arial" color="#0037ff" size="5"&gt;Super Sampling&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;&lt;FONT face="Times New Roman" size="3"&gt;
&lt;P align="left"&gt;If the destination image is much smaller than the source image, the above interpolation algorithms may skip some pixels in the source image (that is, these algorithms not necessarily use all source pixels when computing the destination pixels' intensity). In order to use all pixel values of the source image, the &lt;/P&gt;&lt;/FONT&gt;&lt;FONT face="Courier" size="2"&gt;ippiResize &lt;/FONT&gt;&lt;FONT face="Times New Roman" size="3"&gt;and &lt;/FONT&gt;&lt;FONT face="Courier" size="2"&gt;ippiResizeCenter &lt;/FONT&gt;&lt;FONT size="3"&gt;&lt;FONT face="Times New Roman"&gt;functions support the super-sampling algorithm, which is free of &lt;/FONT&gt;&lt;FONT face="Times New Roman"&gt;the above drawback.&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT face="Times New Roman"&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;P&gt;&lt;/P&gt;
&lt;P align="left"&gt;&lt;FONT size="3"&gt;&lt;FONT face="Times New Roman"&gt;The super-sampling algorithm is as follows:&lt;BR /&gt;&lt;/FONT&gt;&lt;FONT face="Times New Roman"&gt;1. Divide the source image's rectangular ROI (or the whole image, if there is no &lt;/FONT&gt;&lt;FONT face="Times New Roman"&gt;ROI) into equal rectangles, each rectangle corresponding to some pixel in the &lt;/FONT&gt;&lt;FONT face="Times New Roman"&gt;destination image. Note that each source pixel is represented by a 1x1 square.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P align="left"&gt;&lt;FONT face="Times New Roman"&gt;2. Compute a weighted sum of source pixel values for all pixels that are contained in &lt;/FONT&gt;&lt;FONT face="Times New Roman"&gt;the rectangle or have a non-zero intersection with the rectangle. If a source pixel is &lt;/FONT&gt;&lt;FONT face="Times New Roman"&gt;fully contained in the rectangle, that pixel's value is taken with weight 1. If the &lt;/FONT&gt;&lt;FONT face="Times New Roman"&gt;rectangle and the source pixel's square have an intersection of area &lt;/FONT&gt;&lt;I&gt;&lt;FONT size="3"&gt;&lt;FONT face="Times New Roman"&gt;a &lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;FONT&gt;&lt;/FONT&gt;&lt;FONT size="3"&gt;&lt;FONT face="Times New Roman"&gt;&amp;lt; 1, that &lt;/FONT&gt;&lt;FONT face="Times New Roman"&gt;pixel's value is taken with weight &lt;/FONT&gt;&lt;/FONT&gt;&lt;I&gt;&lt;FONT size="3"&gt;&lt;FONT face="Times New Roman"&gt;a&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;FONT&gt;&lt;/FONT&gt;&lt;FONT size="3"&gt;&lt;FONT face="Times New Roman"&gt;. &lt;/FONT&gt;&lt;FONT face="Times New Roman"&gt;For each source pixel intersecting with the rectangle, &lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Times New Roman" color="#0037ff" size="3"&gt;Figure B-3 &lt;/FONT&gt;&lt;FONT size="3"&gt;&lt;FONT face="Times New Roman"&gt;shows the &lt;/FONT&gt;&lt;FONT face="Times New Roman"&gt;corresponding weight value.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P align="left"&gt;&lt;FONT face="Times New Roman"&gt;3. To compute the pixel value in the destination image, divide this weighted sum by &lt;/FONT&gt;&lt;FONT face="Times New Roman"&gt;the ratio of the source and destination rectangle areas&lt;/FONT&gt;&lt;/P&gt;&lt;I&gt;&lt;FONT size="3"&gt;
&lt;P align="left"&gt;&lt;FONT face="Times New Roman"&gt;S&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size="1"&gt;&lt;FONT face="Times New Roman"&gt;Src&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;FONT&gt;&lt;/FONT&gt;&lt;FONT face="Times New Roman"&gt;&lt;FONT size="3"&gt;/&lt;/FONT&gt;&lt;I&gt;&lt;FONT size="3"&gt;S&lt;/FONT&gt;&lt;FONT size="1"&gt;Dst &lt;/FONT&gt;&lt;/I&gt;&lt;FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Times New Roman"&gt;&lt;FONT size="3"&gt;= 1/&lt;/FONT&gt;&lt;I&gt;&lt;FONT size="2"&gt;xFactor&lt;/FONT&gt;&lt;/I&gt;&lt;FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT face="Times New Roman"&gt;&lt;FONT size="3"&gt;*&lt;/FONT&gt;&lt;I&gt;&lt;FONT size="2"&gt;yFactor&lt;/FONT&gt;&lt;/I&gt;&lt;FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size="3"&gt;&lt;FONT face="Times New Roman"&gt;.&lt;/FONT&gt;&lt;P&gt;&lt;/P&gt;
&lt;P align="left"&gt;&lt;FONT face="Times New Roman"&gt;Here &lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;I&gt;&lt;FONT size="2"&gt;&lt;FONT face="Times New Roman"&gt;xFactor&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;FONT&gt;&lt;/FONT&gt;&lt;FONT face="Times New Roman"&gt;&lt;FONT size="3"&gt;, and &lt;/FONT&gt;&lt;I&gt;&lt;FO nt="" size="2"&gt;yFactor &lt;/FO&gt;&lt;/I&gt;&lt;/FONT&gt;&lt;FONT size="3"&gt;&lt;FONT face="Times New Roman"&gt;are the parameters of the functions that specify the &lt;/FONT&gt;&lt;FONT face="Times New Roman"&gt;factors by which the &lt;/FONT&gt;&lt;/FONT&gt;&lt;I&gt;&lt;FONT face="Times New Roman" size="3"&gt;x &lt;/FONT&gt;&lt;/I&gt;&lt;FONT&gt;&lt;/FONT&gt;&lt;FONT face="Times New Roman" size="3"&gt;and &lt;/FONT&gt;&lt;I&gt;&lt;FONT face="Times New Roman" size="3"&gt;y &lt;/FONT&gt;&lt;/I&gt;&lt;FONT&gt;&lt;/FONT&gt;&lt;FONT face="Times New Roman" size="3"&gt;dimensions of the source image ROI are changed. &lt;/FONT&gt;&lt;FONT size="3"&gt;&lt;FONT face="Times New Roman"&gt;Note that supersampling interpolation can be used only for &lt;/FONT&gt;&lt;/FONT&gt;&lt;I&gt;&lt;FONT size="2"&gt;&lt;FONT face="Times New Roman"&gt;xFactor&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;FONT&gt;&lt;/FONT&gt;&lt;FONT size="3"&gt;&lt;FONT face="Times New Roman"&gt;&amp;lt;1, and &lt;/FONT&gt;&lt;/FONT&gt;&lt;I&gt;&lt;FONT face="Courier-Oblique" size="2"&gt;yFactor&lt;/FONT&gt;&lt;/I&gt;&lt;FONT&gt;&lt;/FONT&gt;&lt;FONT face="Times New Roman" size="3"&gt;&amp;lt;1.&lt;/FONT&gt;&lt;P&gt;&lt;/P&gt;
&lt;P align="left"&gt;&lt;FONT face="Times New Roman" size="3"&gt;Regards,&lt;BR /&gt; Vladimir&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 23 Jan 2004 16:12:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Integrated-Performance/Supersampling-interpolation-in-IPP/m-p/974627#M20854</guid>
      <dc:creator>Intel_C_Intel</dc:creator>
      <dc:date>2004-01-23T16:12:22Z</dc:date>
    </item>
  </channel>
</rss>

