This can be done with a base shape, two array modifiers and two simple deform modifiers controlled by two empties:

Modelling from top view, create with a basic shape that is symmetric on both x & Y axes, so that it can be tiled.

(click on the image to enlarge)
Add an array modifier to repeat the base shape on the X axis.

(click on the image to enlarge)
Add a second array to repeat the shape twice as many times on the Y axis.

(click on the image to enlarge)
Now you need to find the center of the object. To do that apply both array modifiers.
Enter Edit Mode (Tab), select All (A) and press ShiftS and select Cursor to Selected. The 3d cursor will then snap top the center of the array.

(click on the image to enlarge)
Exit Edit Mode (tab) and press CtrlZ twice, so that you undo the cation of applying the modifiers (that will allow you to further refine your base mesh)

(click on the image to enlarge)
Add a new empty and rotate it 90 degrees on the X axis RX90.
Select your base object, add a Simple Deform Modifier, set it on Bend Mode, select the Empty as Origin and set the deform angle to 180

(click on the image to enlarge)
Add a second empty object and rotate it 90 degrees on X and 90 degrees on the Z axes: RX90, RZ90.
Select your base object again and add another *Simple Deform modifier, also set Bend, use as the 2nd empy as origin and make the deformation 360 degrees.

(click on the image to enlarge)
At this point you can further refine the basic shape to suit your needs and also decide if you want to apply the modifiers.
BUT THAT WAS NOT THE QUESTION
The question was how to do this with a 2D texture
Same thing but with a displacement modifier:
Create the tiled texture first:

Import it using **import images as as plane* so that a UV unwrapped plane is created with the dimensions of your texture:

Add some subdivisions in edit mode (W:

Add a displacement modifier.

Set the image to be used as displacement texture ( use the same image used for the plane):

In the displacement modifier set the direction to normal, texture coordinates to UV, select the UV and set the strength of the deformation.

Create your arrays:

And set the simple deform modifiers using the steps outlined earlier:

If your texture seems reversed, then just change the strength to a negative value.
FOR NON REPEATING TEXTURES
The procedure is the same, except that you don't need the array modifiers.
Import the relief image as plane.
Enter edit mode and subdivide it.
If the mesh with the image is wider on the X axis, rotate it 90 degrees in the Z axis, so that the mesh is taller on the Y axis when seen in top view.
Add a displacement modifier.

Add the empties and rotate them,and add simple deform modifiers using the empties as Origin.

Note:
This answer is blatantly based on Leon Cheung's answer here: https://blender.stackexchange.com/a/24053/1853