The rule of thumb for me is whether or not I'll ever want to treat the individual elements like individual elements WHILE they are in the database.
I.e. if you might want to select all the pictures that are smaller than a certain size, by a particular author, or in a certain catagory, then those things should be separate fields in the database. Whatever parts you'll never need to treat like parts until after it's out of the database, you can usually mush together.
The killer is when you THINK you want need them as individual elements, and then later on you do, and you have to rewire your application.
So make sure of your requirements of possible future requirements before you design your database schema.