Every device on the Internet must have an IP address (this is what they need to find one another). For devices to communicate directly across the Internet they need a public IP address. Therefore A public IP address is an IP address that can be 'found' by any device on the Internet. A public IP address is unique on the Internet.
Alternatively there are private IP addresses which are used on private networks (for example your home or office network). If an IP address is in the following range, then it is a private IP.
From 10.0.0.0 to 10.255.255.255
From 172.16.0.0 to 172.31.255.255
From 192.168.0.0 to 192.168.255.255
Private IP address can not be used directly on the Internet and need a NAT to translate them to a public IP address. This NAT translation is troublesome for VoIP.