What data do you want to transfer? Why do you want to use HDMI to send it?
Simple control messages an be sent via CEC, usually selecting channels, adjusting volume and so on. I think HDMI 1.4 includes an Ethernet channel but according to this topic Raspberry Pi doesn't support it.
It might work for other devices though and you may be able to find a splitter/injector that allows access to the Ethernet wires in the HDMI cable.

If you have an HDMI capture device that can grab an image from HDMI you can encode any data into a display format and decode it at the other end. It's doubtful that would be worth doing though and RasPi can't receive HDMI. Some USB3 adaptors can capture it on a fast PC.

What sort of data? Image data, no. The I2C is too slow unless the images are tiny. Statistics could be sent, but why use the HDMI? There are two other I2C ports, a UART, or you could use a USB serial device.

Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Please direct all questions to the forum, I do not do support via PM.

You really need to say what you want to achieve to get useful answers.
You want to sand camera images? Still images or live video? At what resolution and frame rate?
You can certainly send camera data to HDMI and get a live preview on a TV or monitor. If you connect the HDMI to a capture device on a PC you can maybe do something else with it.

In general you are probably best off taking the H264 data stream from the camera / GPU and transmitting that over Ethernet or WiFi or writing it to SD card or USB storage. That's the normal thing. If it doesn't suit you then please tell us why not.

You can send any data you like over i2c, but it's slow and can't keep up with live video from the camera unless you use a very low resolution.