Recover boolean cells from windowed sums
Jelly, 23 18 bytes
L+’Ø.ṗ+⁴\⁼¥Ƈ⁸ZṢ€Q€

Try it online!
-5 bytes thanks to @Jonathan Allan
Uses [0,1] as ?, [0] as 0, and [1] as 1.
How?
Brute force of all possible boolean matrices.
L+’Ø.ṗ+⁴\⁼¥Ƈ⁸ZṢ€Q€
   Ø.               # [0,1]
     ṗ              # Cartesian power:
L+’                 # Length of answer = length of sums + k - 1
           Ƈ          # Filter by: 
      +⁴\⁼¥             # n-wise overlapping sums are equal to
            ⁸           # the given sums
             Z      # Get the lists of all possibilities for each position (some binary list)
              Ṣ€    # Sort each possibility list (0s then 1s)
                Q€  # Take unique entries from every possibility ([0],[1],or [0,1])