JPEG仍然是最广泛使用的有损图像编码方法之一。然而,JPEG的不可微性限制了其在深度学习流程中的应用。最近提出了几种可微分的JPEG近似方法来解决这个问题。本文对现有的可微分JPEG方法进行了全面的回顾,并确定了之前方法中遗漏的关键细节。为此,我们提出了一种新颖的可微分JPEG方法,克服了之前的限制。我们的方法对输入图像、JPEG质量、量化表和颜色转换参数都是可微分的。我们评估了我们的可微分JPEG方法的前向和反向性能,并与现有方法进行了广泛的对比实验。此外,我们进行了广泛的消融实验,以评估关键的设计选择。我们提出的可微分JPEG方法最接近(非可微分)参考实现,平均比最近最好的可微分方法提高了3.47dB(PSNR)。对于强压缩率,我们甚至可以提高9.51dB的PSNR。我们的可微分JPEG方法产生了强大的对抗攻击结果,证明了有效的梯度逼近。我们的代码可在https://github.com/necla-ml/Diff-JPEG上获取。