If your server supports SNI (Server Name Indication), then you don't need a dedicated IP. The browser support for SNI is pretty good these days.
If your server doesn't support SNI, then yes; you need one dedicated IP address per certificate.
Since the SSL/TLS handshake happens before any HTTP headers (most notably the host header) are sent, there's no way that the web-server could know which certificate to send. You can host multiple domains/subdomains on one ip/port using a SAN or wildcard certificate certificate but you'd still need at least one dedicated IP.
For more details, see http://blogs.iis.net/thomad/archive/2008/01/25/ssl-certificates-on-sites-with-host-headers.aspx