Concept:Past impossibility is expressed by "could not have".
Explanation:The phrase "Until I heard him myself" refers to a time before hearing him.
At that time, the speaker’s imagining was impossible.
"Could not have" is used to show that something was impossible in the past.
"Did not" only states that the action did not happen, not that it was impossible.
"Should not have" suggests regret or a wrong action, and "will not have" refers to the future.
So the completed sentence is: "Until I heard him myself, I could not have imagined that he said that."
Answer:B. could not have