Is the camera moving? If not, this will be much easier. Basically, you just need a shot of the wall, and digitally place the picture into the shot. Then animate the picture disappearing. You could animate the opacity for the most simple way to do it. You could use a gradient map transition for some more complexity.
- The Great Szalam
(The 'Great' stands for 'Not So Great, in fact, Extremely Humble')
No trees were harmed in the creation of this message, but several thousand electrons were mildly inconvenienced.
If the camera is moving, then you can use a similar approach:
1. Use Photoshop to create a "patch" that will cover the portrait. This will probably go beyond the portrait itself, as there will be shadows from the portrait that it will cover as well, plus you will probably want to feather the edges a bit....
2. Use MochaAE to do a planar track of the portrait itself. This should produce the necessary movement information to match your patch to the wall. If your camera is on a tripod, then a simple position/rotation/scale track will be enough. If the camera is moving (handheld, on a dolly track, etc) then you'll need to export corner-pin information and match things up that way -- a bit trickier, but still doable.
3. Rotoscope out any foreground elements (the guy's head, if it gets in front of the picture, for instance).
When a client comes to me with this kind of shot in mind, it's difficult to say up-front how much work it will take. There are significant variables that, generally, the client hasn't taken into account: is the camera moving? Are there people or other objects obscuring the object? Does the light shift over the course of the shot (shadows from tree leaves outside a window, or something crazy, like a disco ball)? Sometimes the person in the foreground has wild hair, and most of the time is spent trying to make a clean roto of that alone.... (In which case it would have been smarter to put green on the wall, and fake both the picture and the blank wall....)