One of the most compatible solutions currently available is using SVG. However, the support for svg-based clip-path referenced in css may be limited (possibly only in FF).
This example below demonstrates compatibility with IE9+, Edge, latest Chrome, FF, and Opera.
https://i.sstatic.net/nWCiC.png
http://jsbin.com/lurowa/1/edit?html,css,js,output
<div class="background">
<svg width="250" height="141" viewPort="0 0 250 141" version="1.1" xmlns="http://www.w3.org/2000/svg">
<defs>
<clipPath id="clipping">
<polygon points="3 3, 220 3, 220 60, 240 60, 220 79, 220 138, 3 138"/>
</clipPath>
</defs>
<image x="6" y="6" clip-path="url(#clipping)" width="250" height="141" xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlu ... AOOlUuZ7GMaji3Y//9k="/>
<polygon stroke="white" fill="none" stroke-width="6" points="3 3, 220 3, 220 60, 240 60, 220 79, 220 138, 3 138"/>
</svg>
</div>