Is there a function that maps each element of $\mathbb{Q}$ between 0 and 1 to $\mathbb{N}$? Kepler devised a method to enumerate the rational numbers between 0 and 1. This clip from his Harmonices Mundi illustrates the method.

It works like this: Let $m=n=1$. Then $\tfrac{m}{n}$ is the first rational number. The next two are $\tfrac{m}{m+n}$ and $\tfrac{n}{m+n}$. These last two rationals become $m$ and $n$ for the next iteration. Wash, rinse, repeat for eternity. Done.

If we read Kepler's diagram left to right; down to up, the first 10 rationals are:

Suppose we want to know where, say, $\tfrac{6067}{9000}$ appears on that list. We could systematically run through Kepler's tree. Eventually the process will terminate.
But is there a better way to do this? Is there some function that maps each element of $\mathbb{Q}$ between 0 and 1 to $\mathbb{N}$?
EDIT: I'd like to specify that I'd like to know what that function is. I'd like to be able to plug in, say, $\tfrac{3}{8}$, and get the number $10$.

Existence is easy, because both sets are countable.
To construct one, maybe take an easy injection in each direction, and then (try to) mimick (the proof of) Cantor-Schröder-Bernstein (where a bijection is constructed in just that situation).
