{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/jpeg-artifact-correction-using-denoising","title":"JPEG Artifact Correction using Denoising Diffusion Restoration Models","arxiv_id":"2209.11888","date":"2022-09-23","proceeding":null,"authors":["Bahjat Kawar","Jiaming Song","Stefano Ermon","Michael Elad"],"abstract":"Diffusion models can be used as learned priors for solving various inverse problems. However, most existing approaches are restricted to linear inverse problems, limiting their applicability to more general cases. In this paper, we build upon Denoising Diffusion Restoration Models (DDRM) and propose a method for solving some non-linear inverse problems. We leverage the pseudo-inverse operator used in DDRM and generalize this concept for other measurement operators, which allows us to use pre-trained unconditional diffusion models for applications such as JPEG artifact correction. We empirically demonstrate the effectiveness of our approach across various quality factors, attaining performance levels that are on par with state-of-the-art methods trained specifically for the JPEG restoration task.","url_abs":"https://arxiv.org/abs/2209.11888v2","url_pdf":"https://arxiv.org/pdf/2209.11888v2.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"jpeg-artifact-correction-using-denoising","repo_url":"https://github.com/bahjat-kawar/ddrm-jpeg","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"denoising","task_name":"Denoising"},{"task_slug":"jpeg-artifact-correction","task_name":"JPEG Artifact Correction"}],"methods":[{"method_slug":"diffusion","method_name":"Diffusion"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2209.11888","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2209.11888"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"deterministic:regex_extraction","url":"https://github.com/bahjat-kawar/ddrm-jpeg","reach":null}],"summary":{"ran":1,"ran_fixture":5,"ran_honours":2,"unverified":4},"by_repo_kind":{"official":{"samples":12,"ran":8,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"83de7816bfa9183b","entry":"LinearDCT","repo":"bahjat-kawar/ddrm-jpeg","repo_kind":"official","path":"functions/denoising.py","file_url":"https://github.com/bahjat-kawar/ddrm-jpeg/blob/HEAD/functions/denoising.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"83de7816bfa9183b"}},{"code_sha256_prefix":"53d2d220125f7625","entry":"chroma_subsample","repo":"bahjat-kawar/ddrm-jpeg","repo_kind":"official","path":"functions/denoising.py","file_url":"https://github.com/bahjat-kawar/ddrm-jpeg/blob/HEAD/functions/denoising.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"53d2d220125f7625"}},{"code_sha256_prefix":"a480f97ef83e404c","entry":"dct","repo":"bahjat-kawar/ddrm-jpeg","repo_kind":"official","path":"functions/denoising.py","file_url":"https://github.com/bahjat-kawar/ddrm-jpeg/blob/HEAD/functions/denoising.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a480f97ef83e404c"}},{"code_sha256_prefix":"da6285845af0208c","entry":"general_quant_matrix","repo":"bahjat-kawar/ddrm-jpeg","repo_kind":"official","path":"functions/denoising.py","file_url":"https://github.com/bahjat-kawar/ddrm-jpeg/blob/HEAD/functions/denoising.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"da6285845af0208c"}},{"code_sha256_prefix":"400de335db9bf7d0","entry":"idct","repo":"bahjat-kawar/ddrm-jpeg","repo_kind":"official","path":"functions/denoising.py","file_url":"https://github.com/bahjat-kawar/ddrm-jpeg/blob/HEAD/functions/denoising.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"400de335db9bf7d0"}},{"code_sha256_prefix":"5c29fc50bc4b62ae","entry":"quantization_matrix","repo":"bahjat-kawar/ddrm-jpeg","repo_kind":"official","path":"functions/denoising.py","file_url":"https://github.com/bahjat-kawar/ddrm-jpeg/blob/HEAD/functions/denoising.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":"well_formed","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"5c29fc50bc4b62ae"}},{"code_sha256_prefix":"d6921cde0083f064","entry":"torch_rgb2ycbcr","repo":"bahjat-kawar/ddrm-jpeg","repo_kind":"official","path":"functions/denoising.py","file_url":"https://github.com/bahjat-kawar/ddrm-jpeg/blob/HEAD/functions/denoising.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d6921cde0083f064"}},{"code_sha256_prefix":"1a97ae3490446b38","entry":"torch_ycbcr2rgb","repo":"bahjat-kawar/ddrm-jpeg","repo_kind":"official","path":"functions/denoising.py","file_url":"https://github.com/bahjat-kawar/ddrm-jpeg/blob/HEAD/functions/denoising.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1a97ae3490446b38"}},{"code_sha256_prefix":"42feee19aa225758","entry":"apply_linear_2d","repo":"bahjat-kawar/ddrm-jpeg","repo_kind":"official","path":"functions/denoising.py","file_url":"https://github.com/bahjat-kawar/ddrm-jpeg/blob/HEAD/functions/denoising.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"42feee19aa225758"}},{"code_sha256_prefix":"9e1d374e9bf8e1fa","entry":"dct1","repo":"bahjat-kawar/ddrm-jpeg","repo_kind":"official","path":"functions/denoising.py","file_url":"https://github.com/bahjat-kawar/ddrm-jpeg/blob/HEAD/functions/denoising.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9e1d374e9bf8e1fa"}},{"code_sha256_prefix":"3db7b46e31fd839b","entry":"idct1","repo":"bahjat-kawar/ddrm-jpeg","repo_kind":"official","path":"functions/denoising.py","file_url":"https://github.com/bahjat-kawar/ddrm-jpeg/blob/HEAD/functions/denoising.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3db7b46e31fd839b"}},{"code_sha256_prefix":"1344948a13004f5f","entry":"jpeg_steps","repo":"bahjat-kawar/ddrm-jpeg","repo_kind":"official","path":"functions/denoising.py","file_url":"https://github.com/bahjat-kawar/ddrm-jpeg/blob/HEAD/functions/denoising.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1344948a13004f5f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}