I'm going to do it the simplest way.
1. The tiled background. CSS:
html, body { background-image: url(file path);
background-repeat: repeat;
height: 100%}
2. The image on the center. I'm gonna use a table for this with fixed position:
<table style="height:100%;width:100%; text-align: center; z-index:1; position: fixed; top: 0px; left: 0px;"><tr><td>
<img src="the bigger image path">
</td></tr></table>
The z-index is to assure the proper display order.
3. The content over the the images. I use a div with absolute position and another div to wrap the content and center it:
<div style="z-index:2; position: absolute; top: 0px; left: 0px;">
<div style="width: 600px; margin: auto;">
(Your content)
</div>
</div>