<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Notes about low latency video</title>
	<atom:link href="http://www.schleef.org/blog/2009/03/27/notes-about-low-latency-video/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.schleef.org/blog/2009/03/27/notes-about-low-latency-video/</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Mon, 12 Dec 2011 22:37:25 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
	<item>
		<title>By: Gregory Maxwell</title>
		<link>http://www.schleef.org/blog/2009/03/27/notes-about-low-latency-video/comment-page-1/#comment-2395</link>
		<dc:creator>Gregory Maxwell</dc:creator>
		<pubDate>Tue, 07 Apr 2009 20:22:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.schleef.org/blog/2009/03/27/notes-about-low-latency-video/#comment-2395</guid>
		<description>If someone is looking for a fun project— &lt;a href=&quot;http://www3.elphel.com/&quot; rel=&quot;nofollow&quot;&gt;Elphel&lt;/a&gt; makes a line of fully open-hardware video cameras.  They use a CMOS sensor with an electronic rolling shutter. The image data is streamed into a FPGA, where on-chip demosasicing and jpeg compression is performed. The verilog for the FPGA is available.

If someone was interested they could have these fairly inexpensive cameras producing output with a few scanlines latency with some development work.</description>
		<content:encoded><![CDATA[<p>If someone is looking for a fun project— <a href="http://www3.elphel.com/" rel="nofollow">Elphel</a> makes a line of fully open-hardware video cameras.  They use a CMOS sensor with an electronic rolling shutter. The image data is streamed into a FPGA, where on-chip demosasicing and jpeg compression is performed. The verilog for the FPGA is available.</p>
<p>If someone was interested they could have these fairly inexpensive cameras producing output with a few scanlines latency with some development work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jean-Marc Valin</title>
		<link>http://www.schleef.org/blog/2009/03/27/notes-about-low-latency-video/comment-page-1/#comment-2392</link>
		<dc:creator>Jean-Marc Valin</dc:creator>
		<pubDate>Thu, 02 Apr 2009 00:04:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.schleef.org/blog/2009/03/27/notes-about-low-latency-video/#comment-2392</guid>
		<description>Being involved in low-delay audio transmission (through CELT and other projects), I also got interested in low-delay video transmission. After all, it&#039;s no use having a conference with a low-delay audio codec if your video path has 200 ms delay (either audio and video are out of sync or you have to delay the audio). It turns out that systems that work on whole frames are basically hopeless for low-delay video. In your example above of 60 ms encoder-decoder delay, the problem is that there&#039;s a lot of other delays that need to be added. Even a &quot;perfect&quot; one-frame-at-a-time camera will have 30 ms delay, then the display side will have another 30 ms at least. Then you&#039;ll have another ~30 ms for the network buffer. At last, the general idea of compressing is to have a size that&#039;s close to your network bandwidth. When that&#039;s the case, then the time it takes to transfer an entire frame is also 30 ms. Add to that the speed of light, maybe 10 ms if you&#039;re close, and you get a total of *at least* 160 ms. In practice, it&#039;ll be very hard to go below 200 ms with that kind of approach.

So not only do we need input and output hardware that works on scan lines, but we also need codecs that can handle that. As far as I understand (I could be wrong), the Theora bit-stream requires the encoder to have seen the entire frame before it can output anything. That&#039;s a fundamental limitation that Dirac does not have. The standard version of Dirac will still have a delay of several lines because of the vertical wavelet transform, but not that bad. IIRC Dirac Pro can use a simpler Haar transform that adds less delay.</description>
		<content:encoded><![CDATA[<p>Being involved in low-delay audio transmission (through CELT and other projects), I also got interested in low-delay video transmission. After all, it&#8217;s no use having a conference with a low-delay audio codec if your video path has 200 ms delay (either audio and video are out of sync or you have to delay the audio). It turns out that systems that work on whole frames are basically hopeless for low-delay video. In your example above of 60 ms encoder-decoder delay, the problem is that there&#8217;s a lot of other delays that need to be added. Even a &#8220;perfect&#8221; one-frame-at-a-time camera will have 30 ms delay, then the display side will have another 30 ms at least. Then you&#8217;ll have another ~30 ms for the network buffer. At last, the general idea of compressing is to have a size that&#8217;s close to your network bandwidth. When that&#8217;s the case, then the time it takes to transfer an entire frame is also 30 ms. Add to that the speed of light, maybe 10 ms if you&#8217;re close, and you get a total of *at least* 160 ms. In practice, it&#8217;ll be very hard to go below 200 ms with that kind of approach.</p>
<p>So not only do we need input and output hardware that works on scan lines, but we also need codecs that can handle that. As far as I understand (I could be wrong), the Theora bit-stream requires the encoder to have seen the entire frame before it can output anything. That&#8217;s a fundamental limitation that Dirac does not have. The standard version of Dirac will still have a delay of several lines because of the vertical wavelet transform, but not that bad. IIRC Dirac Pro can use a simpler Haar transform that adds less delay.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: romulo</title>
		<link>http://www.schleef.org/blog/2009/03/27/notes-about-low-latency-video/comment-page-1/#comment-2387</link>
		<dc:creator>romulo</dc:creator>
		<pubDate>Sun, 29 Mar 2009 15:29:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.schleef.org/blog/2009/03/27/notes-about-low-latency-video/#comment-2387</guid>
		<description>The guys at OnLive conference didn&#039;t mean 1ms latency on the video compression. What they said is that since players &quot;clients&quot; run on the same computer, they will see no lag between themselves. Its not about video streaming, its about how players interact with each other inside the server.</description>
		<content:encoded><![CDATA[<p>The guys at OnLive conference didn&#8217;t mean 1ms latency on the video compression. What they said is that since players &#8220;clients&#8221; run on the same computer, they will see no lag between themselves. Its not about video streaming, its about how players interact with each other inside the server.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

