Mouth on a cylindrical/spherical character

I’ve been toying around with a potential animation project for a while, and I’m having trouble with mouths. The issue is that, whereas most characters’ mouths are on a relatively flat front-of-the-face, my two characters are entirely round, and I want the mouth to extend nearly 180° around the face.

The time this really manifests itself is with the “O” phoneme. It is impossible to have the lips pucker up without deforming the character, since bringing the sides of the mouth inward shrinks the entire body inward at that point.

What I really want to be able to do is have this bit of the mash wrap around an invisible base mesh, so when I close the mouth, the circle 'round the body is maintained.
The easiest way to imagine it is if I put an alpha map on a cylinder, and had the mouth have 0 alpha, then if I shrank the mouth patch on the texture, the shape would stay the same. I’d like to do this, but this doesn’t allow lips!

Can anyone think of a way this might be possible?

Cheers, Chris.

I’m not really understanding the talk about using an alpha map. Normally I would suggest you make shape keys for the mouth positions. If the shape key you want can’t be made on the mesh you have, I think the best solution might be to rethink the geometry of your model. Even if the character is perfectly spherical, there are a variety of ways you could model it, depending on what you want the face to be able to do.

You could also take a kind of mister potatohead approach, and use a sphere as your base mesh and then just create a set of lips on a separate mesh which you could then pose with shape keys or with bones, if that was more the sort of style you had in mind.