Most IC engines are nowhere near the carnot limit, which is around 60%-70% in most cases. The majority of the efficiency losses come from excessive heat rejection in the engine block and also mass transfer in the exhaust. Most engine blocks are (in)conveniently made out of aluminum, which has a very high thermal conductivity, meaning more energy gets transferred to the cylinder walls and wasted during combustion.
As a mechanical engineer, this engine design seems much more promising, however: http://liquidpiston.com/