How to lerp a child towards parent position while parent is moving

I have a camera which is a child of my playerObject. The camera is always looking at the player in a 90 degree angle and is always on the same side of the player (like in Valkyrie Profile 2). This stuff already works.
The problem now is that i want the movement of the camera to be lerped when it follows the player.

Do you want to follow the player with some delay? If so, set the camera’s position/rotation in LateUpdate (camera script):

public speed: float = 5.0;

private relPos: Vector3;
private target: Transform;
private tr: Transform;

function Start(){
  tr = transform; // cache camera transform in tr
  relPos = tr.localPosition; // get initial relative position
  target = tr.parent; // our target is the current parent (the player)
  tr.parent = null; // unchild the camera - it will move by itself
}

function LateUpdate(){
  // find the destination position in world space:
  var destPos: Vector3 = target.TransformPoint(relPos);
  // lerp to it each frame:
  tr.position = Vector3.Lerp(tr.position, destPos, speed * Time.deltaTime);
  // keep your eyes on the target
  tr.LookAt(target);
}

The camera was detached from the player just to avoid wasting time with child movement since this will be done in LateUpdate anyway. If the camera must be a child of the player for other reasons, however, just delete the last instruction in Start.