partially loading an huge image

how do i go about partially loading in a huge image?

I need away to only work on certain portion of an image.(JPEG peferably or PNG if necessary)

I want to programmatically split an image up into smaller blocks so i can perform some image filters on these blocks.

currently i have to read in the entire image which requires 117.1875 memory alone. (the JVM seems to need 512M to even load the image)

Any ideas?