You could use CSS3 animations. Do note that it isn't supported in all browsers. You can view browser adoption here: http://caniuse.com/css-animation .
For browsers like IE9 you could use a static image instead to gradually decrease user experience for older browsers.
I wrote up a little example of how to animate the background position with CSS, I'm infinitely looping the Google logo as a background image from top to bottom: http://jsfiddle.net/xMMct/
In your case it's up to you to position the background image as such that it appears to be scrolling endlessly.
Css code:
.background {
background-image: url(https://www.google.nl/images/srpr/logo11w.png);
width: 200px;
height: 500px;
background-size: 200px auto;
background-repeat: no-repeat;
background-position: 0% -20%;
animation:bg 5s linear infinite;
-webkit-animation:bg 5s linear infinite;
}
@keyframes bg
{
from {background-position: 0% -20%;}
to {background-position: 0% 120%;}
}
@-webkit-keyframes bg /* Safari and Chrome */
{
from {background-position: 0% -20%;}
to {background-position: 0% 120%;}
}
Here's another fiddle where the background appears to be scrolling endlessly (do forgive to little skip every 5 seconds, the values aren't perfect) http://jsfiddle.net/xMMct/1/
Edit: Better example (no skips) http://jsfiddle.net/xMMct/2/