Not sure about JAI, but here s the BufferedImage
approach which you might use as an input for JAI. So maybe this works for your usecase
public static BufferedImage[] divide(BufferedImage source) {
// for odd widths or heights, the last row or column will be ignored
// fixing this behaviour is left as an exercise to the eager
int height = source.getHeight() / 2;
int width = source.getWidth() / 2;
return new BufferedImage[] {
source.getSubimage(0, 0, width, height), // top left
source.getSubimage(width, 0, width, height), // top right
source.getSubimage(0, height, width, height), // bottom left
source.getSubimage(width, height, width, height) // bottom right
};
}