There was a 2017 ruling by the US copyright office on this demarcation. But as that ruling explains, pseudocode, even if it cannot be registered for copyright as computer software, can still be copyrighted as text if it contains “expressive” elements. It’s not completely cut-and-dried, therefore, that implementing something from pseudocode is safe (i.e., not a derived work), but the closer the pseudocode is to abstract statements of mathematical fact (and the less like code in any language that can be unambiguously executed by a computer) the safer you are.
Programmers often want the law to function like a computer program, with precise mathematical distinctions between the “algorithm” and the “implementation”, and often propose that it might be susceptible to gotchas like inserting a syntax error to transform source code into pseudocode (another famous example is of people trying to work around the GPL by dynamic linking). But (lawyers have repeatedly told me) the law doesn’t work like that. It is interpreted by human judges (who frown on attempts to game the system with technicalities), has many blurry lines, and you can often get surprising rulings.
Copyright law, unfortunately, is a lot more restrictive than most people seem to think.